hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp
changeset 29792 8c6fa07f0869
parent 27624 fe43edc5046d
child 30150 d9c940aa42ef
--- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp	Wed Mar 25 10:13:56 2015 +0100
+++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp	Thu Mar 26 11:28:19 2015 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,6 +58,10 @@
   MarkSweep::mark_and_push(&op);
 }
 
+inline void MarkSweep::follow_object(oop obj) {
+  obj->follow_contents();
+}
+
 template <class T> inline void MarkSweep::follow_root(T* p) {
   assert(!Universe::heap()->is_in_reserved(p),
          "roots shouldn't be things within the heap");
@@ -66,7 +70,7 @@
     oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
     if (!obj->mark()->is_marked()) {
       mark_object(obj);
-      obj->follow_contents();
+      follow_object(obj);
     }
   }
   follow_stack();
@@ -90,6 +94,10 @@
   _objarray_stack.push(task);
 }
 
+inline int MarkSweep::adjust_pointers(oop obj) {
+  return obj->adjust_pointers();
+}
+
 template <class T> inline void MarkSweep::adjust_pointer(T* p) {
   T heap_oop = oopDesc::load_heap_oop(p);
   if (!oopDesc::is_null(heap_oop)) {