Index: src/ia32/assembler-ia32-inl.h |
diff --git a/src/ia32/assembler-ia32-inl.h b/src/ia32/assembler-ia32-inl.h |
index e72b4072c469e4afe14ae988c519d112b2b421f9..2120a90e0ceda66820b8a9c54a82571ffac3f39a 100644 |
--- a/src/ia32/assembler-ia32-inl.h |
+++ b/src/ia32/assembler-ia32-inl.h |
@@ -137,7 +137,8 @@ |
if (write_barrier_mode == UPDATE_WRITE_BARRIER && |
host() != NULL && |
target->IsHeapObject()) { |
- host()->GetHeap()->RecordWriteIntoCode(host(), this, target); |
+ host()->GetHeap()->incremental_marking()->RecordWriteIntoCode( |
+ host(), this, HeapObject::cast(target)); |
} |
} |
@@ -340,6 +341,7 @@ |
// Verify all Objects referred by code are NOT in new space. |
Object* obj = *handle; |
if (obj->IsHeapObject()) { |
+ DCHECK(!HeapObject::cast(obj)->GetHeap()->InNewSpace(obj)); |
x_ = reinterpret_cast<intptr_t>(handle.location()); |
rmode_ = RelocInfo::EMBEDDED_OBJECT; |
} else { |
@@ -378,6 +380,7 @@ |
AllowDeferredHandleDereference heap_object_check; |
// Verify all Objects referred by code are NOT in new space. |
Object* obj = *handle; |
+ DCHECK(!isolate()->heap()->InNewSpace(obj)); |
if (obj->IsHeapObject()) { |
emit(reinterpret_cast<intptr_t>(handle.location()), |
RelocInfo::EMBEDDED_OBJECT); |