Home | History | Annotate | Download | only in src

Lines Matching refs:Handle

251 bool Isolate::IsDeferredHandle(Object** handle) {
256 // We iterate through all the blocks to see whether the argument handle
265 if (blocks->at(i) <= handle && handle < block_limit) return true;
284 Handle<String> Isolate::StackTraceString() {
292 Handle<String> stack_trace = accumulator.ToString(this);
315 Handle<String> trace = StackTraceString();
330 StackTraceHelper(Isolate* isolate, FrameSkipMode mode, Handle<Object> caller)
410 const Handle<Object> caller_;
418 Handle<Object> TheHoleToUndefined(Isolate* isolate, Handle<Object> in) {
420 ? Handle<Object>::cast(isolate->factory()->undefined_value())
425 Handle<JSObject> error = isolate->error_function();
427 Handle<String> key = isolate->factory()->stackTraceLimit_string();
428 Handle<Object> stack_trace_limit = JSReceiver::GetDataProperty(error, key);
438 Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object,
440 Handle<Object> caller) {
447 Handle<FrameArray> elements = factory()->NewFrameArray(initial_size);
467 Handle<JSFunction> fun = summ.function();
472 Handle<Object> recv = frames[i].receiver();
473 Handle<AbstractCode> abstract_code = summ.abstract_code();
497 Handle<JSFunction> fun = handle(exit_frame->function(), this);
502 Handle<Object> recv(exit_frame->receiver(), this);
503 Handle<Code> code(exit_frame->LookupCode(), this);
512 Handle<AbstractCode>::cast(code),
518 Handle<WasmInstanceObject> instance(wasm_frame->wasm_instance(), this);
521 Handle<AbstractCode> abstract_code(AbstractCode::cast(code), this);
556 Handle<JSReceiver> error_object) {
559 Handle<Name> key = factory()->detailed_stack_trace_symbol();
560 Handle<JSArray> stack_trace = CaptureCurrentStackTrace(
571 Handle<JSReceiver> error_object, FrameSkipMode mode,
572 Handle<Object> caller) {
574 Handle<Name> key = factory()->stack_trace_symbol();
575 Handle<Object> stack_trace =
584 Handle<JSArray> Isolate::GetDetailedStackTrace(Handle<JSObject> error_object) {
585 Handle<Name> key_detailed = factory()->detailed_stack_trace_symbol();
586 Handle<Object> stack_trace =
588 if (stack_trace->IsJSArray()) return Handle<JSArray>::cast(stack_trace);
589 return Handle<JSArray>();
632 Handle<JSObject> NewStackFrameObject(FrameSummary& summ) {
636 return Handle<JSObject>::null();
639 Handle<JSObject> NewStackFrameObject(
641 Handle<JSObject> stack_frame =
643 Handle<Script> script = Handle<Script>::cast(summ.script());
652 handle(Smi::FromInt(info.column + 1), isolate_),
656 handle(Smi::FromInt(info.line + 1), isolate_),
662 handle(Smi::FromInt(script->id()), isolate_), NONE);
667 handle(script->name(), isolate_), NONE);
671 Handle<Object> result(script->GetNameOrSourceURL(), isolate_);
677 Handle<Object> is_eval = factory()->ToBoolean(
683 Handle<String> fun_name = summ.FunctionName();
688 Handle<Object> is_constructor_obj =
696 Handle<JSObject> NewStackFrameObject(BuiltinExitFrame* frame) {
697 Handle<JSObject> stack_frame =
699 Handle<JSFunction> fun = handle(frame->function(), isolate_);
701 Handle<Object> fun_name = JSFunction::GetDebugName(fun);
711 Handle<JSObject> NewStackFrameObject(
713 Handle<JSObject> stack_frame =
717 Handle<WasmCompiledModule> compiled_module(
719 Handle<String> name = WasmCompiledModule::GetFunctionName(
742 handle(Smi::FromInt(script_id), isolate_), NONE);
752 Handle<String> column_key_;
753 Handle<String> line_key_;
754 Handle<String> script_id_key_;
755 Handle<String> script_name_key_;
756 Handle<String> script_name_or_source_url_key_;
757 Handle<String> function_key_;
758 Handle<String> eval_key_;
759 Handle<String> constructor_key_;
762 Handle<JSArray> Isolate::CaptureCurrentStackTrace(
769 Handle<JSArray> stack_trace = factory()->NewJSArray(frame_limit);
770 Handle<FixedArray> stack_trace_elems(
786 Handle<JSObject> new_frame_obj = helper.NewStackFrameObject(frames[i]);
859 void Isolate::ReportFailedAccessCheck(Handle<JSObject> receiver) {
869 Handle<Object> data;
877 data = handle(access_check_info->data(), this);
887 bool Isolate::MayAccess(Handle<Context> accessing_context,
888 Handle<JSObject> receiver) {
905 // avoid using Isolate::native_context() because it uses Handle.
917 Handle<Object> data;
924 data = handle(access_check_info->data(), this);
946 Handle<JSFunction> fun = range_error_function();
947 Handle<Object> msg = factory()->NewStringFromAsciiChecked(
949 Handle<Object> no_caller;
950 Handle<Object> exception;
1016 void ReportBootstrappingException(Handle<Object> exception,
1048 Handle<String> src(String::cast(location->script()->source()));
1075 Handle<Object> exception_handle(exception, this);
1081 Handle<Script> script = location->script();
1082 Handle<Object> name(script->GetNameOrSourceURL(), this);
1144 Handle<Object> message_obj = CreateMessage(exception_handle, location);
1311 // TODO(clemensh): Handle unwinding interpreted wasm frames (stored in the
1343 Handle<AbstractCode> code = summary.AsJavaScript().abstract_code();
1485 Handle<Object> receiver(frame->receiver(), this);
1486 Handle<JSFunction> function(frame->function(), this);
1487 Handle<AbstractCode> code(AbstractCode::cast(frame->LookupCode()), this);
1492 Handle<String> line = site.ToString().ToHandleChecked();
1511 Handle<SharedFunctionInfo> shared;
1512 Handle<Object> script = summary.script();
1524 shared = handle(summary.AsJavaScript().function()->shared());
1526 *target = MessageLocation(Handle<Script>::cast(script), pos, pos + 1, shared);
1531 Handle<Object> exception) {
1534 Handle<Name> start_pos_symbol = factory()->error_start_pos_symbol();
1535 Handle<Object> start_pos = JSReceiver::GetDataProperty(
1536 Handle<JSObject>::cast(exception), start_pos_symbol);
1538 int start_pos_value = Handle<Smi>::cast(start_pos)->value();
1540 Handle<Name> end_pos_symbol = factory()->error_end_pos_symbol();
1541 Handle<Object> end_pos = JSReceiver::GetDataProperty(
1542 Handle<JSObject>::cast(exception), end_pos_symbol);
1544 int end_pos_value = Handle<Smi>::cast(end_pos)->value();
1546 Handle<Name> script_symbol = factory()->error_script_symbol();
1547 Handle<Object> script = JSReceiver::GetDataProperty(
1548 Handle<JSObject>::cast(exception), script_symbol);
1551 Handle<Script> cast_script(Script::cast(*script));
1558 Handle<Object> exception) {
1560 Handle<Name> key = factory()->stack_trace_symbol();
1561 Handle<Object> property =
1562 JSReceiver::GetDataProperty(Handle<JSObject>::cast(exception), key);
1564 Handle<JSArray> simple_stack_trace = Handle<JSArray>::cast(property);
1566 Handle<FrameArray> elements(FrameArray::cast(simple_stack_trace->elements()));
1571 Handle<WasmCompiledModule> compiled_module(
1592 Handle<Script> script(compiled_module->script());
1598 Handle<JSFunction> fun = handle(elements->Function(i), this);
1608 Handle<Script> casted_script(Script::cast(script));
1617 Handle<JSMessageObject> Isolate::CreateMessage(Handle<Object> exception,
1619 Handle<JSArray> stack_trace_object;
1627 GetDetailedStackTrace(Handle<JSObject>::cast(exception));
1734 Handle<JSMessageObject> message(JSMessageObject::cast(message_obj), this);
1735 Handle<JSValue> script_wrapper(JSValue::cast(message->script()), this);
1736 Handle<Script> script(Script::cast(script_wrapper->value()), this);
1750 Handle<JSMessageObject> message_obj(
1752 Handle<JSValue> script_wrapper(JSValue::cast(message_obj->script()), this);
1753 Handle<Script> script(Script::cast(script_wrapper->value()), this);
1805 void Isolate::PushPromise(Handle<JSObject> promise) {
1808 Handle<JSObject> global_promise =
1809 Handle<JSObject>::cast(global_handles()->Create(*promise));
1818 Handle<Object> global_promise = tltop->promise_on_stack_->promise();
1826 Handle<JSPromise> promise);
1828 bool PromiseHandlerCheck(Isolate* isolate, Handle<JSReceiver> handler,
1829 Handle<JSReceiver> deferred_promise) {
1837 Handle<Symbol> key = isolate->factory()->promise_forwarding_handler_symbol();
1838 Handle<Object> forwarding_handler = JSReceiver::GetDataProperty(handler, key);
1848 isolate, Handle<JSPromise>::cast(deferred_promise));
1852 Handle<JSPromise> promise) {
1862 Handle<Symbol> key = isolate->factory()->promise_handled_by_symbol();
1863 Handle<Object> outer_promise_obj = JSObject::GetDataProperty(promise, key);
1866 isolate, Handle<JSPromise>::cast(outer_promise_obj))) {
1870 Handle<Object> queue(promise->reject_reactions(), isolate);
1871 Handle<Object> deferred_promise(promise->deferred_promise(), isolate);
1878 return PromiseHandlerCheck(isolate, Handle<JSReceiver>::cast(queue),
1879 Handle<JSReceiver>::cast(deferred_promise));
1884 isolate, Handle<JSPromise>::cast(deferred_promise));
1887 Handle<FixedArray> queue_arr = Handle<FixedArray>::cast(queue);
1888 Handle<FixedArray> deferred_promise_arr =
1889 Handle<FixedArray>::cast(deferred_promise);
1891 Handle<JSReceiver> queue_item(JSReceiver::cast(queue_arr->get(i)));
1892 Handle<JSReceiver> deferred_promise_item(
1904 bool Isolate::PromiseHasUserDefinedRejectHandler(Handle<Object> promise) {
1907 this, Handle<JSPromise>::cast(promise));
1910 Handle<Object> Isolate::GetPromiseOnStackOnThrow() {
1911 Handle<Object> undefined = factory()->undefined_value();
1919 Handle<Object> retval = undefined;
1935 Handle<JSPromise>::cast(retval)->set_handled_hint(true);
1940 ? Handle<Object>::cast(promise_on_stack->promise())
1946 // order to handle the synchronous async/await catch prediction case:
1978 Handle<Context> Isolate::GetCallingNativeContext() {
1991 if (it.done()) return Handle<Context>::null();
1994 return Handle<Context>(context->native_context(), this);
2611 // The initialization process does not handle memory exhaustion.
3088 Handle<Object> array_prototype(array_function()->prototype(), this);
3089 Handle<Symbol> key = factory()->is_concat_spreadable_symbol();
3090 Handle<Object> value;
3109 void Isolate::UpdateArrayProtectorOnSetElement(Handle<JSObject> object) {
3116 handle(Smi::FromInt(kProtectorInvalid), this));
3139 handle(Smi::FromInt(kProtectorInvalid), this));
3148 handle(Smi::FromInt(kProtectorInvalid), this));
3157 handle(Smi::FromInt(kProtectorInvalid), this));
3161 bool Isolate::IsAnyInitialArrayPrototype(Handle<JSArray> array) {
3207 Handle<Symbol> Isolate::SymbolFor(Heap::RootListIndex dictionary_index,
3208 Handle<String> name, bool private_symbol) {
3209 Handle<String> key = factory()->InternalizeString(name);
3210 Handle<NameDictionary> dictionary =
3211 Handle<NameDictionary>::cast(heap()->root_handle(dictionary_index));
3213 Handle<Symbol> symbol;
3235 symbol = Handle<Symbol>(Symbol::cast(dictionary->ValueAt(entry)));
3306 void Isolate::RunPromiseHook(PromiseHookType type, Handle<JSPromise> promise,
3307 Handle<Object> parent) {
3319 void Isolate::ReportPromiseReject(Handle<JSObject> promise,
3320 Handle<Object> value,
3323 Handle<JSArray> stack_trace;
3325 stack_trace = GetDetailedStackTrace(Handle<JSObject>::cast(value));
3332 void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info,
3335 Handle<Object> value(info->value(), this);
3336 Handle<Object> tasks(info->tasks(), this);
3337 Handle<JSFunction> promise_handle_fn = promise_handle();
3338 Handle<Object> undefined = factory()->undefined_value();
3339 Handle<Object> deferred_promise(info->deferred_promise(), this);
3343 Handle<FixedArray> deferred_promise_arr =
3344 Handle<FixedArray>::cast(deferred_promise);
3345 Handle<FixedArray> deferred_on_resolve_arr(
3347 Handle<FixedArray> deferred_on_reject_arr(
3349 Handle<FixedArray> tasks_arr = Handle<FixedArray>::cast(tasks);
3351 Handle<Object> argv[] = {value, handle(tasks_arr->get(i), this),
3352 handle(deferred_promise_arr->get(i), this),
3353 handle(deferred_on_resolve_arr->get(i), this),
3354 handle(deferred_on_reject_arr->get(i), this)};
3364 Handle<Object> argv[] = {value, tasks, deferred_promise,
3365 handle(info->deferred_on_resolve(), this),
3366 handle(info->deferred_on_reject(), this)};
3374 Handle<PromiseResolveThenableJobInfo> info, MaybeHandle<Object>* result,
3376 Handle<JSReceiver> thenable(info->thenable(), this);
3377 Handle<JSFunction> resolve(info->resolve(), this);
3378 Handle<JSFunction> reject(info->reject(), this);
3379 Handle<JSReceiver> then(info->then(), this);
3380 Handle<Object> argv[] = {resolve, reject};
3385 Handle<Object> reason;
3388 Handle<Object> reason_arg[] = {reason};
3395 void Isolate::EnqueueMicrotask(Handle<Object> microtask) {
3399 Handle<FixedArray> queue(heap()->microtask_queue(), this);
3433 Handle<FixedArray> queue(heap()->microtask_queue(), this);
3440 Handle<Object> microtask(queue->get(i), this);
3443 Handle<CallHandlerInfo> callback_info =
3444 Handle<CallHandlerInfo>::cast(microtask);
3453 context = Handle<JSFunction>::cast(microtask)->context();
3456 Handle<PromiseResolveThenableJobInfo>::cast(microtask)->context();
3458 context = Handle<PromiseReactionJobInfo>::cast(microtask)->context();
3463 Handle<Context>(context, this));
3469 Handle<JSFunction> microtask_function =
3470 Handle<JSFunction>::cast(microtask);
3476 Handle<PromiseResolveThenableJobInfo>::cast(microtask), &result,
3479 PromiseReactionJob(Handle<PromiseReactionJobInfo>::cast(microtask),
3573 void Isolate::AddDetachedContext(Handle<Context> context) {
3575 Handle<WeakCell> cell = factory()->NewWeakCell(context);
3576 Handle<FixedArray> detached_contexts = factory()->detached_contexts();
3587 Handle<FixedArray> detached_contexts = factory()->detached_contexts();
3675 context_ = Handle<Context>(isolate->context());