< prev index next >
src/hotspot/share/gc/parallel/psCompactionManager.cpp
Print this page
@@ -138,11 +138,15 @@
cm->follow_klass(this);
// Only mark the header and let the scan of the meta-data mark
// everything else.
ParCompactionManager::MarkAndPushClosure cl(cm);
- InstanceKlass::oop_oop_iterate_oop_maps<true>(obj, &cl);
+ if (UseCompressedOops) {
+ InstanceKlass::oop_oop_iterate_oop_maps<narrowOop>(obj, &cl);
+ } else {
+ InstanceKlass::oop_oop_iterate_oop_maps<oop>(obj, &cl);
+ }
}
void InstanceMirrorKlass::oop_pc_follow_contents(oop obj, ParCompactionManager* cm) {
InstanceKlass::oop_pc_follow_contents(obj, cm);
@@ -167,11 +171,15 @@
// roots in Universe::oops_do.
assert(java_lang_Class::is_primitive(obj), "Sanity check");
}
ParCompactionManager::MarkAndPushClosure cl(cm);
- oop_oop_iterate_statics<true>(obj, &cl);
+ if (UseCompressedOops) {
+ oop_oop_iterate_statics<narrowOop>(obj, &cl);
+ } else {
+ oop_oop_iterate_statics<oop>(obj, &cl);
+ }
}
void InstanceClassLoaderKlass::oop_pc_follow_contents(oop obj, ParCompactionManager* cm) {
InstanceKlass::oop_pc_follow_contents(obj, cm);
< prev index next >