--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Mon Aug 31 05:27:29 2009 -0700
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Wed Sep 02 00:04:29 2009 -0700
@@ -155,6 +155,12 @@
Prefetch::style prefetch_style() {
return Prefetch::do_read;
}
+ // In support of class unloading
+ virtual const bool should_remember_mdo() const {
+ return false;
+ // return _should_remember_klasses;
+ }
+ virtual void remember_mdo(DataLayout* v);
};
// In the parallel case, the revisit stack, the bit map and the
@@ -185,6 +191,12 @@
Prefetch::style prefetch_style() {
return Prefetch::do_read;
}
+ // In support of class unloading
+ virtual const bool should_remember_mdo() const {
+ return false;
+ // return _should_remember_klasses;
+ }
+ virtual void remember_mdo(DataLayout* v);
};
// The non-parallel version (the parallel version appears further below).
@@ -303,6 +315,13 @@
virtual void do_oop(narrowOop* p);
inline void do_oop_nv(oop* p) { PushOrMarkClosure::do_oop_work(p); }
inline void do_oop_nv(narrowOop* p) { PushOrMarkClosure::do_oop_work(p); }
+ // In support of class unloading
+ virtual const bool should_remember_mdo() const {
+ return false;
+ // return _should_remember_klasses;
+ }
+ virtual void remember_mdo(DataLayout* v);
+
// Deal with a stack overflow condition
void handle_stack_overflow(HeapWord* lost);
private:
@@ -340,6 +359,13 @@
virtual void do_oop(narrowOop* p);
inline void do_oop_nv(oop* p) { Par_PushOrMarkClosure::do_oop_work(p); }
inline void do_oop_nv(narrowOop* p) { Par_PushOrMarkClosure::do_oop_work(p); }
+ // In support of class unloading
+ virtual const bool should_remember_mdo() const {
+ return false;
+ // return _should_remember_klasses;
+ }
+ virtual void remember_mdo(DataLayout* v);
+
// Deal with a stack overflow condition
void handle_stack_overflow(HeapWord* lost);
private: