Index: src/ia32/ic-ia32.cc |
=================================================================== |
--- src/ia32/ic-ia32.cc (revision 4215) |
+++ src/ia32/ic-ia32.cc (working copy) |
@@ -254,23 +254,6 @@ |
} |
-// Helper function used to check that a value is either not an object |
-// or is loaded if it is an object. |
-static void GenerateCheckNonObjectOrLoaded(MacroAssembler* masm, Label* miss, |
- Register value, Register scratch) { |
- Label done; |
- // Check if the value is a Smi. |
- __ test(value, Immediate(kSmiTagMask)); |
- __ j(zero, &done, not_taken); |
- // Check if the object has been loaded. |
- __ mov(scratch, FieldOperand(value, JSFunction::kMapOffset)); |
- __ mov(scratch, FieldOperand(scratch, Map::kBitField2Offset)); |
- __ test(scratch, Immediate(1 << Map::kNeedsLoading)); |
- __ j(not_zero, miss, not_taken); |
- __ bind(&done); |
-} |
- |
- |
// The offset from the inlined patch site to the start of the |
// inlined load instruction. It is 7 bytes (test eax, imm) plus |
// 6 bytes (jne slow_label). |
@@ -495,7 +478,6 @@ |
ecx, |
edi, |
DICTIONARY_CHECK_DONE); |
- GenerateCheckNonObjectOrLoaded(masm, &slow, ecx, ebx); |
__ mov(eax, ecx); |
__ IncrementCounter(&Counters::keyed_load_generic_symbol, 1); |
__ ret(0); |
@@ -1146,11 +1128,6 @@ |
__ CmpObjectType(edi, JS_FUNCTION_TYPE, eax); |
__ j(not_equal, miss, not_taken); |
- // Check that the function has been loaded. eax holds function's map. |
- __ mov(eax, FieldOperand(eax, Map::kBitField2Offset)); |
- __ test(eax, Immediate(1 << Map::kNeedsLoading)); |
- __ j(not_zero, miss, not_taken); |
- |
// Patch the receiver on stack with the global proxy if necessary. |
if (is_global_object) { |
__ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset)); |
@@ -1341,7 +1318,6 @@ |
edi, |
ebx, |
CHECK_DICTIONARY); |
- GenerateCheckNonObjectOrLoaded(masm, &miss, edi, edx); |
__ mov(eax, edi); |
__ ret(0); |