RESOLVED FIXED 100877
MarkedBlocks should use something other than the mark bits to indicate liveness for newly allocated objects
https://bugs.webkit.org/show_bug.cgi?id=100877
Summary MarkedBlocks should use something other than the mark bits to indicate livene...
Mark Hahnenberg
Reported 2012-10-31 12:32:32 PDT
Currently when we canonicalize cell liveness data in MarkedBlocks, we set the mark bit for every cell in the block except for those in the free list. This allows us to consider objects that were allocated since the previous collection to be considered live until they have a chance to be properly marked by the collector. If we want to use the mark bits to signify other types of information, e.g. using sticky mark bits for generational collection, we will have to keep track of newly allocated objects in a different fashion when we canonicalize cell liveness. One method would be to allocate a separate set of bits while canonicalizing liveness data. These bits would track the newly allocated objects in the block separately from those objects who had already been marked. We would then check these bits, along with the mark bits, when determining liveness. At the end of the conservative scan, we then throw away these Bitmaps.
Attachments
Patch (10.21 KB, patch)
2012-10-31 12:40 PDT, Mark Hahnenberg
no flags
Patch (9.71 KB, patch)
2012-11-02 12:43 PDT, Mark Hahnenberg
no flags
Patch (9.71 KB, patch)
2012-11-02 13:06 PDT, Mark Hahnenberg
no flags
Mark Hahnenberg
Comment 1 2012-10-31 12:40:14 PDT
Mark Hahnenberg
Comment 2 2012-11-02 12:43:35 PDT
Early Warning System Bot
Comment 3 2012-11-02 12:53:49 PDT
Early Warning System Bot
Comment 4 2012-11-02 12:58:33 PDT
Mark Hahnenberg
Comment 5 2012-11-02 13:06:09 PDT
WebKit Review Bot
Comment 6 2012-11-02 15:14:52 PDT
Comment on attachment 172121 [details] Patch Clearing flags on attachment: 172121 Committed r133358: <http://trac.webkit.org/changeset/133358>
WebKit Review Bot
Comment 7 2012-11-02 15:14:55 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.