Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index 96ca1ba2d73dadd5d39d827f53757dba58593a73..11b2bbaf9b160a41325b07d6af9df08e9642264f 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -2375,10 +2375,15 @@ void CallIC_ArrayStub::Generate(MacroAssembler* masm) { |
__ j(not_equal, &miss); |
__ mov(eax, arg_count()); |
- __ mov(ebx, FieldOperand(ebx, edx, times_half_pointer_size, |
+ __ mov(ecx, FieldOperand(ebx, edx, times_half_pointer_size, |
FixedArray::kHeaderSize)); |
+ |
// Verify that ecx contains an AllocationSite |
- __ AssertUndefinedOrAllocationSite(ebx); |
+ Factory* factory = masm->isolate()->factory(); |
+ __ cmp(FieldOperand(ecx, 0), factory->allocation_site_map()); |
Toon Verwaest
2014/07/28 14:11:38
HeapObject::kMapoffset?
|
+ __ j(not_equal, &miss); |
+ |
+ __ mov(ebx, ecx); |
ArrayConstructorStub stub(masm->isolate(), arg_count()); |
__ TailCallStub(&stub); |