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 };