https://codereview.chromium.org/1316873004/diff/140001/src/heap/mark-compact.cc
File src/heap/mark-compact.cc (right):
https://codereview.chromium.org/1316873004/diff/140001/src/heap/mark-compact.cc#newcode4436
src/heap/mark-compact.cc:4436: // NOTE: ArrayBuffers must be evacuated
first, before freeing them. Otherwise
On 2015/09/01 08:50:08, fedor.indutny wrote:
On 2015/09/01 08:30:06, Michael Lippautz wrote:
> Can you elaborate on this comment a bit more. Why are the not yet
discovered?
We
> should've computed a transitive closure, marking ALL live objects,
icluding
new
> space ones. This would move them into the live map of buffers.
I might not be understanding this correctly, but we are not really
visiting the
new space objects until we are doing the Sweep phase. So we do erase
ptrs in the
`not_yet_discovered` only on `EvacuateNewSpaceAndCandidates` call.
The marking phase do not register them, because it is backed by
`StaticMarkingVisitor`, and only `StaticNewSpaceVisitor` is capable of
registering.
StaticMarkingVisitor is also registering live arrays and should do the
right thing. Mind investigating the root problem? It would be good to
maintain the invariant that we can free the dead buffers anywhere after
marking.
https://codereview.chromium.org/1316873004/
--
--
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.