| 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
|
|
|