Index: src/ia32/macro-assembler-ia32.cc |
=================================================================== |
--- src/ia32/macro-assembler-ia32.cc (revision 4574) |
+++ src/ia32/macro-assembler-ia32.cc (working copy) |
@@ -50,6 +50,14 @@ |
void MacroAssembler::RecordWriteHelper(Register object, |
Register addr, |
Register scratch) { |
+ if (FLAG_debug_code) { |
+ // Check that the object is not in new space. |
+ Label not_in_new_space; |
+ InNewSpace(object, scratch, not_equal, ¬_in_new_space); |
+ Abort("new-space object passed to RecordWriteHelper"); |
+ bind(¬_in_new_space); |
+ } |
+ |
Label fast; |
// Compute the page start address from the heap object pointer, and reuse |
@@ -134,7 +142,7 @@ |
// First, check if a remembered set write is even needed. The tests below |
// catch stores of Smis and stores into young gen (which does not have space |
- // for the remembered set bits. |
+ // for the remembered set bits). |
Label done; |
// Skip barrier if writing a smi. |