< prev index next >

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

Print this page

229 class VM_CollectForMetadataAllocation: public VM_GC_Operation {
230  private:
231   MetaWord*                _result;
232   size_t                   _size;     // size of object to be allocated
233   Metaspace::MetadataType  _mdtype;
234   ClassLoaderData*         _loader_data;
235 
236  public:
237   VM_CollectForMetadataAllocation(ClassLoaderData* loader_data,
238                                   size_t size,
239                                   Metaspace::MetadataType mdtype,
240                                   uint gc_count_before,
241                                   uint full_gc_count_before,
242                                   GCCause::Cause gc_cause);
243 
244   virtual VMOp_Type type() const { return VMOp_CollectForMetadataAllocation; }
245   virtual void doit();
246   MetaWord* result() const       { return _result; }
247 };
248 










249 class SvcGCMarker : public StackObj {
250  private:
251   JvmtiGCMarker _jgcm;
252  public:
253   typedef enum { MINOR, FULL, CONCURRENT } reason_type;
254 
255   SvcGCMarker(reason_type reason ) {
256     VM_GC_Operation::notify_gc_begin(reason == FULL);
257   }
258 
259   ~SvcGCMarker() {
260     VM_GC_Operation::notify_gc_end();
261   }
262 };
263 
264 #endif // SHARE_GC_SHARED_GCVMOPERATIONS_HPP

229 class VM_CollectForMetadataAllocation: public VM_GC_Operation {
230  private:
231   MetaWord*                _result;
232   size_t                   _size;     // size of object to be allocated
233   Metaspace::MetadataType  _mdtype;
234   ClassLoaderData*         _loader_data;
235 
236  public:
237   VM_CollectForMetadataAllocation(ClassLoaderData* loader_data,
238                                   size_t size,
239                                   Metaspace::MetadataType mdtype,
240                                   uint gc_count_before,
241                                   uint full_gc_count_before,
242                                   GCCause::Cause gc_cause);
243 
244   virtual VMOp_Type type() const { return VMOp_CollectForMetadataAllocation; }
245   virtual void doit();
246   MetaWord* result() const       { return _result; }
247 };
248 
249 class VM_CollectForCodeCacheAllocation: public VM_GC_Operation {
250 public:
251   VM_CollectForCodeCacheAllocation(uint gc_count_before,
252                                    uint full_gc_count_before,
253                                    GCCause::Cause gc_cause);
254 
255   virtual VMOp_Type type() const { return VMOp_CollectForCodeCacheAllocation; }
256   virtual void doit();
257 };
258 
259 class SvcGCMarker : public StackObj {
260  private:
261   JvmtiGCMarker _jgcm;
262  public:
263   typedef enum { MINOR, FULL, CONCURRENT } reason_type;
264 
265   SvcGCMarker(reason_type reason ) {
266     VM_GC_Operation::notify_gc_begin(reason == FULL);
267   }
268 
269   ~SvcGCMarker() {
270     VM_GC_Operation::notify_gc_end();
271   }
272 };
273 
274 #endif // SHARE_GC_SHARED_GCVMOPERATIONS_HPP
< prev index next >