Home | History | Annotate | Download | only in src

Lines Matching defs:handler

1113   //    JavaScript handler for a finally-block might re-throw to top-level.
1114 // 2) External v8::TryCatch exists: Only create a message if the handler
1148 // handler is present:
1197 // Wasm code, we unwind the handlers until the top ENTRY handler is found.
1200 // Compute handler and stack unwinding information by performing a full walk
1205 // For JSEntryStub frames we always have a handler.
1207 StackHandler* handler = frame->top_handler();
1209 // Restore the next handler.
1210 thread_local_top()->handler_ = handler->next()->address();
1212 // Gather information from the handler.
1214 handler_sp = handler->address() + StackHandlerConstants::kSize;
1241 // For optimized frames we perform a lookup in the handler table.
1272 // For interpreted frame we perform a range lookup in the handler table.
1282 // materialized by the deoptimizer. If there is a handler frame
1289 // position of the exception handler. The special builtin below will
1291 // the correct context for the handler from the interpreter register.
1304 // For JavaScript frames we are guaranteed not to find a handler.
1317 // Handler must exist.
1337 // This optimized frame will catch. It's handler table does not include
1338 // exception prediction, and we need to use the corresponding handler
1381 Address entry_handler = Isolate::handler(thread_local_top());
1384 // Search for an exception handler by performing a full walk over the stack.
1388 // For JSEntryStub frames we update the JS_ENTRY handler.
1393 // For JavaScript frames we perform a lookup in the handler table.
1404 // external handler which is on top of the top-most JS_ENTRY handler.
1412 // Handler not found.
1447 void Isolate::RestorePendingMessageFromTryCatch(v8::TryCatch* handler) {
1448 DCHECK(handler == try_catch_handler());
1449 DCHECK(handler->HasCaught());
1450 DCHECK(handler->rethrow_);
1451 DCHECK(handler->capture_message_);
1452 Object* message = reinterpret_cast<Object*>(handler->message_obj_);
1458 void Isolate::CancelScheduledExceptionFromTryCatch(v8::TryCatch* handler) {
1460 if (scheduled_exception() == handler->exception_) {
1464 if (thread_local_top_.pending_message_obj_ == handler->message_obj_) {
1653 // For uncatchable exceptions, the JavaScript handler cannot be on top.
1656 // Get the top-most JS_ENTRY handler, cannot be on top if it doesn't exist.
1657 Address entry_handler = Isolate::handler(thread_local_top());
1660 // Get the address of the external handler so we can compare the address to
1666 // external handler which is on top of the top-most JS_ENTRY handler.
1678 // Get the address of the external handler so we can compare the address to
1683 // For uncatchable exceptions, the external handler is always on top.
1686 // Get the top-most JS_ENTRY handler, cannot be on top if it doesn't exist.
1687 Address entry_handler = Isolate::handler(thread_local_top());
1691 // external handler which is on top of the top-most JS_ENTRY handler.
1705 // Try to propagate the exception to an external v8::TryCatch handler. If
1721 // handler is on top.
1724 // Only report the exception if the external handler is verbose.
1782 // external handler.
1828 bool PromiseHandlerCheck(Isolate* isolate, Handle<JSReceiver> handler,
1836 // Otherwise, this is a real reject handler for the Promise.
1838 Handle<Object> forwarding_handler = JSReceiver::GetDataProperty(handler, key);
1854 // in an async function, then it has a user-defined reject handler.
1914 // Find the top-most try-catch or try-finally handler.
2571 v8::TryCatch* handler = try_catch_handler();
2574 handler->can_continue_ = true;
2575 handler->has_terminated_ = false;
2576 handler->exception_ = pending_exception();
2580 handler->message_obj_ = thread_local_top_.pending_message_obj_;