| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 5519b3ceb795d00f1d91eb7678db0f34b029e576..a4c772f5ba6c47c6e2b91b9ba454944755729676 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -1538,7 +1538,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ movp(rcx, FieldOperand(rax, HeapObject::kMapOffset));
|
| __ movzxbl(rcx, FieldOperand(rcx, Map::kInstanceTypeOffset));
|
| // Call runtime on identical objects. Otherwise return equal.
|
| - __ cmpb(rcx, Immediate(static_cast<uint8_t>(FIRST_SPEC_OBJECT_TYPE)));
|
| + __ cmpb(rcx, Immediate(static_cast<uint8_t>(FIRST_JS_RECEIVER_TYPE)));
|
| __ j(above_equal, &runtime_call, Label::kFar);
|
| // Call runtime on identical symbols since we need to throw a TypeError.
|
| __ cmpb(rcx, Immediate(static_cast<uint8_t>(SYMBOL_TYPE)));
|
| @@ -1605,9 +1605,9 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| // There is no test for undetectability in strict equality.
|
|
|
| // If the first object is a JS object, we have done pointer comparison.
|
| - STATIC_ASSERT(LAST_TYPE == LAST_SPEC_OBJECT_TYPE);
|
| + STATIC_ASSERT(LAST_TYPE == LAST_JS_RECEIVER_TYPE);
|
| Label first_non_object;
|
| - __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rcx);
|
| + __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rcx);
|
| __ j(below, &first_non_object, Label::kNear);
|
| // Return non-zero (rax (not rax) is not zero)
|
| Label return_not_equal;
|
| @@ -1620,7 +1620,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ CmpInstanceType(rcx, ODDBALL_TYPE);
|
| __ j(equal, &return_not_equal);
|
|
|
| - __ CmpObjectType(rdx, FIRST_SPEC_OBJECT_TYPE, rcx);
|
| + __ CmpObjectType(rdx, FIRST_JS_RECEIVER_TYPE, rcx);
|
| __ j(above_equal, &return_not_equal);
|
|
|
| // Check for oddballs: true, false, null, undefined.
|
| @@ -1707,9 +1707,9 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ leap(rcx, Operand(rax, rdx, times_1, 0));
|
| __ testb(rcx, Immediate(kSmiTagMask));
|
| __ j(not_zero, &runtime_call, Label::kNear);
|
| - __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rbx);
|
| + __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rbx);
|
| __ j(below, &runtime_call, Label::kNear);
|
| - __ CmpObjectType(rdx, FIRST_SPEC_OBJECT_TYPE, rcx);
|
| + __ CmpObjectType(rdx, FIRST_JS_RECEIVER_TYPE, rcx);
|
| __ j(below, &runtime_call, Label::kNear);
|
| __ testb(FieldOperand(rbx, Map::kBitFieldOffset),
|
| Immediate(1 << Map::kIsUndetectable));
|
| @@ -5128,7 +5128,7 @@ static void CallApiFunctionAndReturn(MacroAssembler* masm,
|
| __ CmpInstanceType(map, LAST_NAME_TYPE);
|
| __ j(below_equal, &ok, Label::kNear);
|
|
|
| - __ CmpInstanceType(map, FIRST_SPEC_OBJECT_TYPE);
|
| + __ CmpInstanceType(map, FIRST_JS_RECEIVER_TYPE);
|
| __ j(above_equal, &ok, Label::kNear);
|
|
|
| __ CompareRoot(map, Heap::kHeapNumberMapRootIndex);
|
|
|