Reviewers: Erik Corry, danno, Paul Lind,
Message:
In order to compile, this patch requires the following patch to be applied
first:
http://codereview.chromium.org/8557003/
Description:
MIPS: Check that address given to __ RecordWrite is correct.
Port r9963 (a8c30ef3).
This port uses Abort() instead of stop() to avoid timeouts during testing
and
also get the error message on native MIPS targets.
BUG=
TEST=
Please review this at http://codereview.chromium.org/8561001/
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
ccf048194c90a69c668311c03e6b588e6a4e92d1..990f8086bb5e6eb9536b7a64c8af3668209cbea9
100644
--- a/src/mips/macro-assembler-mips.cc
+++ b/src/mips/macro-assembler-mips.cc
@@ -239,6 +239,12 @@ void MacroAssembler::RecordWrite(Register object,
// registers are cp.
ASSERT(!address.is(cp) && !value.is(cp));
+ if (FLAG_debug_code) {
+ lw(at, MemOperand(address));
+ Assert(eq, "Wrong address or value passed to RecordWrite",
+ at, Operand(value));
+ }
+
Label done;
if (smi_check == INLINE_SMI_CHECK) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev