Index: src/heap/store-buffer.cc |
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc |
index 5fd4ce34f3aee6913c42fe3c292b1dea5f0ea8ab..eae3594a18a38b7e1b79803d3d72a9fedd55b278 100644 |
--- a/src/heap/store-buffer.cc |
+++ b/src/heap/store-buffer.cc |
@@ -109,7 +109,9 @@ void StoreBuffer::Uniq() { |
for (Address* read = old_start_; read < old_top_; read++) { |
Address current = *read; |
if (current != previous) { |
- if (heap_->InNewSpace(*reinterpret_cast<Object**>(current))) { |
+ Object* object = reinterpret_cast<Object*>( |
+ base::NoBarrier_Load(reinterpret_cast<base::AtomicWord*>(current))); |
+ if (heap_->InNewSpace(object)) { |
*write++ = current; |
} |
} |