| Index: src/arm64/builtins-arm64.cc
|
| diff --git a/src/arm64/builtins-arm64.cc b/src/arm64/builtins-arm64.cc
|
| index 4340a42067e744c654fa0c059ba25b24aa01689a..20cf9cde9b05400f4e51b02eb9edcf9e58d7803c 100644
|
| --- a/src/arm64/builtins-arm64.cc
|
| +++ b/src/arm64/builtins-arm64.cc
|
| @@ -20,16 +20,25 @@
|
|
|
| // Load the built-in Array function from the current context.
|
| static void GenerateLoadArrayFunction(MacroAssembler* masm, Register result) {
|
| + // Load the native context.
|
| + __ Ldr(result, GlobalObjectMemOperand());
|
| + __ Ldr(result, FieldMemOperand(result, JSGlobalObject::kNativeContextOffset));
|
| // Load the InternalArray function from the native context.
|
| - __ LoadNativeContextSlot(Context::ARRAY_FUNCTION_INDEX, result);
|
| + __ Ldr(result,
|
| + MemOperand(result,
|
| + Context::SlotOffset(Context::ARRAY_FUNCTION_INDEX)));
|
| }
|
|
|
|
|
| // Load the built-in InternalArray function from the current context.
|
| static void GenerateLoadInternalArrayFunction(MacroAssembler* masm,
|
| Register result) {
|
| + // Load the native context.
|
| + __ Ldr(result, GlobalObjectMemOperand());
|
| + __ Ldr(result, FieldMemOperand(result, JSGlobalObject::kNativeContextOffset));
|
| // Load the InternalArray function from the native context.
|
| - __ LoadNativeContextSlot(Context::INTERNAL_ARRAY_FUNCTION_INDEX, result);
|
| + __ Ldr(result, ContextMemOperand(result,
|
| + Context::INTERNAL_ARRAY_FUNCTION_INDEX));
|
| }
|
|
|
|
|
| @@ -1213,7 +1222,8 @@
|
| __ Jump(x4);
|
|
|
| __ Bind(&set_global_proxy);
|
| - __ LoadGlobalProxy(x2);
|
| + __ Ldr(x2, GlobalObjectMemOperand());
|
| + __ Ldr(x2, FieldMemOperand(x2, JSGlobalObject::kGlobalProxyOffset));
|
| __ Str(x2, MemOperand(jssp, x0, LSL, kPointerSizeLog2));
|
| __ B(&valid_receiver);
|
|
|
| @@ -1710,7 +1720,7 @@
|
| // Overwrite the original receiver with the (original) target.
|
| __ Poke(x1, Operand(x0, LSL, kXRegSizeLog2));
|
| // Let the "call_as_function_delegate" take care of the rest.
|
| - __ LoadNativeContextSlot(Context::CALL_AS_FUNCTION_DELEGATE_INDEX, x1);
|
| + __ LoadGlobalFunction(Context::CALL_AS_FUNCTION_DELEGATE_INDEX, x1);
|
| __ Jump(masm->isolate()->builtins()->CallFunction(
|
| ConvertReceiverMode::kNotNullOrUndefined),
|
| RelocInfo::CODE_TARGET);
|
| @@ -1793,7 +1803,7 @@
|
| // Overwrite the original receiver with the (original) target.
|
| __ Poke(x1, Operand(x0, LSL, kXRegSizeLog2));
|
| // Let the "call_as_constructor_delegate" take care of the rest.
|
| - __ LoadNativeContextSlot(Context::CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, x1);
|
| + __ LoadGlobalFunction(Context::CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, x1);
|
| __ Jump(masm->isolate()->builtins()->CallFunction(),
|
| RelocInfo::CODE_TARGET);
|
| }
|
|
|