| Index: src/a64/lithium-codegen-a64.cc
|
| diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc
|
| index 7040946732f628069a0318d8d553981189084f84..af06bf5b751b789ed0d0a53737749e2f5bda9137 100644
|
| --- a/src/a64/lithium-codegen-a64.cc
|
| +++ b/src/a64/lithium-codegen-a64.cc
|
| @@ -5384,12 +5384,14 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
|
| // builtins and strict-mode functions.
|
| Label global_object, done, deopt;
|
|
|
| - // Do not transform the receiver to object for strict mode functions.
|
| __ Ldr(temp, FieldMemOperand(function,
|
| JSFunction::kSharedFunctionInfoOffset));
|
| - __ Ldr(temp,
|
| - UntagSmiFieldMemOperand(temp,
|
| - SharedFunctionInfo::kCompilerHintsOffset));
|
| +
|
| + // CompilerHints is an int32 field. See objects.h.
|
| + __ Ldr(temp.W(),
|
| + FieldMemOperand(temp, SharedFunctionInfo::kCompilerHintsOffset));
|
| +
|
| + // Do not transform the receiver to object for strict mode functions.
|
| __ Tbnz(temp, SharedFunctionInfo::kStrictModeFunction, &done);
|
|
|
| // Do not transform the receiver to object for builtins.
|
|
|