Revision: 3809
Author: [email protected]
Date: Fri Feb  5 06:40:25 2010
Log: Fix ARM and x64 builds on partial snapshots branch.
Review URL: http://codereview.chromium.org/576015
http://code.google.com/p/v8/source/detail?r=3809

Modified:
 /branches/experimental/partial_snapshots/src/arm/ic-arm.cc
 /branches/experimental/partial_snapshots/src/x64/ic-x64.cc

=======================================
--- /branches/experimental/partial_snapshots/src/arm/ic-arm.cc Mon Feb 1 03:07:41 2010 +++ /branches/experimental/partial_snapshots/src/arm/ic-arm.cc Fri Feb 5 06:40:25 2010
@@ -143,25 +143,6 @@
   // Get the value at the masked, scaled index and return.
   __ ldr(t1, FieldMemOperand(t1, kElementsStartOffset + 1 * kPointerSize));
 }
-
-
-// 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.
-  __ tst(value, Operand(kSmiTagMask));
-  __ b(eq, &done);
-  // Check if the object has been loaded.
-  __ ldr(scratch, FieldMemOperand(value, JSObject::kMapOffset));
-  __ ldrb(scratch, FieldMemOperand(scratch, Map::kBitField2Offset));
-  __ tst(scratch, Operand(1 << Map::kNeedsLoading));
-  __ b(ne, miss);
-  __ bind(&done);
-}


 void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
@@ -293,12 +274,6 @@
   __ CompareObjectType(r1, r0, r0, JS_FUNCTION_TYPE);
   __ b(ne, miss);

-  // Check that the function has been loaded.
-  __ ldr(r0, FieldMemOperand(r1, JSObject::kMapOffset));
-  __ ldrb(r0, FieldMemOperand(r0, Map::kBitField2Offset));
-  __ tst(r0, Operand(1 << Map::kNeedsLoading));
-  __ b(ne, miss);
-
   // Patch the receiver with the global proxy if necessary.
   if (is_global_object) {
     __ ldr(r2, MemOperand(sp, argc * kPointerSize));
@@ -472,7 +447,6 @@

   __ bind(&probe);
   GenerateDictionaryLoad(masm, &miss, r1, r0);
-  GenerateCheckNonObjectOrLoaded(masm, &miss, r0, r1);
   __ Ret();

   // Global object access: Check access rights.
=======================================
--- /branches/experimental/partial_snapshots/src/x64/ic-x64.cc Tue Feb 2 01:20:19 2010 +++ /branches/experimental/partial_snapshots/src/x64/ic-x64.cc Fri Feb 5 06:40:25 2010
@@ -149,22 +149,6 @@
   __ movq(r1,
Operand(r0, r1, times_pointer_size, kValueOffset - kHeapObjectTag));
 }
-
-
-// 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.
@@ -390,7 +374,6 @@
                          rdx,
                          rax,
                          DICTIONARY_CHECK_DONE);
-  GenerateCheckNonObjectOrLoaded(masm, &slow, rcx);
   __ movq(rax, rcx);
   __ IncrementCounter(&Counters::keyed_load_generic_symbol, 1);
   __ ret(0);
@@ -1053,10 +1036,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) {
@@ -1267,7 +1246,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.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to