Index: src/ia32/ic-ia32.cc |
=================================================================== |
--- src/ia32/ic-ia32.cc (revision 4792) |
+++ src/ia32/ic-ia32.cc (working copy) |
@@ -315,8 +315,7 @@ |
__ mov(ecx, FieldOperand(edx, HeapObject::kMapOffset)); |
// Check bit field. |
- __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(kSlowCaseBitFieldMask)); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), kSlowCaseBitFieldMask); |
__ j(not_zero, &slow, not_taken); |
// Check that the object is some kind of JS object EXCEPT JS Value type. |
// In the case that the object is a value-wrapper object, |
@@ -410,9 +409,8 @@ |
// Is the string a symbol? |
// ecx: key map. |
- __ movzx_b(ebx, FieldOperand(ecx, Map::kInstanceTypeOffset)); |
ASSERT(kSymbolTag != 0); |
- __ test(ebx, Immediate(kIsSymbolMask)); |
+ __ test_b(FieldOperand(ecx, Map::kInstanceTypeOffset), kIsSymbolMask); |
__ j(zero, &slow, not_taken); |
// If the receiver is a fast-case object, check the keyed lookup |
@@ -564,8 +562,8 @@ |
// Check that the receiver does not require access checks. We need |
// to check this explicitly since this generic stub does not perform |
// map checks. |
- __ movzx_b(ebx, FieldOperand(ecx, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(ecx, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_zero, &slow, not_taken); |
__ CmpInstanceType(ecx, JS_OBJECT_TYPE); |
@@ -754,8 +752,8 @@ |
__ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); |
// Check that the receiver does not require access checks. We need |
// to do this because this generic stub does not perform map checks. |
- __ movzx_b(ebx, FieldOperand(edi, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(edi, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_zero, &slow, not_taken); |
// Check that the key is a smi. |
__ test(ecx, Immediate(kSmiTagMask)); |
@@ -872,8 +870,8 @@ |
__ mov(edi, FieldOperand(edx, HeapObject::kMapOffset)); |
// Check that the receiver does not require access checks. We need |
// to do this because this generic stub does not perform map checks. |
- __ movzx_b(ebx, FieldOperand(edi, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(edi, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_zero, &slow); |
// Check that the key is a smi. |
__ test(ecx, Immediate(kSmiTagMask)); |
@@ -1179,8 +1177,8 @@ |
// Accessing global object: Load and invoke. |
__ bind(&global_object); |
// Check that the global object does not require access checks. |
- __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(ebx, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_equal, &miss, not_taken); |
GenerateNormalHelper(masm, argc, true, &miss); |
@@ -1191,8 +1189,8 @@ |
__ j(equal, &global_proxy, not_taken); |
// Check that the non-global, non-global-proxy object does not |
// require access checks. |
- __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(ebx, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_equal, &miss, not_taken); |
__ bind(&invoke); |
GenerateNormalHelper(masm, argc, false, &miss); |
@@ -1308,8 +1306,8 @@ |
__ j(equal, &global, not_taken); |
// Check for non-global object that requires access check. |
- __ movzx_b(ebx, FieldOperand(ebx, Map::kBitFieldOffset)); |
- __ test(ebx, Immediate(1 << Map::kIsAccessCheckNeeded)); |
+ __ test_b(FieldOperand(ebx, Map::kBitFieldOffset), |
+ 1 << Map::kIsAccessCheckNeeded); |
__ j(not_zero, &miss, not_taken); |
// Search the dictionary placing the result in eax. |