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

Reply via email to