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

changeset 574
c0492d52d55b
parent 435
a61af66fc99e
child 631
d1605aabd0a1
     1.1 --- a/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Thu Mar 27 17:22:06 2008 -0700
     1.2 +++ b/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Tue Apr 01 15:13:47 2008 +0400
     1.3 @@ -43,6 +43,7 @@
     1.4  //     is specified; and also the attach "inspectheap" operation
     1.5  //
     1.6  //  VM_GenCollectForAllocation
     1.7 +//  VM_GenCollectForPermanentAllocation
     1.8  //  VM_ParallelGCFailedAllocation
     1.9  //  VM_ParallelGCFailedPermanentAllocation
    1.10  //   - this operation is invoked when allocation is failed;
    1.11 @@ -166,3 +167,23 @@
    1.12    virtual VMOp_Type type() const { return VMOp_GenCollectFull; }
    1.13    virtual void doit();
    1.14  };
    1.15 +
    1.16 +class VM_GenCollectForPermanentAllocation: public VM_GC_Operation {
    1.17 + private:
    1.18 +  HeapWord*   _res;
    1.19 +  size_t      _size;                       // size of object to be allocated
    1.20 + public:
    1.21 +  VM_GenCollectForPermanentAllocation(size_t size,
    1.22 +                                      unsigned int gc_count_before,
    1.23 +                                      unsigned int full_gc_count_before,
    1.24 +                                      GCCause::Cause gc_cause)
    1.25 +    : VM_GC_Operation(gc_count_before, full_gc_count_before, true),
    1.26 +      _size(size) {
    1.27 +    _res = NULL;
    1.28 +    _gc_cause = gc_cause;
    1.29 +  }
    1.30 +  ~VM_GenCollectForPermanentAllocation()  {}
    1.31 +  virtual VMOp_Type type() const { return VMOp_GenCollectForPermanentAllocation; }
    1.32 +  virtual void doit();
    1.33 +  HeapWord* result() const       { return _res; }
    1.34 +};

mercurial