| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 0be9722ca87434174130e45f391ef787c14936f5..cc7bcdb3be7d75923cc9de9344c5253a1db8a37d 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -1351,32 +1351,31 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| Check(ne, "we should not have an empty lexical context");
|
| #endif
|
|
|
| - // Load the native context of the current context.
|
| - int offset =
|
| - Context::kHeaderSize + Context::GLOBAL_OBJECT_INDEX * kPointerSize;
|
| + // Load the global context of the current context.
|
| + int offset = Context::kHeaderSize + Context::GLOBAL_INDEX * kPointerSize;
|
| ldr(scratch, FieldMemOperand(scratch, offset));
|
| - ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
|
| + ldr(scratch, FieldMemOperand(scratch, GlobalObject::kGlobalContextOffset));
|
|
|
| - // Check the context is a native context.
|
| + // Check the context is a global context.
|
| if (emit_debug_code()) {
|
| // TODO(119): avoid push(holder_reg)/pop(holder_reg)
|
| // Cannot use ip as a temporary in this verification code. Due to the fact
|
| // that ip is clobbered as part of cmp with an object Operand.
|
| push(holder_reg); // Temporarily save holder on the stack.
|
| - // Read the first word and compare to the native_context_map.
|
| + // Read the first word and compare to the global_context_map.
|
| ldr(holder_reg, FieldMemOperand(scratch, HeapObject::kMapOffset));
|
| - LoadRoot(ip, Heap::kNativeContextMapRootIndex);
|
| + LoadRoot(ip, Heap::kGlobalContextMapRootIndex);
|
| cmp(holder_reg, ip);
|
| - Check(eq, "JSGlobalObject::native_context should be a native context.");
|
| + Check(eq, "JSGlobalObject::global_context should be a global context.");
|
| pop(holder_reg); // Restore holder.
|
| }
|
|
|
| // Check if both contexts are the same.
|
| - ldr(ip, FieldMemOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| + ldr(ip, FieldMemOperand(holder_reg, JSGlobalProxy::kContextOffset));
|
| cmp(scratch, Operand(ip));
|
| b(eq, &same_contexts);
|
|
|
| - // Check the context is a native context.
|
| + // Check the context is a global context.
|
| if (emit_debug_code()) {
|
| // TODO(119): avoid push(holder_reg)/pop(holder_reg)
|
| // Cannot use ip as a temporary in this verification code. Due to the fact
|
| @@ -1388,13 +1387,13 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| Check(ne, "JSGlobalProxy::context() should not be null.");
|
|
|
| ldr(holder_reg, FieldMemOperand(holder_reg, HeapObject::kMapOffset));
|
| - LoadRoot(ip, Heap::kNativeContextMapRootIndex);
|
| + LoadRoot(ip, Heap::kGlobalContextMapRootIndex);
|
| cmp(holder_reg, ip);
|
| - Check(eq, "JSGlobalObject::native_context should be a native context.");
|
| + Check(eq, "JSGlobalObject::global_context should be a global context.");
|
| // Restore ip is not needed. ip is reloaded below.
|
| pop(holder_reg); // Restore holder.
|
| // Restore ip to holder's context.
|
| - ldr(ip, FieldMemOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| + ldr(ip, FieldMemOperand(holder_reg, JSGlobalProxy::kContextOffset));
|
| }
|
|
|
| // Check that the security token in the calling global object is
|
| @@ -2717,8 +2716,7 @@ void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id,
|
| void MacroAssembler::GetBuiltinFunction(Register target,
|
| Builtins::JavaScript id) {
|
| // Load the builtins object into target register.
|
| - ldr(target,
|
| - MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| + ldr(target, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| ldr(target, FieldMemOperand(target, GlobalObject::kBuiltinsOffset));
|
| // Load the JavaScript builtin function from the builtins object.
|
| ldr(target, FieldMemOperand(target,
|
| @@ -2884,9 +2882,8 @@ void MacroAssembler::LoadTransitionedArrayMapConditional(
|
| Register scratch,
|
| Label* no_map_match) {
|
| // Load the global or builtins object from the current context.
|
| - ldr(scratch,
|
| - MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| - ldr(scratch, FieldMemOperand(scratch, GlobalObject::kNativeContextOffset));
|
| + ldr(scratch, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| + ldr(scratch, FieldMemOperand(scratch, GlobalObject::kGlobalContextOffset));
|
|
|
| // Check that the function's map is the same as the expected cached map.
|
| ldr(scratch,
|
| @@ -2932,12 +2929,11 @@ void MacroAssembler::LoadInitialArrayMap(
|
|
|
| void MacroAssembler::LoadGlobalFunction(int index, Register function) {
|
| // Load the global or builtins object from the current context.
|
| - ldr(function,
|
| - MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| - // Load the native context from the global or builtins object.
|
| + ldr(function, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| + // Load the global context from the global or builtins object.
|
| ldr(function, FieldMemOperand(function,
|
| - GlobalObject::kNativeContextOffset));
|
| - // Load the function from the native context.
|
| + GlobalObject::kGlobalContextOffset));
|
| + // Load the function from the global context.
|
| ldr(function, MemOperand(function, Context::SlotOffset(index)));
|
| }
|
|
|
|
|