hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
changeset 22796 bb0ea482a99e
parent 22556 a17351e8c2c2
child 23540 06f7d6e1f654
equal deleted inserted replaced
22795:2b5380bc0926 22796:bb0ea482a99e
    39 #include "utilities/macros.hpp"
    39 #include "utilities/macros.hpp"
    40 #if INCLUDE_ALL_GCS
    40 #if INCLUDE_ALL_GCS
    41 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
    41 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
    42 #endif // INCLUDE_ALL_GCS
    42 #endif // INCLUDE_ALL_GCS
    43 
    43 
    44 #ifndef USDT2
       
    45 HS_DTRACE_PROBE_DECL1(hotspot, gc__begin, bool);
       
    46 HS_DTRACE_PROBE_DECL(hotspot, gc__end);
       
    47 #endif /* !USDT2 */
       
    48 
       
    49 // The same dtrace probe can't be inserted in two different files, so we
    44 // The same dtrace probe can't be inserted in two different files, so we
    50 // have to call it here, so it's only in one file.  Can't create new probes
    45 // have to call it here, so it's only in one file.  Can't create new probes
    51 // for the other file anymore.   The dtrace probes have to remain stable.
    46 // for the other file anymore.   The dtrace probes have to remain stable.
    52 void VM_GC_Operation::notify_gc_begin(bool full) {
    47 void VM_GC_Operation::notify_gc_begin(bool full) {
    53 #ifndef USDT2
       
    54   HS_DTRACE_PROBE1(hotspot, gc__begin, full);
       
    55   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
       
    56 #else /* USDT2 */
       
    57   HOTSPOT_GC_BEGIN(
    48   HOTSPOT_GC_BEGIN(
    58                    full);
    49                    full);
    59   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
    50   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
    60 #endif /* USDT2 */
       
    61 }
    51 }
    62 
    52 
    63 void VM_GC_Operation::notify_gc_end() {
    53 void VM_GC_Operation::notify_gc_end() {
    64 #ifndef USDT2
       
    65   HS_DTRACE_PROBE(hotspot, gc__end);
       
    66   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
       
    67 #else /* USDT2 */
       
    68   HOTSPOT_GC_END();
    54   HOTSPOT_GC_END();
    69   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
    55   HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
    70 #endif /* USDT2 */
       
    71 }
    56 }
    72 
    57 
    73 void VM_GC_Operation::acquire_pending_list_lock() {
    58 void VM_GC_Operation::acquire_pending_list_lock() {
    74   // we may enter this with pending exception set
    59   // we may enter this with pending exception set
    75   InstanceRefKlass::acquire_pending_list_lock(&_pending_list_basic_lock);
    60   InstanceRefKlass::acquire_pending_list_lock(&_pending_list_basic_lock);