| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 4e0a86b318c2a8225cefe177bb4bce23269e0677..f0544e7282b6d912dfb05e1eb23874c4e7db853f 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -303,7 +303,7 @@ static Handle<Map> ComputeObjectLiteralMap(
|
| }
|
| }
|
| // If we only have symbols and array indices among keys then we can
|
| - // use the map cache in the native context.
|
| + // use the map cache in the global context.
|
| const int kMaxKeys = 10;
|
| if ((number_of_symbol_keys == number_of_properties) &&
|
| (number_of_symbol_keys < kMaxKeys)) {
|
| @@ -342,14 +342,14 @@ static Handle<Object> CreateObjectLiteralBoilerplate(
|
| Handle<FixedArray> constant_properties,
|
| bool should_have_fast_elements,
|
| bool has_function_literal) {
|
| - // Get the native context from the literals array. This is the
|
| + // Get the global context from the literals array. This is the
|
| // context in which the function was created and we use the object
|
| // function from this context to create the object literal. We do
|
| - // not use the object function from the current native context
|
| + // not use the object function from the current global context
|
| // because this might be the object function from another context
|
| // which we should not have access to.
|
| Handle<Context> context =
|
| - Handle<Context>(JSFunction::NativeContextFromLiterals(*literals));
|
| + Handle<Context>(JSFunction::GlobalContextFromLiterals(*literals));
|
|
|
| // In case we have function literals, we want the object to be in
|
| // slow properties mode for now. We don't go in the map cache because
|
| @@ -464,7 +464,7 @@ Handle<Object> Runtime::CreateArrayLiteralBoilerplate(
|
| Handle<FixedArray> elements) {
|
| // Create the JSArray.
|
| Handle<JSFunction> constructor(
|
| - JSFunction::NativeContextFromLiterals(*literals)->array_function());
|
| + JSFunction::GlobalContextFromLiterals(*literals)->array_function());
|
| Handle<JSArray> object =
|
| Handle<JSArray>::cast(isolate->factory()->NewJSObject(constructor));
|
|
|
| @@ -474,8 +474,8 @@ Handle<Object> Runtime::CreateArrayLiteralBoilerplate(
|
| FixedArrayBase::cast(elements->get(1)));
|
|
|
| ASSERT(IsFastElementsKind(constant_elements_kind));
|
| - Context* native_context = isolate->context()->native_context();
|
| - Object* maybe_maps_array = native_context->js_array_maps();
|
| + Context* global_context = isolate->context()->global_context();
|
| + Object* maybe_maps_array = global_context->js_array_maps();
|
| ASSERT(!maybe_maps_array->IsUndefined());
|
| Object* maybe_map = FixedArray::cast(maybe_maps_array)->get(
|
| constant_elements_kind);
|
| @@ -1338,7 +1338,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) {
|
| ASSERT(args.length() == 3);
|
| HandleScope scope(isolate);
|
| Handle<GlobalObject> global = Handle<GlobalObject>(
|
| - isolate->context()->global_object());
|
| + isolate->context()->global());
|
|
|
| Handle<Context> context = args.at<Context>(0);
|
| CONVERT_ARG_HANDLE_CHECKED(FixedArray, pairs, 1);
|
| @@ -1446,7 +1446,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareContextSlot) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 4);
|
|
|
| - // Declarations are always made in a function or native context. In the
|
| + // Declarations are always made in a function or global context. In the
|
| // case of eval code, the context passed is the context of the caller,
|
| // which may be some nested context and not the declaration context.
|
| RUNTIME_ASSERT(args[0]->IsContext());
|
| @@ -1485,7 +1485,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareContextSlot) {
|
| }
|
| } else {
|
| // Slow case: The property is in the context extension object of a
|
| - // function context or the global object of a native context.
|
| + // function context or the global object of a global context.
|
| Handle<JSObject> object = Handle<JSObject>::cast(holder);
|
| RETURN_IF_EMPTY_HANDLE(
|
| isolate,
|
| @@ -1556,7 +1556,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) {
|
| bool assign = args.length() == 3;
|
|
|
| CONVERT_ARG_HANDLE_CHECKED(String, name, 0);
|
| - GlobalObject* global = isolate->context()->global_object();
|
| + GlobalObject* global = isolate->context()->global();
|
| RUNTIME_ASSERT(args[1]->IsSmi());
|
| CONVERT_LANGUAGE_MODE_ARG(language_mode, 1);
|
| StrictModeFlag strict_mode_flag = (language_mode == CLASSIC_MODE)
|
| @@ -1599,7 +1599,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) {
|
| }
|
|
|
| // Reload global in case the loop above performed a GC.
|
| - global = isolate->context()->global_object();
|
| + global = isolate->context()->global();
|
| if (assign) {
|
| return global->SetProperty(*name, args[2], attributes, strict_mode_flag);
|
| }
|
| @@ -1616,7 +1616,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) {
|
| Handle<Object> value = args.at<Object>(1);
|
|
|
| // Get the current global object from top.
|
| - GlobalObject* global = isolate->context()->global_object();
|
| + GlobalObject* global = isolate->context()->global();
|
|
|
| // According to ECMA-262, section 12.2, page 62, the property must
|
| // not be deletable. Since it's a const, it must be READ_ONLY too.
|
| @@ -1640,7 +1640,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) {
|
| // Restore global object from context (in case of GC) and continue
|
| // with setting the value.
|
| HandleScope handle_scope(isolate);
|
| - Handle<GlobalObject> global(isolate->context()->global_object());
|
| + Handle<GlobalObject> global(isolate->context()->global());
|
|
|
| // BUG 1213575: Handle the case where we have to set a read-only
|
| // property through an interceptor and only do it if it's
|
| @@ -1686,7 +1686,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstContextSlot) {
|
| Handle<Object> value(args[0], isolate);
|
| ASSERT(!value->IsTheHole());
|
|
|
| - // Initializations are always done in a function or native context.
|
| + // Initializations are always done in a function or global context.
|
| RUNTIME_ASSERT(args[1]->IsContext());
|
| Handle<Context> context(Context::cast(args[1])->declaration_context());
|
|
|
| @@ -1714,7 +1714,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstContextSlot) {
|
| // global object.
|
| if (attributes == ABSENT) {
|
| Handle<JSObject> global = Handle<JSObject>(
|
| - isolate->context()->global_object());
|
| + isolate->context()->global());
|
| // Strict mode not needed (const disallowed in strict mode).
|
| RETURN_IF_EMPTY_HANDLE(
|
| isolate,
|
| @@ -1835,7 +1835,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpConstructResult) {
|
| AssertNoAllocation no_gc;
|
| HandleScope scope(isolate);
|
| reinterpret_cast<HeapObject*>(new_object)->
|
| - set_map(isolate->native_context()->regexp_result_map());
|
| + set_map(isolate->global_context()->regexp_result_map());
|
| }
|
| JSArray* array = JSArray::cast(new_object);
|
| array->set_properties(isolate->heap()->empty_fixed_array());
|
| @@ -1987,9 +1987,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetDefaultReceiver) {
|
| // Returns undefined for strict or native functions, or
|
| // the associated global receiver for "normal" functions.
|
|
|
| - Context* native_context =
|
| - function->context()->global_object()->native_context();
|
| - return native_context->global_object()->global_receiver();
|
| + Context* global_context =
|
| + function->context()->global()->global_context();
|
| + return global_context->global()->global_receiver();
|
| }
|
|
|
|
|
| @@ -2004,11 +2004,11 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_MaterializeRegExpLiteral) {
|
| // Get the RegExp function from the context in the literals array.
|
| // This is the RegExp function from the context in which the
|
| // function was created. We do not use the RegExp function from the
|
| - // current native context because this might be the RegExp function
|
| + // current global context because this might be the RegExp function
|
| // from another context which we should not have access to.
|
| Handle<JSFunction> constructor =
|
| Handle<JSFunction>(
|
| - JSFunction::NativeContextFromLiterals(*literals)->regexp_function());
|
| + JSFunction::GlobalContextFromLiterals(*literals)->regexp_function());
|
| // Compute the regular expression literal.
|
| bool has_pending_exception;
|
| Handle<Object> regexp =
|
| @@ -2262,8 +2262,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetCode) {
|
| Handle<FixedArray> literals =
|
| isolate->factory()->NewFixedArray(number_of_literals, TENURED);
|
| if (number_of_literals > 0) {
|
| - literals->set(JSFunction::kLiteralNativeContextIndex,
|
| - context->native_context());
|
| + literals->set(JSFunction::kLiteralGlobalContextIndex,
|
| + context->global_context());
|
| }
|
| target->set_context(*context);
|
| target->set_literals(*literals);
|
| @@ -8180,7 +8180,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewObject) {
|
| // instead of a new JSFunction object. This way, errors are
|
| // reported the same way whether or not 'Function' is called
|
| // using 'new'.
|
| - return isolate->context()->global_object();
|
| + return isolate->context()->global();
|
| }
|
| }
|
|
|
| @@ -8783,8 +8783,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushWithContext) {
|
| if (args[1]->IsSmi()) {
|
| // A smi sentinel indicates a context nested inside global code rather
|
| // than some function. There is a canonical empty function that can be
|
| - // gotten from the native context.
|
| - function = isolate->context()->native_context()->closure();
|
| + // gotten from the global context.
|
| + function = isolate->context()->global_context()->closure();
|
| } else {
|
| function = JSFunction::cast(args[1]);
|
| }
|
| @@ -8809,8 +8809,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushCatchContext) {
|
| if (args[2]->IsSmi()) {
|
| // A smi sentinel indicates a context nested inside global code rather
|
| // than some function. There is a canonical empty function that can be
|
| - // gotten from the native context.
|
| - function = isolate->context()->native_context()->closure();
|
| + // gotten from the global context.
|
| + function = isolate->context()->global_context()->closure();
|
| } else {
|
| function = JSFunction::cast(args[2]);
|
| }
|
| @@ -8834,8 +8834,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushBlockContext) {
|
| if (args[1]->IsSmi()) {
|
| // A smi sentinel indicates a context nested inside global code rather
|
| // than some function. There is a canonical empty function that can be
|
| - // gotten from the native context.
|
| - function = isolate->context()->native_context()->closure();
|
| + // gotten from the global context.
|
| + function = isolate->context()->global_context()->closure();
|
| } else {
|
| function = JSFunction::cast(args[1]);
|
| }
|
| @@ -8868,7 +8868,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushModuleContext) {
|
| // Initialize the context links.
|
| context->set_previous(previous);
|
| context->set_closure(previous->closure());
|
| - context->set_global_object(previous->global_object());
|
| + context->set_global(previous->global());
|
| isolate->set_context(context);
|
|
|
| return context;
|
| @@ -8954,7 +8954,7 @@ static Object* ComputeReceiverForNonGlobal(Isolate* isolate,
|
| Context* top = isolate->context();
|
| // Get the context extension function.
|
| JSFunction* context_extension_function =
|
| - top->native_context()->context_extension_function();
|
| + top->global_context()->context_extension_function();
|
| // If the holder isn't a context extension object, we just return it
|
| // as the receiver. This allows arguments objects to be used as
|
| // receivers, but only if they are put in the context scope chain
|
| @@ -9133,7 +9133,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) {
|
| }
|
| // In non-strict mode, the property is added to the global object.
|
| attributes = NONE;
|
| - object = Handle<JSObject>(isolate->context()->global_object());
|
| + object = Handle<JSObject>(isolate->context()->global());
|
| }
|
|
|
| // Set the property if it's not read only or doesn't yet exist.
|
| @@ -9416,10 +9416,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileString) {
|
| ASSERT_EQ(1, args.length());
|
| CONVERT_ARG_HANDLE_CHECKED(String, source, 0);
|
|
|
| - // Extract native context.
|
| - Handle<Context> context(isolate->context()->native_context());
|
| + // Extract global context.
|
| + Handle<Context> context(isolate->context()->global_context());
|
|
|
| - // Check if native context allows code generation from
|
| + // Check if global context allows code generation from
|
| // strings. Throw an exception if it doesn't.
|
| if (context->allow_code_gen_from_strings()->IsFalse() &&
|
| !CodeGenerationFromStringsAllowed(isolate, context)) {
|
| @@ -9427,7 +9427,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileString) {
|
| "code_gen_from_strings", HandleVector<Object>(NULL, 0)));
|
| }
|
|
|
| - // Compile source string in the native context.
|
| + // Compile source string in the global context.
|
| Handle<SharedFunctionInfo> shared = Compiler::CompileEval(
|
| source, context, true, CLASSIC_MODE, RelocInfo::kNoPosition);
|
| if (shared.is_null()) return Failure::Exception();
|
| @@ -9445,12 +9445,12 @@ static ObjectPair CompileGlobalEval(Isolate* isolate,
|
| LanguageMode language_mode,
|
| int scope_position) {
|
| Handle<Context> context = Handle<Context>(isolate->context());
|
| - Handle<Context> native_context = Handle<Context>(context->native_context());
|
| + Handle<Context> global_context = Handle<Context>(context->global_context());
|
|
|
| - // Check if native context allows code generation from
|
| + // Check if global context allows code generation from
|
| // strings. Throw an exception if it doesn't.
|
| - if (native_context->allow_code_gen_from_strings()->IsFalse() &&
|
| - !CodeGenerationFromStringsAllowed(isolate, native_context)) {
|
| + if (global_context->allow_code_gen_from_strings()->IsFalse() &&
|
| + !CodeGenerationFromStringsAllowed(isolate, global_context)) {
|
| isolate->Throw(*isolate->factory()->NewError(
|
| "code_gen_from_strings", HandleVector<Object>(NULL, 0)));
|
| return MakePair(Failure::Exception(), NULL);
|
| @@ -9461,7 +9461,7 @@ static ObjectPair CompileGlobalEval(Isolate* isolate,
|
| Handle<SharedFunctionInfo> shared = Compiler::CompileEval(
|
| source,
|
| Handle<Context>(isolate->context()),
|
| - context->IsNativeContext(),
|
| + context->IsGlobalContext(),
|
| language_mode,
|
| scope_position);
|
| if (shared.is_null()) return MakePair(Failure::Exception(), NULL);
|
| @@ -9483,7 +9483,7 @@ RUNTIME_FUNCTION(ObjectPair, Runtime_ResolvePossiblyDirectEval) {
|
| // (And even if it is, but the first argument isn't a string, just let
|
| // execution default to an indirect call to eval, which will also return
|
| // the first argument without doing anything).
|
| - if (*callee != isolate->native_context()->global_eval_fun() ||
|
| + if (*callee != isolate->global_context()->global_eval_fun() ||
|
| !args[1]->IsString()) {
|
| return MakePair(*callee, isolate->heap()->the_hole_value());
|
| }
|
| @@ -10388,7 +10388,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugGetPropertyDetails) {
|
| // entered (if the debugger is entered). The reason for switching context here
|
| // is that for some property lookups (accessors and interceptors) callbacks
|
| // into the embedding application can occour, and the embedding application
|
| - // could have the assumption that its own native context is the current
|
| + // could have the assumption that its own global context is the current
|
| // context and not some internal debugger context.
|
| SaveContext save(isolate);
|
| if (isolate->debug()->InDebugger()) {
|
| @@ -10933,12 +10933,12 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFrameDetails) {
|
| // value object is not converted into a wrapped JS objects. To
|
| // hide this optimization from the debugger, we wrap the receiver
|
| // by creating correct wrapper object based on the calling frame's
|
| - // native context.
|
| + // global context.
|
| it.Advance();
|
| - Handle<Context> calling_frames_native_context(
|
| - Context::cast(Context::cast(it.frame()->context())->native_context()));
|
| + Handle<Context> calling_frames_global_context(
|
| + Context::cast(Context::cast(it.frame()->context())->global_context()));
|
| receiver =
|
| - isolate->factory()->ToObject(receiver, calling_frames_native_context);
|
| + isolate->factory()->ToObject(receiver, calling_frames_global_context);
|
| }
|
| details->set(kFrameDetailsReceiverIndex, *receiver);
|
|
|
| @@ -11030,7 +11030,7 @@ static Handle<JSObject> MaterializeLocalScopeWithFrameInspector(
|
| // These will be variables introduced by eval.
|
| if (function_context->closure() == *function) {
|
| if (function_context->has_extension() &&
|
| - !function_context->IsNativeContext()) {
|
| + !function_context->IsGlobalContext()) {
|
| Handle<JSObject> ext(JSObject::cast(function_context->extension()));
|
| bool threw = false;
|
| Handle<FixedArray> keys =
|
| @@ -11292,7 +11292,7 @@ class ScopeIterator {
|
| ScopeType scope_type = Type();
|
| if (scope_type == ScopeTypeGlobal) {
|
| // The global scope is always the last in the chain.
|
| - ASSERT(context_->IsNativeContext());
|
| + ASSERT(context_->IsGlobalContext());
|
| context_ = Handle<Context>();
|
| return;
|
| }
|
| @@ -11320,7 +11320,7 @@ class ScopeIterator {
|
| ASSERT(context_->IsModuleContext());
|
| return ScopeTypeModule;
|
| case GLOBAL_SCOPE:
|
| - ASSERT(context_->IsNativeContext());
|
| + ASSERT(context_->IsGlobalContext());
|
| return ScopeTypeGlobal;
|
| case WITH_SCOPE:
|
| ASSERT(context_->IsWithContext());
|
| @@ -11336,8 +11336,8 @@ class ScopeIterator {
|
| UNREACHABLE();
|
| }
|
| }
|
| - if (context_->IsNativeContext()) {
|
| - ASSERT(context_->global_object()->IsGlobalObject());
|
| + if (context_->IsGlobalContext()) {
|
| + ASSERT(context_->global()->IsGlobalObject());
|
| return ScopeTypeGlobal;
|
| }
|
| if (context_->IsFunctionContext()) {
|
| @@ -11360,7 +11360,7 @@ class ScopeIterator {
|
| Handle<JSObject> ScopeObject() {
|
| switch (Type()) {
|
| case ScopeIterator::ScopeTypeGlobal:
|
| - return Handle<JSObject>(CurrentContext()->global_object());
|
| + return Handle<JSObject>(CurrentContext()->global());
|
| case ScopeIterator::ScopeTypeLocal:
|
| // Materialize the content of the local scope into a JSObject.
|
| ASSERT(nested_scope_chain_.length() == 1);
|
| @@ -12225,7 +12225,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugEvaluate) {
|
| Handle<SharedFunctionInfo> shared =
|
| Compiler::CompileEval(function_source,
|
| context,
|
| - context->IsNativeContext(),
|
| + context->IsGlobalContext(),
|
| CLASSIC_MODE,
|
| RelocInfo::kNoPosition);
|
| if (shared.is_null()) return Failure::Exception();
|
| @@ -12296,9 +12296,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugEvaluateGlobal) {
|
| isolate->set_context(*top->context());
|
| }
|
|
|
| - // Get the native context now set to the top context from before the
|
| + // Get the global context now set to the top context from before the
|
| // debugger was invoked.
|
| - Handle<Context> context = isolate->native_context();
|
| + Handle<Context> context = isolate->global_context();
|
|
|
| bool is_global = true;
|
|
|
| @@ -12329,7 +12329,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugEvaluateGlobal) {
|
|
|
| // Invoke the result of the compilation to get the evaluation function.
|
| bool has_pending_exception;
|
| - Handle<Object> receiver = isolate->global_object();
|
| + Handle<Object> receiver = isolate->global();
|
| Handle<Object> result =
|
| Execution::Call(compiled_function, receiver, 0, NULL,
|
| &has_pending_exception);
|
| @@ -12463,7 +12463,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugReferencedBy) {
|
|
|
| // Get the constructor function for context extension and arguments array.
|
| JSObject* arguments_boilerplate =
|
| - isolate->context()->native_context()->arguments_boilerplate();
|
| + isolate->context()->global_context()->arguments_boilerplate();
|
| JSFunction* arguments_function =
|
| JSFunction::cast(arguments_boilerplate->map()->constructor());
|
|
|
| @@ -12492,7 +12492,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugReferencedBy) {
|
| // Return result as JS array.
|
| Object* result;
|
| MaybeObject* maybe_result = isolate->heap()->AllocateJSObject(
|
| - isolate->context()->native_context()->array_function());
|
| + isolate->context()->global_context()->array_function());
|
| if (!maybe_result->ToObject(&result)) return maybe_result;
|
| return JSArray::cast(result)->SetContent(instances);
|
| }
|
| @@ -12573,7 +12573,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugConstructedBy) {
|
| // Return result as JS array.
|
| Object* result;
|
| { MaybeObject* maybe_result = isolate->heap()->AllocateJSObject(
|
| - isolate->context()->native_context()->array_function());
|
| + isolate->context()->global_context()->array_function());
|
| if (!maybe_result->ToObject(&result)) return maybe_result;
|
| }
|
| return JSArray::cast(result)->SetContent(instances);
|
| @@ -12598,7 +12598,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugSetScriptSource) {
|
| ASSERT(args.length() == 2);
|
|
|
| CONVERT_ARG_HANDLE_CHECKED(JSValue, script_wrapper, 0);
|
| - CONVERT_ARG_HANDLE_CHECKED(String, source, 1);
|
| + Handle<String> source(String::cast(args[1]));
|
|
|
| RUNTIME_ASSERT(script_wrapper->value()->IsScript());
|
| Handle<Script> script(Script::cast(script_wrapper->value()));
|
| @@ -12964,11 +12964,11 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ExecuteInDebugContext) {
|
| bool pending_exception;
|
| {
|
| if (without_debugger) {
|
| - result = Execution::Call(function, isolate->global_object(), 0, NULL,
|
| + result = Execution::Call(function, isolate->global(), 0, NULL,
|
| &pending_exception);
|
| } else {
|
| EnterDebugger enter_debugger;
|
| - result = Execution::Call(function, isolate->global_object(), 0, NULL,
|
| + result = Execution::Call(function, isolate->global(), 0, NULL,
|
| &pending_exception);
|
| }
|
| }
|
| @@ -13447,7 +13447,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) {
|
| Handle<JSFunction> factory(JSFunction::cast(
|
| cache_handle->get(JSFunctionResultCache::kFactoryIndex)));
|
| // TODO(antonm): consider passing a receiver when constructing a cache.
|
| - Handle<Object> receiver(isolate->native_context()->global_object());
|
| + Handle<Object> receiver(isolate->global_context()->global());
|
| // This handle is nor shared, nor used later, so it's safe.
|
| Handle<Object> argv[] = { key_handle };
|
| bool pending_exception;
|
|
|