6807801: CMS: could save/restore fewer header words during scavenge

Age bits need not enter the mark-word preservation calculus; also affected, in addition to CMS, per CR synopsis above, were ParNew (but not DefNew), ParallelScavenge and G1, albeit to a lesser degree than CMS.

Reviewed-by: tonyp, johnc
This commit is contained in:
Y. Srinivas Ramakrishna 2010-12-17 23:41:31 -08:00
parent b2fa4708ad
commit 41bf31bff4
6 changed files with 37 additions and 21 deletions

View file

@ -85,6 +85,7 @@ protected:
// Preserve the mark of "obj", if necessary, in preparation for its mark
// word being overwritten with a self-forwarding-pointer.
void preserve_mark_if_necessary(oop obj, markOop m);
void preserve_mark(oop obj, markOop m); // work routine used by the above
// Together, these keep <object with a preserved mark, mark value> pairs.
// They should always contain the same number of elements.