| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index 6bd3a1cf78701d7c8d924eaa4b6d4f60f2fbffb2..2e554b166b902a18bba4c5da45e3dc11236d87f6 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -806,7 +806,7 @@ void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id,
|
| void MacroAssembler::GetBuiltinFunction(Register target,
|
| Builtins::JavaScript id) {
|
| // Load the builtins object into target register.
|
| - movq(target, Operand(rsi, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| + movq(target, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| movq(target, FieldOperand(target, GlobalObject::kBuiltinsOffset));
|
| movq(target, FieldOperand(target,
|
| JSBuiltinsObject::OffsetOfFunctionWithId(id)));
|
| @@ -3442,21 +3442,20 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| cmpq(scratch, Immediate(0));
|
| Check(not_equal, "we should not have an empty lexical context");
|
| }
|
| - // 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;
|
| movq(scratch, FieldOperand(scratch, offset));
|
| - movq(scratch, FieldOperand(scratch, GlobalObject::kNativeContextOffset));
|
| + movq(scratch, FieldOperand(scratch, GlobalObject::kGlobalContextOffset));
|
|
|
| - // Check the context is a native context.
|
| + // Check the context is a global context.
|
| if (emit_debug_code()) {
|
| Cmp(FieldOperand(scratch, HeapObject::kMapOffset),
|
| - isolate()->factory()->native_context_map());
|
| - Check(equal, "JSGlobalObject::native_context should be a native context.");
|
| + isolate()->factory()->global_context_map());
|
| + Check(equal, "JSGlobalObject::global_context should be a global context.");
|
| }
|
|
|
| // Check if both contexts are the same.
|
| - cmpq(scratch, FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| + cmpq(scratch, FieldOperand(holder_reg, JSGlobalProxy::kContextOffset));
|
| j(equal, &same_contexts);
|
|
|
| // Compare security tokens.
|
| @@ -3464,24 +3463,23 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| // compatible with the security token in the receiving global
|
| // object.
|
|
|
| - // Check the context is a native context.
|
| + // Check the context is a global context.
|
| if (emit_debug_code()) {
|
| // Preserve original value of holder_reg.
|
| push(holder_reg);
|
| - movq(holder_reg,
|
| - FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| + movq(holder_reg, FieldOperand(holder_reg, JSGlobalProxy::kContextOffset));
|
| CompareRoot(holder_reg, Heap::kNullValueRootIndex);
|
| Check(not_equal, "JSGlobalProxy::context() should not be null.");
|
|
|
| - // Read the first word and compare to native_context_map(),
|
| + // Read the first word and compare to global_context_map(),
|
| movq(holder_reg, FieldOperand(holder_reg, HeapObject::kMapOffset));
|
| - CompareRoot(holder_reg, Heap::kNativeContextMapRootIndex);
|
| - Check(equal, "JSGlobalObject::native_context should be a native context.");
|
| + CompareRoot(holder_reg, Heap::kGlobalContextMapRootIndex);
|
| + Check(equal, "JSGlobalObject::global_context should be a global context.");
|
| pop(holder_reg);
|
| }
|
|
|
| movq(kScratchRegister,
|
| - FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| + FieldOperand(holder_reg, JSGlobalProxy::kContextOffset));
|
| int token_offset =
|
| Context::kHeaderSize + Context::SECURITY_TOKEN_INDEX * kPointerSize;
|
| movq(scratch, FieldOperand(scratch, token_offset));
|
| @@ -4101,9 +4099,8 @@ void MacroAssembler::LoadTransitionedArrayMapConditional(
|
| Register scratch,
|
| Label* no_map_match) {
|
| // Load the global or builtins object from the current context.
|
| - movq(scratch,
|
| - Operand(rsi, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| - movq(scratch, FieldOperand(scratch, GlobalObject::kNativeContextOffset));
|
| + movq(scratch, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| + movq(scratch, FieldOperand(scratch, GlobalObject::kGlobalContextOffset));
|
|
|
| // Check that the function's map is the same as the expected cached map.
|
| movq(scratch, Operand(scratch,
|
| @@ -4153,11 +4150,10 @@ static const int kRegisterPassedArguments = 6;
|
|
|
| void MacroAssembler::LoadGlobalFunction(int index, Register function) {
|
| // Load the global or builtins object from the current context.
|
| - movq(function,
|
| - Operand(rsi, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
|
| - // Load the native context from the global or builtins object.
|
| - movq(function, FieldOperand(function, GlobalObject::kNativeContextOffset));
|
| - // Load the function from the native context.
|
| + movq(function, Operand(rsi, Context::SlotOffset(Context::GLOBAL_INDEX)));
|
| + // Load the global context from the global or builtins object.
|
| + movq(function, FieldOperand(function, GlobalObject::kGlobalContextOffset));
|
| + // Load the function from the global context.
|
| movq(function, Operand(function, Context::SlotOffset(index)));
|
| }
|
|
|
|
|