[rvm-research] Question about MarkSweep, AllocAsMarked
Nathan Ricci <[email protected]>
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <CALh3YaNLq0xkgOSkOvVZQKbD19C=7MaUaRB_QJ=cHw=qctXNEQ@mail.gmail.com> |
I was looking through the code for MarkSweepSpace, and I noticed
there is a boolean "isAllocAsMarked" which can be set through the public
method makeAllocAsMarked.
It seems like, if this boolean is false, objects are not marked when
they are allocated, instead having their GCHeaderByte set to something
called the "allocState" (which, if I am reading the code correctly, has the
value of the previous mark state).
The default seems to be that isAllocAsMarked is false. But I can't
quite figure out how this is correct; how does the sweeper avoid sweeping
newly allocated (and still possibly live) objects if they do not have their
mark bits set on allocation?
--Nathan
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers