| 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 7a7f314621c4ed3f26a64d593f2b11f2b52493f8..f721be896cad4bc1e14c625652b0a1bed2778c62 100644
|
| --- a/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| +++ b/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| @@ -2277,7 +2277,7 @@ void LCodeGen::DoBranch(LBranch* instr) {
|
|
|
| if (expected.Contains(ToBooleanStub::SPEC_OBJECT)) {
|
| // spec object -> true.
|
| - __ CompareInstanceType(map, ip, FIRST_SPEC_OBJECT_TYPE);
|
| + __ CompareInstanceType(map, ip, FIRST_JS_RECEIVER_TYPE);
|
| __ bge(instr->TrueLabel(chunk_));
|
| }
|
|
|
| @@ -2670,14 +2670,14 @@ void LCodeGen::EmitClassOfTest(Label* is_true, Label* is_false,
|
| // for both being a function type and being in the object type range.
|
| STATIC_ASSERT(NUM_OF_CALLABLE_SPEC_OBJECT_TYPES == 2);
|
| STATIC_ASSERT(FIRST_NONCALLABLE_SPEC_OBJECT_TYPE ==
|
| - FIRST_SPEC_OBJECT_TYPE + 1);
|
| + FIRST_JS_RECEIVER_TYPE + 1);
|
| STATIC_ASSERT(LAST_NONCALLABLE_SPEC_OBJECT_TYPE ==
|
| - LAST_SPEC_OBJECT_TYPE - 1);
|
| - STATIC_ASSERT(LAST_SPEC_OBJECT_TYPE == LAST_TYPE);
|
| - __ CompareObjectType(input, temp, temp2, FIRST_SPEC_OBJECT_TYPE);
|
| + LAST_JS_RECEIVER_TYPE - 1);
|
| + STATIC_ASSERT(LAST_JS_RECEIVER_TYPE == LAST_TYPE);
|
| + __ CompareObjectType(input, temp, temp2, FIRST_JS_RECEIVER_TYPE);
|
| __ blt(is_false);
|
| __ beq(is_true);
|
| - __ cmpi(temp2, Operand(LAST_SPEC_OBJECT_TYPE));
|
| + __ cmpi(temp2, Operand(LAST_JS_RECEIVER_TYPE));
|
| __ beq(is_true);
|
| } else {
|
| // Faster code path to avoid two compares: subtract lower bound from the
|
| @@ -3463,7 +3463,7 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
|
| // Deoptimize if the receiver is not a JS object.
|
| __ TestIfSmi(receiver, r0);
|
| DeoptimizeIf(eq, instr, Deoptimizer::kSmi, cr0);
|
| - __ CompareObjectType(receiver, scratch, scratch, FIRST_SPEC_OBJECT_TYPE);
|
| + __ CompareObjectType(receiver, scratch, scratch, FIRST_JS_RECEIVER_TYPE);
|
| DeoptimizeIf(lt, instr, Deoptimizer::kNotAJavaScriptObject);
|
|
|
| __ b(&result_in_receiver);
|
| @@ -5671,8 +5671,8 @@ Condition LCodeGen::EmitTypeofIs(Label* true_label, Label* false_label,
|
| __ JumpIfSmi(input, false_label);
|
| __ CompareRoot(input, Heap::kNullValueRootIndex);
|
| __ beq(true_label);
|
| - STATIC_ASSERT(LAST_SPEC_OBJECT_TYPE == LAST_TYPE);
|
| - __ CompareObjectType(input, scratch, ip, FIRST_SPEC_OBJECT_TYPE);
|
| + STATIC_ASSERT(LAST_JS_RECEIVER_TYPE == LAST_TYPE);
|
| + __ CompareObjectType(input, scratch, ip, FIRST_JS_RECEIVER_TYPE);
|
| __ blt(false_label);
|
| // Check for callable or undetectable objects => false.
|
| __ lbz(scratch, FieldMemOperand(scratch, Map::kBitFieldOffset));
|
| @@ -5855,7 +5855,7 @@ void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) {
|
| __ TestIfSmi(r3, r0);
|
| DeoptimizeIf(eq, instr, Deoptimizer::kSmi, cr0);
|
|
|
| - STATIC_ASSERT(FIRST_JS_PROXY_TYPE == FIRST_SPEC_OBJECT_TYPE);
|
| + STATIC_ASSERT(FIRST_JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE);
|
| __ CompareObjectType(r3, r4, r4, LAST_JS_PROXY_TYPE);
|
| DeoptimizeIf(le, instr, Deoptimizer::kWrongInstanceType);
|
|
|
|
|