Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index c661f38f67380e7d9e00336a484029bae4336444..37845d6118b584dcfabb6b1aac3aeb1ddc34e23b 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -1003,7 +1003,8 @@ void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { |
Label receiver_not_callable; |
__ JumpIfSmi(edi, &receiver_not_callable, Label::kNear); |
__ mov(ecx, FieldOperand(edi, HeapObject::kMapOffset)); |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsCallable); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsCallable)); |
__ j(zero, &receiver_not_callable, Label::kNear); |
// 3. Tail call with no arguments if argArray is null or undefined. |
@@ -1126,7 +1127,8 @@ void Builtins::Generate_ReflectApply(MacroAssembler* masm) { |
Label target_not_callable; |
__ JumpIfSmi(edi, &target_not_callable, Label::kNear); |
__ mov(ecx, FieldOperand(edi, HeapObject::kMapOffset)); |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsCallable); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsCallable)); |
__ j(zero, &target_not_callable, Label::kNear); |
// 3a. Apply the target to the given argumentsList (passing undefined for |
@@ -1191,14 +1193,16 @@ void Builtins::Generate_ReflectConstruct(MacroAssembler* masm) { |
Label target_not_constructor; |
__ JumpIfSmi(edi, &target_not_constructor, Label::kNear); |
__ mov(ecx, FieldOperand(edi, HeapObject::kMapOffset)); |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsConstructor); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsConstructor)); |
__ j(zero, &target_not_constructor, Label::kNear); |
// 3. Make sure the target is actually a constructor. |
Label new_target_not_constructor; |
__ JumpIfSmi(edx, &new_target_not_constructor, Label::kNear); |
__ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset)); |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsConstructor); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsConstructor)); |
__ j(zero, &new_target_not_constructor, Label::kNear); |
// 4a. Construct the target with the given new.target and argumentsList. |
@@ -1928,7 +1932,7 @@ void Builtins::Generate_CallFunction(MacroAssembler* masm, |
Label class_constructor; |
__ mov(edx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); |
__ test_b(FieldOperand(edx, SharedFunctionInfo::kFunctionKindByteOffset), |
- SharedFunctionInfo::kClassConstructorBitsWithinByte); |
+ Immediate(SharedFunctionInfo::kClassConstructorBitsWithinByte)); |
__ j(not_zero, &class_constructor); |
// Enter the context of the function; ToObject has to run in the function |
@@ -1940,8 +1944,8 @@ void Builtins::Generate_CallFunction(MacroAssembler* masm, |
// We need to convert the receiver for non-native sloppy mode functions. |
Label done_convert; |
__ test_b(FieldOperand(edx, SharedFunctionInfo::kNativeByteOffset), |
- (1 << SharedFunctionInfo::kNativeBitWithinByte) | |
- (1 << SharedFunctionInfo::kStrictModeBitWithinByte)); |
+ Immediate((1 << SharedFunctionInfo::kNativeBitWithinByte) | |
+ (1 << SharedFunctionInfo::kStrictModeBitWithinByte))); |
__ j(not_zero, &done_convert); |
{ |
// ----------- S t a t e ------------- |
@@ -2163,7 +2167,8 @@ void Builtins::Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode, |
RelocInfo::CODE_TARGET); |
// Check if target has a [[Call]] internal method. |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsCallable); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsCallable)); |
__ j(zero, &non_callable); |
__ CmpInstanceType(ecx, JS_PROXY_TYPE); |
@@ -2299,7 +2304,8 @@ void Builtins::Generate_Construct(MacroAssembler* masm) { |
RelocInfo::CODE_TARGET); |
// Check if target has a [[Construct]] internal method. |
- __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), 1 << Map::kIsConstructor); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ Immediate(1 << Map::kIsConstructor)); |
__ j(zero, &non_constructor, Label::kNear); |
// Only dispatch to bound functions after checking whether they are |