I think I've addressed Vitaly's comments, it is ready for another look.

1. The heap pointer is now sharing the field with scavenge callback pointer in meta map (since meta map always has it NULL). So there is no special meta map layout and no increase in map size. The special has_heap_in_scavenger_field()
check is used for ASSERTS.

2. Run tests and figured out all cases where GC codepath was trying to get heap out of map. Indeed, there was not many places like that (thanks to oddball patch too!) so I've added just enough heap pointer passing to make the GC avoid the
HeapObject::GetHeap() call. Assert in GetHeap() prevents incorrect usage.



http://codereview.chromium.org/3089005/show

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

Reply via email to