| Index: src/x87/code-stubs-x87.cc
|
| diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc
|
| index a7673a09e1f810deaa152fc48523c12528630e1b..47e08b1fbd6339a60d32161b19be9ea18cced2a4 100644
|
| --- a/src/x87/code-stubs-x87.cc
|
| +++ b/src/x87/code-stubs-x87.cc
|
| @@ -540,11 +540,11 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ mov(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
|
|
|
| // (5a) Is subject sequential two byte? If yes, go to (9).
|
| - __ test_b(ebx, kStringRepresentationMask | kStringEncodingMask);
|
| + __ test_b(ebx, Immediate(kStringRepresentationMask | kStringEncodingMask));
|
| STATIC_ASSERT((kSeqStringTag | kTwoByteStringTag) == 0);
|
| __ j(zero, &seq_two_byte_string); // Go to (9).
|
| // (5b) Is subject external? If yes, go to (8).
|
| - __ test_b(ebx, kStringRepresentationMask);
|
| + __ test_b(ebx, Immediate(kStringRepresentationMask));
|
| // The underlying external string is never a short external string.
|
| STATIC_ASSERT(ExternalString::kMaxShortLength < ConsString::kMinLength);
|
| STATIC_ASSERT(ExternalString::kMaxShortLength < SlicedString::kMinLength);
|
| @@ -787,7 +787,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| if (FLAG_debug_code) {
|
| // Assert that we do not have a cons or slice (indirect strings) here.
|
| // Sequential strings have already been ruled out.
|
| - __ test_b(ebx, kIsIndirectStringMask);
|
| + __ test_b(ebx, Immediate(kIsIndirectStringMask));
|
| __ Assert(zero, kExternalStringExpectedButNotFound);
|
| }
|
| __ mov(eax, FieldOperand(eax, ExternalString::kResourceDataOffset));
|
| @@ -796,7 +796,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ sub(eax, Immediate(SeqTwoByteString::kHeaderSize - kHeapObjectTag));
|
| STATIC_ASSERT(kTwoByteStringTag == 0);
|
| // (8a) Is the external string one byte? If yes, go to (6).
|
| - __ test_b(ebx, kStringEncodingMask);
|
| + __ test_b(ebx, Immediate(kStringEncodingMask));
|
| __ j(not_zero, &seq_one_byte_string); // Goto (6).
|
|
|
| // eax: sequential subject string (or look-alike, external string)
|
| @@ -921,13 +921,13 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset));
|
| __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
|
| // Call runtime on identical JSObjects. Otherwise return equal.
|
| - __ cmpb(ecx, static_cast<uint8_t>(FIRST_JS_RECEIVER_TYPE));
|
| + __ cmpb(ecx, Immediate(FIRST_JS_RECEIVER_TYPE));
|
| __ j(above_equal, &runtime_call, Label::kFar);
|
| // Call runtime on identical symbols since we need to throw a TypeError.
|
| - __ cmpb(ecx, static_cast<uint8_t>(SYMBOL_TYPE));
|
| + __ cmpb(ecx, Immediate(SYMBOL_TYPE));
|
| __ j(equal, &runtime_call, Label::kFar);
|
| // Call runtime on identical SIMD values since we must throw a TypeError.
|
| - __ cmpb(ecx, static_cast<uint8_t>(SIMD128_VALUE_TYPE));
|
| + __ cmpb(ecx, Immediate(SIMD128_VALUE_TYPE));
|
| __ j(equal, &runtime_call, Label::kFar);
|
| }
|
| __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
|
| @@ -1099,10 +1099,10 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset));
|
|
|
| __ test_b(FieldOperand(ebx, Map::kBitFieldOffset),
|
| - 1 << Map::kIsUndetectable);
|
| + Immediate(1 << Map::kIsUndetectable));
|
| __ j(not_zero, &undetectable, Label::kNear);
|
| __ test_b(FieldOperand(ecx, Map::kBitFieldOffset),
|
| - 1 << Map::kIsUndetectable);
|
| + Immediate(1 << Map::kIsUndetectable));
|
| __ j(not_zero, &return_unequal, Label::kNear);
|
|
|
| __ CmpInstanceType(ebx, FIRST_JS_RECEIVER_TYPE);
|
| @@ -1116,7 +1116,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
|
|
| __ bind(&undetectable);
|
| __ test_b(FieldOperand(ecx, Map::kBitFieldOffset),
|
| - 1 << Map::kIsUndetectable);
|
| + Immediate(1 << Map::kIsUndetectable));
|
| __ j(zero, &return_unequal, Label::kNear);
|
|
|
| // If both sides are JSReceivers, then the result is false according to
|
| @@ -1836,12 +1836,12 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
|
|
| // Go to the runtime if the function is not a constructor.
|
| __ test_b(FieldOperand(function_map, Map::kBitFieldOffset),
|
| - static_cast<uint8_t>(1 << Map::kIsConstructor));
|
| + Immediate(1 << Map::kIsConstructor));
|
| __ j(zero, &slow_case);
|
|
|
| // Ensure that {function} has an instance prototype.
|
| __ test_b(FieldOperand(function_map, Map::kBitFieldOffset),
|
| - static_cast<uint8_t>(1 << Map::kHasNonInstancePrototype));
|
| + Immediate(1 << Map::kHasNonInstancePrototype));
|
| __ j(not_zero, &slow_case);
|
|
|
| // Get the "prototype" (or initial map) of the {function}.
|
| @@ -1875,7 +1875,7 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
|
|
| // Check if the object needs to be access checked.
|
| __ test_b(FieldOperand(object_map, Map::kBitFieldOffset),
|
| - 1 << Map::kIsAccessCheckNeeded);
|
| + Immediate(1 << Map::kIsAccessCheckNeeded));
|
| __ j(not_zero, &fast_runtime_fallback, Label::kNear);
|
| // Check if the current object is a Proxy.
|
| __ CmpInstanceType(object_map, JS_PROXY_TYPE);
|
| @@ -2220,13 +2220,13 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
| Label two_byte_sequential, runtime_drop_two, sequential_string;
|
| STATIC_ASSERT(kExternalStringTag != 0);
|
| STATIC_ASSERT(kSeqStringTag == 0);
|
| - __ test_b(ebx, kExternalStringTag);
|
| + __ test_b(ebx, Immediate(kExternalStringTag));
|
| __ j(zero, &sequential_string);
|
|
|
| // Handle external string.
|
| // Rule out short external strings.
|
| STATIC_ASSERT(kShortExternalStringTag != 0);
|
| - __ test_b(ebx, kShortExternalStringMask);
|
| + __ test_b(ebx, Immediate(kShortExternalStringMask));
|
| __ j(not_zero, &runtime);
|
| __ mov(edi, FieldOperand(edi, ExternalString::kResourceDataOffset));
|
| // Move the pointer so that offset-wise, it looks like a sequential string.
|
| @@ -2239,7 +2239,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
| __ push(edi);
|
| __ SmiUntag(ecx);
|
| STATIC_ASSERT((kOneByteStringTag & kStringEncodingMask) != 0);
|
| - __ test_b(ebx, kStringEncodingMask);
|
| + __ test_b(ebx, Immediate(kStringEncodingMask));
|
| __ j(zero, &two_byte_sequential);
|
|
|
| // Sequential one byte string. Allocate the result.
|
| @@ -4101,7 +4101,7 @@ static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
|
| STATIC_ASSERT(FAST_HOLEY_DOUBLE_ELEMENTS == 5);
|
|
|
| // is the low bit set? If so, we are holey and that is good.
|
| - __ test_b(edx, 1);
|
| + __ test_b(edx, Immediate(1));
|
| __ j(not_zero, &normal_sequence);
|
| }
|
|
|
| @@ -5229,7 +5229,7 @@ static void CallApiFunctionAndReturn(MacroAssembler* masm,
|
| Label profiler_disabled;
|
| Label end_profiler_check;
|
| __ mov(eax, Immediate(ExternalReference::is_profiling_address(isolate)));
|
| - __ cmpb(Operand(eax, 0), 0);
|
| + __ cmpb(Operand(eax, 0), Immediate(0));
|
| __ j(zero, &profiler_disabled);
|
|
|
| // Additional parameter is the address of the actual getter function.
|
|
|