Reviewers: Hannes Payer, Toon Verwaest,

Message:
This should avoid treating instance_size field in a map as a heap pointer (this
was introduced by r22208).

Description:
Fix pointer iteration for maps.

BUG=

Please review this at https://codereview.chromium.org/475463003/

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

Affected files (+4, -3 lines):
  M src/heap/store-buffer.cc


Index: src/heap/store-buffer.cc
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc
index b48e1a4049369f00a45fffa56323e35bf4de452e..48e98a3decf9273ee95d387de2d1d2067c6011f3 100644
--- a/src/heap/store-buffer.cc
+++ b/src/heap/store-buffer.cc
@@ -486,10 +486,11 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback,
                  heap_object = iterator.Next()) {
               // We skip free space objects.
               if (!heap_object->IsFiller()) {
+                DCHECK(heap_object->IsMap());
                 FindPointersToNewSpaceInRegion(
-                    heap_object->address() + HeapObject::kHeaderSize,
- heap_object->address() + heap_object->Size(), slot_callback,
-                    clear_maps);
+ heap_object->address() + Map::kPointerFieldsBeginOffset,
+                    heap_object->address() + Map::kPointerFieldsEndOffset,
+                    slot_callback, clear_maps);
               }
             }
           } else {


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to