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