| Index: src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| diff --git a/src/crankshaft/ppc/lithium-codegen-ppc.cc b/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| index a093f34a1c5ffd1ed7e4da2b106c76a25e275aba..5bec2c705d55236db7a292cfe1d0f863ebc5ab60 100644
|
| --- a/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| +++ b/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| @@ -3460,28 +3460,13 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
|
|
|
| if (!instr->hydrogen()->known_function()) {
|
| // Do not transform the receiver to object for strict mode
|
| - // functions.
|
| + // functions or builtins.
|
| __ LoadP(scratch,
|
| FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset));
|
| __ lwz(scratch,
|
| FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset));
|
| - __ TestBit(scratch,
|
| -#if V8_TARGET_ARCH_PPC64
|
| - SharedFunctionInfo::kStrictModeFunction,
|
| -#else
|
| - SharedFunctionInfo::kStrictModeFunction + kSmiTagSize,
|
| -#endif
|
| - r0);
|
| - __ bne(&result_in_receiver, cr0);
|
| -
|
| - // Do not transform the receiver to object for builtins.
|
| - __ TestBit(scratch,
|
| -#if V8_TARGET_ARCH_PPC64
|
| - SharedFunctionInfo::kNative,
|
| -#else
|
| - SharedFunctionInfo::kNative + kSmiTagSize,
|
| -#endif
|
| - r0);
|
| + __ andi(r0, scratch, Operand((1 << SharedFunctionInfo::kStrictModeBit) |
|
| + (1 << SharedFunctionInfo::kNativeBit)));
|
| __ bne(&result_in_receiver, cr0);
|
| }
|
|
|
|
|