Reviewers: Vyacheslav Egorov,

Description:
Untank build after last commit.

Please review this at http://codereview.chromium.org/6728021/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/objects-inl.h


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();
 }




--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to