Mercurial > hg > truffle
diff src/share/vm/oops/klassKlass.cpp @ 4979:18a5539bf19b
More diff vs hsx24 optimizations.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 27 Feb 2012 21:43:51 +0100 |
parents | 75a99b4f1c98 |
children | fdd9dd4508fa |
line wrap: on
line diff
--- a/src/share/vm/oops/klassKlass.cpp Mon Feb 27 18:31:27 2012 +0100 +++ b/src/share/vm/oops/klassKlass.cpp Mon Feb 27 21:43:51 2012 +0100 @@ -73,7 +73,9 @@ MarkSweep::mark_and_push(k->adr_secondary_super_cache()); MarkSweep::mark_and_push(k->adr_secondary_supers()); MarkSweep::mark_and_push(k->adr_java_mirror()); +#ifdef GRAAL MarkSweep::mark_and_push(k->adr_graal_mirror()); +#endif // We follow the subklass and sibling links at the end of the // marking phase, since otherwise following them will prevent // class unloading (all classes are transitively linked from @@ -93,7 +95,9 @@ PSParallelCompact::mark_and_push(cm, k->adr_secondary_super_cache()); PSParallelCompact::mark_and_push(cm, k->adr_secondary_supers()); PSParallelCompact::mark_and_push(cm, k->adr_java_mirror()); +#ifdef GRAAL PSParallelCompact::mark_and_push(cm, k->adr_graal_mirror()); +#endif // We follow the subklass and sibling links at the end of the // marking phase, since otherwise following them will prevent // class unloading (all classes are transitively linked from @@ -113,7 +117,9 @@ blk->do_oop(k->adr_secondary_super_cache()); blk->do_oop(k->adr_secondary_supers()); blk->do_oop(k->adr_java_mirror()); +#ifdef GRAAL blk->do_oop(k->adr_graal_mirror()); +#endif // The following are in the perm gen and are treated // specially in a later phase of a perm gen collection; ... assert(oop(k)->is_perm(), "should be in perm"); @@ -147,8 +153,10 @@ if (mr.contains(adr)) blk->do_oop(adr); adr = k->adr_java_mirror(); if (mr.contains(adr)) blk->do_oop(adr); +#ifdef GRAAL adr = k->adr_graal_mirror(); if (mr.contains(adr)) blk->do_oop(adr); +#endif // The following are "weak links" in the perm gen and are // treated specially in a later phase of a perm gen collection. assert(oop(k)->is_perm(), "should be in perm"); @@ -177,7 +185,9 @@ MarkSweep::adjust_pointer(k->adr_secondary_super_cache()); MarkSweep::adjust_pointer(k->adr_secondary_supers()); MarkSweep::adjust_pointer(k->adr_java_mirror()); +#ifdef GRAAL MarkSweep::adjust_pointer(k->adr_graal_mirror()); +#endif MarkSweep::adjust_pointer(k->adr_subklass()); MarkSweep::adjust_pointer(k->adr_next_sibling()); return size;