< prev index next >

src/share/vm/gc/shenandoah/vm_operations_shenandoah.hpp

Print this page
rev 13387 : [mq]: parallel_sp_cleaning.patch

*** 40,50 **** class VM_ShenandoahOperation : public VM_Operation { protected: uint _gc_id; public: ! VM_ShenandoahOperation() : _gc_id(GCId::current()) {}; }; class VM_ShenandoahReferenceOperation : public VM_ShenandoahOperation { public: VM_ShenandoahReferenceOperation() : VM_ShenandoahOperation() {}; --- 40,51 ---- class VM_ShenandoahOperation : public VM_Operation { protected: uint _gc_id; public: ! bool _safepoint_cleanup_done; ! VM_ShenandoahOperation() : _gc_id(GCId::current()), _safepoint_cleanup_done(false) {}; }; class VM_ShenandoahReferenceOperation : public VM_ShenandoahOperation { public: VM_ShenandoahReferenceOperation() : VM_ShenandoahOperation() {};
*** 56,91 **** --- 57,101 ---- public: VM_ShenandoahInitMark() : VM_ShenandoahOperation() {}; VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahInitMark; } const char* name() const { return "Shenandoah Init Marking"; } virtual void doit(); + bool deflates_idle_monitors() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + bool marks_nmethods() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + }; class VM_ShenandoahFinalMarkStartEvac: public VM_ShenandoahReferenceOperation { public: VM_ShenandoahFinalMarkStartEvac() : VM_ShenandoahReferenceOperation() {}; VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahFinalMarkStartEvac; } const char* name() const { return "Shenandoah Final Mark and Start Evacuation"; } virtual void doit(); + bool deflates_idle_monitors() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + bool marks_nmethods() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } }; class VM_ShenandoahFullGC : public VM_ShenandoahReferenceOperation { private: GCCause::Cause _gc_cause; public: VM_ShenandoahFullGC(GCCause::Cause gc_cause) : VM_ShenandoahReferenceOperation(), _gc_cause(gc_cause) {}; VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahFullGC; } const char* name() const { return "Shenandoah Full GC"; } virtual void doit(); + bool deflates_idle_monitors() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + bool marks_nmethods() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } }; class VM_ShenandoahPartialGC: public VM_ShenandoahOperation { public: VM_ShenandoahPartialGC() : VM_ShenandoahOperation() {}; VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahPartialGC; } const char* name() const { return "Shenandoah Partial Collection"; } virtual void doit(); + bool deflates_idle_monitors() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + bool marks_nmethods() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } }; class VM_ShenandoahInitUpdateRefs: public VM_ShenandoahOperation { public: VM_ShenandoahInitUpdateRefs() : VM_ShenandoahOperation() {};
*** 98,107 **** --- 108,119 ---- public: VM_ShenandoahFinalUpdateRefs() : VM_ShenandoahOperation() {}; VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahFinalUpdateRefs; } const char* name() const { return "Shenandoah Final Update References"; } virtual void doit(); + bool deflates_idle_monitors() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } + bool marks_nmethods() { return ShenandoahSPCleanup && ! _safepoint_cleanup_done; } }; class VM_ShenandoahVerifyHeapAfterEvacuation: public VM_ShenandoahOperation { public: VM_ShenandoahVerifyHeapAfterEvacuation() : VM_ShenandoahOperation() {};
< prev index next >