--- 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)) {