| Index: src/objects-inl.h
|
| ===================================================================
|
| --- src/objects-inl.h (revision 7455)
|
| +++ src/objects-inl.h (working copy)
|
| @@ -1158,9 +1158,12 @@
|
|
|
|
|
| Heap* HeapObject::GetHeap() {
|
| - uintptr_t addr = reinterpret_cast<uintptr_t>(this);
|
| - addr >>= kHeapDescriptorGranularityBits;
|
| - return heap_descriptors[addr].heap;
|
| + // During GC, the map pointer in HeapObject is used in various ways that
|
| + // prevent us from retrieving Heap from the map.
|
| + // Assert that we are not in GC, implement GC code in a way that it doesn't
|
| + // pull heap from the map.
|
| + ASSERT(HEAP->is_safe_to_read_maps());
|
| + return map()->heap();
|
| }
|
|
|
|
|
|
|