Fix Kraken segfaults on ARM.

DoStoreKeyedFastElement was passing incorrect slot address (off by 1) to the RecordWrite.

R=erik.corry@gmail.com
BUG=v8:1742

Review URL: http://codereview.chromium.org/8139026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
vegorov@chromium.org 2011-10-05 10:50:24 +00:00
parent 7e1c2d9d1e
commit a7c373c2d2

View File

@ -3363,7 +3363,7 @@ void LCodeGen::DoStoreKeyedFastElement(LStoreKeyedFastElement* instr) {
if (instr->hydrogen()->NeedsWriteBarrier()) {
// Compute address of modified element and store it into key register.
__ add(key, scratch, Operand(FixedArray::kHeaderSize));
__ add(key, scratch, Operand(FixedArray::kHeaderSize - kHeapObjectTag));
__ RecordWrite(elements, key, value, kLRHasBeenSaved, kSaveFPRegs);
}
}