Index: src/x64/ic-x64.cc |
=================================================================== |
--- src/x64/ic-x64.cc (revision 4215) |
+++ src/x64/ic-x64.cc (working copy) |
@@ -253,22 +253,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) { |
- Label done; |
- // Check if the value is a Smi. |
- __ JumpIfSmi(value, &done); |
- // Check if the object has been loaded. |
- __ movq(kScratchRegister, FieldOperand(value, JSFunction::kMapOffset)); |
- __ testb(FieldOperand(kScratchRegister, Map::kBitField2Offset), |
- Immediate(1 << Map::kNeedsLoading)); |
- __ j(not_zero, miss); |
- __ bind(&done); |
-} |
- |
- |
// One byte opcode for test eax,0xXXXXXXXX. |
static const byte kTestEaxByte = 0xA9; |
@@ -522,7 +506,6 @@ |
rdx, |
rax, |
DICTIONARY_CHECK_DONE); |
- GenerateCheckNonObjectOrLoaded(masm, &slow, rcx); |
__ movq(rax, rcx); |
__ IncrementCounter(&Counters::keyed_load_generic_symbol, 1); |
__ ret(0); |
@@ -1231,10 +1214,6 @@ |
// Check that the value is a JavaScript function. |
__ CmpObjectType(rdx, JS_FUNCTION_TYPE, rdx); |
__ j(not_equal, miss); |
- // Check that the function has been loaded. |
- __ testb(FieldOperand(rdx, Map::kBitField2Offset), |
- Immediate(1 << Map::kNeedsLoading)); |
- __ j(not_zero, miss); |
// Patch the receiver with the global proxy if necessary. |
if (is_global_object) { |
@@ -1431,7 +1410,6 @@ |
// Search the dictionary placing the result in rax. |
__ bind(&probe); |
GenerateDictionaryLoad(masm, &miss, rdx, rax, rbx, rcx, CHECK_DICTIONARY); |
- GenerateCheckNonObjectOrLoaded(masm, &miss, rax); |
__ ret(0); |
// Global object access: Check access rights. |