Reviewers: mvstanton, danno, Paul Lind, kisg,
Description:
MIPS: Incorrect ARM assembly in
MacroAssembler::TestJSArrayForAllocationSiteInfo
Port r13462 (74f0ddf6)
Original commit message:
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
Restored test code in allocation-site-info.js that was failing on ARM
because of
this bug.
BUG=
TEST=
Please review this at https://chromiumcodereview.appspot.com/11896037/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/mips/macro-assembler-mips.cc
Index: src/mips/macro-assembler-mips.cc
diff --git a/src/mips/macro-assembler-mips.cc
b/src/mips/macro-assembler-mips.cc
index
2c13e7deaedd957734a80afc8cea3033c88da825..478e6368a62f0359fbd7f1fc501b6482542f6c30
100644
--- a/src/mips/macro-assembler-mips.cc
+++ b/src/mips/macro-assembler-mips.cc
@@ -5454,11 +5454,12 @@ void
MacroAssembler::TestJSArrayForAllocationSiteInfo(
ExternalReference::new_space_start(isolate());
ExternalReference new_space_allocation_top =
ExternalReference::new_space_allocation_top_address(isolate());
- lw(scratch_reg, FieldMemOperand(receiver_reg,
- JSArray::kSize + AllocationSiteInfo::kSize - kHeapObjectTag));
+ Addu(scratch_reg, receiver_reg,
+ Operand(JSArray::kSize + AllocationSiteInfo::kSize -
kHeapObjectTag));
Branch(&no_info_available, lt, scratch_reg, Operand(new_space_start));
- Branch(&no_info_available, gt, scratch_reg,
- Operand(new_space_allocation_top));
+ li(at, Operand(new_space_allocation_top));
+ lw(at, MemOperand(at));
+ Branch(&no_info_available, gt, scratch_reg, Operand(at));
lw(scratch_reg, MemOperand(scratch_reg, -AllocationSiteInfo::kSize));
Branch(allocation_info_present, eq, scratch_reg,
Operand(Handle<Map>(isolate()->heap()->allocation_site_info_map())));
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev