On 2015/09/01 09:01:36, Michael Lippautz wrote:
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.
Argh, you are right. Looking into it.
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.