< prev index next >

src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.inline.hpp

Print this page

        

@@ -25,10 +25,12 @@
 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP
 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP
 
 #include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
 #include "gc_implementation/parallelScavenge/psParallelCompact.hpp"
+#include "oops/objArrayKlass.inline.hpp"
+#include "oops/oop.pcgc.inline.hpp"
 
 void ParCompactionManager::push_objarray(oop obj, size_t index)
 {
   ObjArrayTask task(obj, index);
   assert(task.is_valid(), "bad ObjArrayTask");

@@ -44,6 +46,19 @@
   assert(region_ptr->_pushed++ == 0, "should only be pushed once");
 #endif
   region_stack()->push(index);
 }
 
+inline void ParCompactionManager::follow_contents(oop obj) {
+  obj->follow_contents(this);
+}
+
+inline void ParCompactionManager::follow_contents(objArrayOop obj, int index) {
+  ObjArrayKlass* k = (ObjArrayKlass*)obj->klass();
+  k->oop_follow_contents(obj, index);
+}
+
+inline void ParCompactionManager::update_contents(oop obj) {
+  obj->update_contents(this);
+}
+
 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP
< prev index next >