| Index: src/mips/code-stubs-mips.cc
|
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
|
| index e14b2bae899ebbe24e70b670f8c734de8d03a635..585af93e8fc2bda8c9336b4004be70b4f89d8f8b 100644
|
| --- a/src/mips/code-stubs-mips.cc
|
| +++ b/src/mips/code-stubs-mips.cc
|
| @@ -985,13 +985,13 @@ static void EmitIdenticalObjectComparison(MacroAssembler* masm,
|
| // Smis. If it's not a heap number, then return equal.
|
| if (cc == less || cc == greater) {
|
| __ GetObjectType(a0, t4, t4);
|
| - __ Branch(slow, greater, t4, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(slow, greater, t4, Operand(FIRST_SPEC_OBJECT_TYPE));
|
| } else {
|
| __ GetObjectType(a0, t4, t4);
|
| __ Branch(&heap_number, eq, t4, Operand(HEAP_NUMBER_TYPE));
|
| // Comparing JS objects with <=, >= is complicated.
|
| if (cc != eq) {
|
| - __ Branch(slow, greater, t4, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(slow, greater, t4, Operand(FIRST_SPEC_OBJECT_TYPE));
|
| // Normally here we fall through to return_equal, but undefined is
|
| // special: (undefined == undefined) == true, but
|
| // (undefined <= undefined) == false! See ECMAScript 11.8.5.
|
| @@ -1309,15 +1309,15 @@ static void EmitTwoNonNanDoubleComparison(MacroAssembler* masm, Condition cc) {
|
| static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
|
| Register lhs,
|
| Register rhs) {
|
| - // If either operand is a JSObject or an oddball value, then they are
|
| + // If either operand is a JS object or an oddball value, then they are
|
| // not equal since their pointers are different.
|
| // There is no test for undetectability in strict equality.
|
| - STATIC_ASSERT(LAST_TYPE == JS_FUNCTION_TYPE);
|
| + STATIC_ASSERT(LAST_TYPE == LAST_CALLABLE_SPEC_OBJECT_TYPE);
|
| Label first_non_object;
|
| // Get the type of the first operand into a2 and compare it with
|
| - // FIRST_JS_OBJECT_TYPE.
|
| + // FIRST_SPEC_OBJECT_TYPE.
|
| __ GetObjectType(lhs, a2, a2);
|
| - __ Branch(&first_non_object, less, a2, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(&first_non_object, less, a2, Operand(FIRST_SPEC_OBJECT_TYPE));
|
|
|
| // Return non-zero.
|
| Label return_not_equal;
|
| @@ -1330,7 +1330,7 @@ static void EmitStrictTwoHeapObjectCompare(MacroAssembler* masm,
|
| __ Branch(&return_not_equal, eq, a2, Operand(ODDBALL_TYPE));
|
|
|
| __ GetObjectType(rhs, a3, a3);
|
| - __ Branch(&return_not_equal, greater, a3, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(&return_not_equal, greater, a3, Operand(FIRST_SPEC_OBJECT_TYPE));
|
|
|
| // Check for oddballs: true, false, null, undefined.
|
| __ Branch(&return_not_equal, eq, a3, Operand(ODDBALL_TYPE));
|
| @@ -1406,9 +1406,9 @@ static void EmitCheckForSymbolsOrObjects(MacroAssembler* masm,
|
| __ Ret();
|
|
|
| __ bind(&object_test);
|
| - __ Branch(not_both_strings, lt, a2, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(not_both_strings, lt, a2, Operand(FIRST_SPEC_OBJECT_TYPE));
|
| __ GetObjectType(rhs, a2, a3);
|
| - __ Branch(not_both_strings, lt, a3, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Branch(not_both_strings, lt, a3, Operand(FIRST_SPEC_OBJECT_TYPE));
|
|
|
| // If both objects are undetectable, they are equal. Otherwise, they
|
| // are not equal, since they are different objects and an object is not
|
| @@ -1784,7 +1784,7 @@ void ToBooleanStub::Generate(MacroAssembler* masm) {
|
| // "tos_" is a register and contains a non-zero value.
|
| // Hence we implicitly return true if the greater than
|
| // condition is satisfied.
|
| - __ Ret(gt, scratch0, Operand(FIRST_JS_OBJECT_TYPE));
|
| + __ Ret(gt, scratch0, Operand(FIRST_SPEC_OBJECT_TYPE));
|
|
|
| // Check for string.
|
| __ lw(scratch0, FieldMemOperand(tos_, HeapObject::kMapOffset));
|
|
|