< prev index next >
src/share/vm/gc/cms/parOopClosures.inline.hpp
Print this page
@@ -23,14 +23,14 @@
*/
#ifndef SHARE_VM_GC_CMS_PAROOPCLOSURES_INLINE_HPP
#define SHARE_VM_GC_CMS_PAROOPCLOSURES_INLINE_HPP
+#include "gc/cms/cmsHeap.hpp"
#include "gc/cms/parNewGeneration.hpp"
#include "gc/cms/parOopClosures.hpp"
#include "gc/shared/cardTableRS.hpp"
-#include "gc/shared/genCollectedHeap.hpp"
#include "gc/shared/genOopClosures.inline.hpp"
#include "logging/log.hpp"
template <class T> inline void ParScanWeakRefClosure::do_oop_work(T* p) {
assert (!oopDesc::is_null(*p), "null weak reference?");
@@ -69,34 +69,34 @@
template <class T>
inline void ParScanClosure::do_oop_work(T* p,
bool gc_barrier,
bool root_scan) {
- assert((!GenCollectedHeap::heap()->is_in_reserved(p) ||
+ assert((!CMSHeap::heap()->is_in_reserved(p) ||
generation()->is_in_reserved(p))
- && (GenCollectedHeap::heap()->is_young_gen(generation()) || gc_barrier),
+ && (CMSHeap::heap()->is_young_gen(generation()) || gc_barrier),
"The gen must be right, and we must be doing the barrier "
"in older generations.");
T heap_oop = oopDesc::load_heap_oop(p);
if (!oopDesc::is_null(heap_oop)) {
oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
if ((HeapWord*)obj < _boundary) {
#ifndef PRODUCT
if (_g->to()->is_in_reserved(obj)) {
Log(gc) log;
log.error("Scanning field (" PTR_FORMAT ") twice?", p2i(p));
- GenCollectedHeap* gch = GenCollectedHeap::heap();
- Space* sp = gch->space_containing(p);
+ CMSHeap* heap = CMSHeap::heap();
+ Space* sp = heap->space_containing(p);
oop obj = oop(sp->block_start(p));
assert((HeapWord*)obj < (HeapWord*)p, "Error");
log.error("Object: " PTR_FORMAT, p2i((void *)obj));
log.error("-------");
obj->print_on(log.error_stream());
log.error("-----");
log.error("Heap:");
log.error("-----");
- gch->print_on(log.error_stream());
+ heap->print_on(log.error_stream());
ShouldNotReachHere();
}
#endif
// OK, we need to ensure that it is copied.
// We read the klass and mark in this order, so that we can reliably
< prev index next >