+1 from me.
Another (better) approach would be to write a REMSET sanity checker.
When enabled by a command-line switch it would inject an extra phase
into the GC phase list (like the existing sanity checker does), and
before a nursery collection it would:
- do a full-heap trace, using private side metadata
- Record all references that point into the nursery
- when done, check this against the remset and report discrepancies.
The remset should contain a superset of the references that this sanity
checker finds. There's no real reason this couldn't live in MMTk
permanently.
Well, the checker can be a layer between VM and GC. In C variant of
write barriers it just inject some code before actual GC's write
barrier which does mirroring of slot. When doing the full-heap trace
it can compare slots and its mirrors (even not possessing information
about organization of heap, e.g nurseries).
--
Ivan
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]