Index: src/snapshot/deserializer.cc |
diff --git a/src/snapshot/deserializer.cc b/src/snapshot/deserializer.cc |
index e8f5c78511ab436a07485cbca24067f3f065e759..42aff945b8c6b2528e70b9a25326a178933841f9 100644 |
--- a/src/snapshot/deserializer.cc |
+++ b/src/snapshot/deserializer.cc |
@@ -769,9 +769,8 @@ bool Deserializer::ReadData(Object** current, Object** limit, int source_space, |
int index = data & kHotObjectMask; |
Object* hot_object = hot_objects_.Get(index); |
UnalignedCopy(current, &hot_object); |
- if (write_barrier_needed) { |
+ if (write_barrier_needed && isolate->heap()->InNewSpace(hot_object)) { |
vogelheim
2016/06/22 09:22:31
I don't understand this change.
(This looks perfe
Yang
2016/06/22 09:43:02
This is just a drive-by fix to adapt this to what
|
Address current_address = reinterpret_cast<Address>(current); |
- SLOW_DCHECK(isolate->heap()->ContainsSlow(current_object_address)); |
isolate->heap()->RecordWrite( |
HeapObject::FromAddress(current_object_address), |
static_cast<int>(current_address - current_object_address), |