< prev index next >

src/share/vm/gc/shared/vmGCOperations.hpp

Print this page




 215 
 216  public:
 217   VM_CollectForMetadataAllocation(ClassLoaderData* loader_data,
 218                                   size_t size,
 219                                   Metaspace::MetadataType mdtype,
 220                                   uint gc_count_before,
 221                                   uint full_gc_count_before,
 222                                   GCCause::Cause gc_cause);
 223 
 224   virtual VMOp_Type type() const { return VMOp_CollectForMetadataAllocation; }
 225   virtual void doit();
 226   MetaWord* result() const       { return _result; }
 227 
 228   bool initiate_concurrent_GC();
 229 };
 230 
 231 class SvcGCMarker : public StackObj {
 232  private:
 233   JvmtiGCMarker _jgcm;
 234  public:
 235   typedef enum { MINOR, FULL, OTHER } reason_type;
 236 
 237   SvcGCMarker(reason_type reason ) {
 238     VM_GC_Operation::notify_gc_begin(reason == FULL);
 239   }
 240 
 241   ~SvcGCMarker() {
 242     VM_GC_Operation::notify_gc_end();
 243   }
 244 };
 245 
 246 #endif // SHARE_VM_GC_SHARED_VMGCOPERATIONS_HPP


 215 
 216  public:
 217   VM_CollectForMetadataAllocation(ClassLoaderData* loader_data,
 218                                   size_t size,
 219                                   Metaspace::MetadataType mdtype,
 220                                   uint gc_count_before,
 221                                   uint full_gc_count_before,
 222                                   GCCause::Cause gc_cause);
 223 
 224   virtual VMOp_Type type() const { return VMOp_CollectForMetadataAllocation; }
 225   virtual void doit();
 226   MetaWord* result() const       { return _result; }
 227 
 228   bool initiate_concurrent_GC();
 229 };
 230 
 231 class SvcGCMarker : public StackObj {
 232  private:
 233   JvmtiGCMarker _jgcm;
 234  public:
 235   typedef enum { MINOR, FULL, CONCURRENT, OTHER } reason_type;
 236 
 237   SvcGCMarker(reason_type reason ) {
 238     VM_GC_Operation::notify_gc_begin(reason == FULL);
 239   }
 240 
 241   ~SvcGCMarker() {
 242     VM_GC_Operation::notify_gc_end();
 243   }
 244 };
 245 
 246 #endif // SHARE_VM_GC_SHARED_VMGCOPERATIONS_HPP
< prev index next >