1. You changed the layout of all maps (not just the meta-map), so you could
put
the isolate pointer in every map and save one indirection. But I don't think
this memory usage increase is acceptable. This is why I originally suggested
using meta-map. Its layout can be special.
2. I don't think we can hope to be able to access the map during GC. Pretty
arbitrary stuff can be encoded in the first word of an object. (Not just
the map
pointer with extra bits, see MapWord.) On the other hand, the set of
functions
on objects that the GC touches should be pretty limited: we could duplicate
them
or add extra parameters, etc. So most functions should still be able to use
map()->map()->heap() (guarded with asserts and wrapped in a helper
function) and
only this special set of functions will require some workarounds.
http://codereview.chromium.org/3089005/show
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev