91 virtual const char* name() const { |
91 virtual const char* name() const { |
92 return "garbage-first incremental collection pause"; |
92 return "garbage-first incremental collection pause"; |
93 } |
93 } |
94 }; |
94 }; |
95 |
95 |
96 // Concurrent GC stop-the-world operations such as initial and final mark; |
96 // Concurrent GC stop-the-world operations such as remark and cleanup; |
97 // consider sharing these with CMS's counterparts. |
97 // consider sharing these with CMS's counterparts. |
98 class VM_CGC_Operation: public VM_Operation { |
98 class VM_CGC_Operation: public VM_Operation { |
99 VoidClosure* _cl; |
99 VoidClosure* _cl; |
100 const char* _printGCMessage; |
100 const char* _printGCMessage; |
|
101 |
|
102 protected: |
|
103 // java.lang.ref.Reference support |
|
104 void acquire_pending_list_lock(); |
|
105 void release_and_notify_pending_list_lock(); |
|
106 |
101 public: |
107 public: |
102 VM_CGC_Operation(VoidClosure* cl, const char *printGCMsg) |
108 VM_CGC_Operation(VoidClosure* cl, const char *printGCMsg) |
103 : _cl(cl), _printGCMessage(printGCMsg) { } |
109 : _cl(cl), _printGCMessage(printGCMsg) { } |
104 virtual VMOp_Type type() const { return VMOp_CGC_Operation; } |
110 virtual VMOp_Type type() const { return VMOp_CGC_Operation; } |
105 virtual void doit(); |
111 virtual void doit(); |