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

changeset 2445
7246a374a9f2
parent 2381
7c5250dbd584
child 2532
c798c277ddd1
     1.1 --- a/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Mon Jan 10 09:23:20 2011 -0800
     1.2 +++ b/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Mon Jan 10 17:14:53 2011 -0500
     1.3 @@ -30,6 +30,7 @@
     1.4  #include "runtime/jniHandles.hpp"
     1.5  #include "runtime/synchronizer.hpp"
     1.6  #include "runtime/vm_operations.hpp"
     1.7 +#include "prims/jvmtiExport.hpp"
     1.8  
     1.9  // The following class hierarchy represents
    1.10  // a set of operations (VM_Operation) related to GC.
    1.11 @@ -209,13 +210,17 @@
    1.12    HeapWord* result() const       { return _res; }
    1.13  };
    1.14  
    1.15 -class DTraceGCProbeMarker : public StackObj {
    1.16 -public:
    1.17 -  DTraceGCProbeMarker(bool full) {
    1.18 -    VM_GC_Operation::notify_gc_begin(full);
    1.19 +class SvcGCMarker : public StackObj {
    1.20 + private:
    1.21 +  JvmtiGCMarker _jgcm;
    1.22 + public:
    1.23 +  typedef enum { MINOR, FULL, OTHER } reason_type;
    1.24 +
    1.25 +  SvcGCMarker(reason_type reason ) {
    1.26 +    VM_GC_Operation::notify_gc_begin(reason == FULL);
    1.27    }
    1.28  
    1.29 -  ~DTraceGCProbeMarker() {
    1.30 +  ~SvcGCMarker() {
    1.31      VM_GC_Operation::notify_gc_end();
    1.32    }
    1.33  };

mercurial