< prev index next >
src/hotspot/share/gc/shenandoah/vm_operations_shenandoah.hpp
Print this page
rev 52355 : Remove safepoint-cleanup piggybacking code
@@ -42,14 +42,11 @@
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) {};
- virtual bool deflates_idle_monitors() { return ShenandoahMergeSafepointCleanup && ! _safepoint_cleanup_done; }
- virtual bool marks_nmethods() { return ShenandoahMergeSafepointCleanup && ! _safepoint_cleanup_done; }
+ VM_ShenandoahOperation() : _gc_id(GCId::current()) {};
};
class VM_ShenandoahReferenceOperation : public VM_ShenandoahOperation {
public:
VM_ShenandoahReferenceOperation() : VM_ShenandoahOperation() {};
@@ -77,12 +74,10 @@
public:
VM_ShenandoahFinalEvac() : VM_ShenandoahOperation() {};
VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahFinalEvac; }
const char* name() const { return "Shenandoah Final Evacuation"; }
virtual void doit();
- bool deflates_idle_monitors() { return false; }
- bool marks_nmethods() { return false; }
};
class VM_ShenandoahDegeneratedGC: public VM_ShenandoahReferenceOperation {
private:
// Really the ShenandoahHeap::ShenandoahDegenerationPoint, but casted to int here
@@ -91,30 +86,20 @@
public:
VM_ShenandoahDegeneratedGC(int point) : VM_ShenandoahReferenceOperation(), _point(point) {};
VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahDegeneratedGC; }
const char* name() const { return "Shenandoah Degenerated GC"; }
virtual void doit();
-
- // Degenerate GC may be upgraded to Full GC, and therefore we need to block deflation and
- // marking, as VM_ShenandoahFullGC does.
- bool deflates_idle_monitors() { return false; }
- bool marks_nmethods() { return false; }
};
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();
- // Full-GC cannot deflate monitors and mark nmethods, because it installs a speciall BarrierSet
- // that disables read-barriers. However, the monitor and nmethod code requires read-barriers
- // to work correctly.
- bool deflates_idle_monitors() { return false; }
- bool marks_nmethods() { return false; }
};
class VM_ShenandoahInitTraversalGC: public VM_ShenandoahOperation {
public:
VM_ShenandoahInitTraversalGC() : VM_ShenandoahOperation() {};
@@ -135,13 +120,10 @@
public:
VM_ShenandoahInitUpdateRefs() : VM_ShenandoahOperation() {};
VM_Operation::VMOp_Type type() const { return VMOp_ShenandoahInitUpdateRefs; }
const char* name() const { return "Shenandoah Init Update References"; }
virtual void doit();
- // We cannot deflate monitors and mark nmethods here, because it doesn't scan roots.
- bool deflates_idle_monitors() { return false; }
- bool marks_nmethods() { return false; }
};
class VM_ShenandoahFinalUpdateRefs: public VM_ShenandoahOperation {
public:
VM_ShenandoahFinalUpdateRefs() : VM_ShenandoahOperation() {};
< prev index next >