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

Print this page




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


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