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