Index: src/mips/code-stubs-mips.cc |
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
index bcd068b4d01d2bba8a6654e4e2db3863f165e353..a22e7068e745c964c03a83502756cec41a7a655b 100644 |
--- a/src/mips/code-stubs-mips.cc |
+++ b/src/mips/code-stubs-mips.cc |
@@ -343,7 +343,7 @@ static void GenerateFastCloneShallowArrayCommon( |
MacroAssembler* masm, |
int length, |
FastCloneShallowArrayStub::Mode mode, |
- AllocationSiteInfoMode allocation_site_info_mode, |
+ AllocationSiteMode allocation_site_mode, |
Label* fail) { |
// Registers on entry: |
// a3: boilerplate literal array. |
@@ -356,9 +356,10 @@ static void GenerateFastCloneShallowArrayCommon( |
? FixedDoubleArray::SizeFor(length) |
: FixedArray::SizeFor(length); |
} |
+ |
int size = JSArray::kSize; |
int allocation_info_start = size; |
- if (allocation_site_info_mode == TRACK_ALLOCATION_SITE_INFO) { |
+ if (allocation_site_mode == TRACK_ALLOCATION_SITE) { |
size += AllocationSiteInfo::kSize; |
} |
size += elements_size; |
@@ -372,7 +373,7 @@ static void GenerateFastCloneShallowArrayCommon( |
fail, |
TAG_OBJECT); |
- if (allocation_site_info_mode == TRACK_ALLOCATION_SITE_INFO) { |
+ if (allocation_site_mode == TRACK_ALLOCATION_SITE) { |
__ li(a2, Operand(Handle<Map>(masm->isolate()->heap()-> |
allocation_site_info_map()))); |
__ sw(a2, FieldMemOperand(v0, allocation_info_start)); |
@@ -391,7 +392,7 @@ static void GenerateFastCloneShallowArrayCommon( |
// Get hold of the elements array of the boilerplate and setup the |
// elements pointer in the resulting object. |
__ lw(a3, FieldMemOperand(a3, JSArray::kElementsOffset)); |
- if (allocation_site_info_mode == TRACK_ALLOCATION_SITE_INFO) { |
+ if (allocation_site_mode == TRACK_ALLOCATION_SITE) { |
__ Addu(a2, v0, Operand(JSArray::kSize + AllocationSiteInfo::kSize)); |
} else { |
__ Addu(a2, v0, Operand(JSArray::kSize)); |
@@ -424,21 +425,14 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) { |
__ Branch(&slow_case, eq, a3, Operand(t1)); |
FastCloneShallowArrayStub::Mode mode = mode_; |
- AllocationSiteInfoMode allocation_site_info_mode = |
- DONT_TRACK_ALLOCATION_SITE_INFO; |
- if (mode == CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO) { |
- mode = CLONE_ANY_ELEMENTS; |
- allocation_site_info_mode = TRACK_ALLOCATION_SITE_INFO; |
- } |
if (mode == CLONE_ANY_ELEMENTS) { |
Label double_elements, check_fast_elements; |
__ lw(v0, FieldMemOperand(a3, JSArray::kElementsOffset)); |
__ lw(v0, FieldMemOperand(v0, HeapObject::kMapOffset)); |
__ LoadRoot(t1, Heap::kFixedCOWArrayMapRootIndex); |
__ Branch(&check_fast_elements, ne, v0, Operand(t1)); |
- GenerateFastCloneShallowArrayCommon(masm, 0, |
- COPY_ON_WRITE_ELEMENTS, |
- allocation_site_info_mode, |
+ GenerateFastCloneShallowArrayCommon(masm, 0, COPY_ON_WRITE_ELEMENTS, |
+ allocation_site_mode_, |
&slow_case); |
// Return and remove the on-stack parameters. |
__ DropAndRet(3); |
@@ -446,9 +440,8 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) { |
__ bind(&check_fast_elements); |
__ LoadRoot(t1, Heap::kFixedArrayMapRootIndex); |
__ Branch(&double_elements, ne, v0, Operand(t1)); |
- GenerateFastCloneShallowArrayCommon(masm, length_, |
- CLONE_ELEMENTS, |
- allocation_site_info_mode, |
+ GenerateFastCloneShallowArrayCommon(masm, length_, CLONE_ELEMENTS, |
+ allocation_site_mode_, |
&slow_case); |
// Return and remove the on-stack parameters. |
__ DropAndRet(3); |
@@ -481,7 +474,8 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) { |
} |
GenerateFastCloneShallowArrayCommon(masm, length_, mode, |
- allocation_site_info_mode, &slow_case); |
+ allocation_site_mode_, |
+ &slow_case); |
// Return and remove the on-stack parameters. |
__ DropAndRet(3); |