| 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))); | 
| } | 
|  | 
|  |