Mercurial > hg > truffle
diff src/share/vm/oops/instanceRefKlass.cpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | c52a6a39546c |
children | aed758eda82a |
line wrap: on
line diff
--- a/src/share/vm/oops/instanceRefKlass.cpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/oops/instanceRefKlass.cpp Sat Sep 01 13:25:18 2012 -0400 @@ -58,7 +58,7 @@ if (!referent->is_gc_marked() && MarkSweep::ref_processor()->discover_reference(obj, ref->reference_type())) { // reference was discovered, referent will be traversed later - ref->instanceKlass::oop_follow_contents(obj); + ref->InstanceKlass::oop_follow_contents(obj); debug_only( if(TraceReferenceGC && PrintGCDetails) { gclog_or_tty->print_cr(" Non NULL enqueued " INTPTR_FORMAT, obj); @@ -109,7 +109,7 @@ } ) MarkSweep::mark_and_push(next_addr); - ref->instanceKlass::oop_follow_contents(obj); + ref->InstanceKlass::oop_follow_contents(obj); } void instanceRefKlass::oop_follow_contents(oop obj) { @@ -138,7 +138,7 @@ PSParallelCompact::ref_processor()-> discover_reference(obj, ref->reference_type())) { // reference already enqueued, referent will be traversed later - ref->instanceKlass::oop_follow_contents(cm, obj); + ref->InstanceKlass::oop_follow_contents(cm, obj); debug_only( if(TraceReferenceGC && PrintGCDetails) { gclog_or_tty->print_cr(" Non NULL enqueued " INTPTR_FORMAT, obj); @@ -183,7 +183,7 @@ #endif } PSParallelCompact::mark_and_push(cm, next_addr); - ref->instanceKlass::oop_follow_contents(cm, obj); + ref->InstanceKlass::oop_follow_contents(cm, obj); } void instanceRefKlass::oop_follow_contents(ParCompactionManager* cm, @@ -231,7 +231,7 @@ int instanceRefKlass::oop_adjust_pointers(oop obj) { int size = size_helper(); - instanceKlass::oop_adjust_pointers(obj); + InstanceKlass::oop_adjust_pointers(obj); if (UseCompressedOops) { specialized_oop_adjust_pointers<narrowOop>(this, obj); @@ -308,7 +308,7 @@ /* Get size before changing pointers */ \ SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ \ - int size = instanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ + int size = InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ \ if (UseCompressedOops) { \ InstanceRefKlass_SPECIALIZED_OOP_ITERATE(narrowOop, nv_suffix, contains); \ @@ -325,7 +325,7 @@ /* Get size before changing pointers */ \ SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ \ - int size = instanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ + int size = InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ \ if (UseCompressedOops) { \ InstanceRefKlass_SPECIALIZED_OOP_ITERATE(narrowOop, nv_suffix, contains); \ @@ -344,7 +344,7 @@ MemRegion mr) { \ SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ \ - int size = instanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ + int size = InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ if (UseCompressedOops) { \ InstanceRefKlass_SPECIALIZED_OOP_ITERATE(narrowOop, nv_suffix, mr.contains); \ } else { \ @@ -370,7 +370,7 @@ ReferenceProcessor* rp = PSScavenge::reference_processor(); if (rp->discover_reference(obj, ref->reference_type())) { // reference already enqueued, referent and next will be traversed later - ref->instanceKlass::oop_push_contents(pm, obj); + ref->InstanceKlass::oop_push_contents(pm, obj); return; } else { // treat referent as normal oop @@ -411,7 +411,7 @@ if (PSScavenge::should_scavenge(next_addr)) { pm->claim_or_forward_depth(next_addr); } - ref->instanceKlass::oop_push_contents(pm, obj); + ref->InstanceKlass::oop_push_contents(pm, obj); } void instanceRefKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { @@ -436,7 +436,7 @@ } int instanceRefKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { - instanceKlass::oop_update_pointers(cm, obj); + InstanceKlass::oop_update_pointers(cm, obj); if (UseCompressedOops) { specialized_oop_update_pointers<narrowOop>(this, cm, obj); } else { @@ -446,13 +446,13 @@ } #endif // SERIALGC -void instanceRefKlass::update_nonstatic_oop_maps(klassOop k) { +void instanceRefKlass::update_nonstatic_oop_maps(Klass* k) { // Clear the nonstatic oop-map entries corresponding to referent // and nextPending field. They are treated specially by the // garbage collector. // The discovered field is used only by the garbage collector // and is also treated specially. - instanceKlass* ik = instanceKlass::cast(k); + InstanceKlass* ik = InstanceKlass::cast(k); // Check that we have the right class debug_only(static bool first_time = true); @@ -486,7 +486,7 @@ // Verification void instanceRefKlass::oop_verify_on(oop obj, outputStream* st) { - instanceKlass::oop_verify_on(obj, st); + InstanceKlass::oop_verify_on(obj, st); // Verify referent field oop referent = java_lang_ref_Reference::referent(obj);