< prev index next >

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

Print this page




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


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