hotspot/src/share/vm/oops/instanceKlass.cpp
changeset 22796 bb0ea482a99e
parent 22794 f1c014ad3754
child 22881 b16d7faa638d
equal deleted inserted replaced
22795:2b5380bc0926 22796:bb0ea482a99e
    75 #include "c1/c1_Compiler.hpp"
    75 #include "c1/c1_Compiler.hpp"
    76 #endif
    76 #endif
    77 
    77 
    78 #ifdef DTRACE_ENABLED
    78 #ifdef DTRACE_ENABLED
    79 
    79 
    80 #ifndef USDT2
       
    81 
       
    82 HS_DTRACE_PROBE_DECL4(hotspot, class__initialization__required,
       
    83   char*, intptr_t, oop, intptr_t);
       
    84 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__recursive,
       
    85   char*, intptr_t, oop, intptr_t, int);
       
    86 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__concurrent,
       
    87   char*, intptr_t, oop, intptr_t, int);
       
    88 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__erroneous,
       
    89   char*, intptr_t, oop, intptr_t, int);
       
    90 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__super__failed,
       
    91   char*, intptr_t, oop, intptr_t, int);
       
    92 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__clinit,
       
    93   char*, intptr_t, oop, intptr_t, int);
       
    94 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__error,
       
    95   char*, intptr_t, oop, intptr_t, int);
       
    96 HS_DTRACE_PROBE_DECL5(hotspot, class__initialization__end,
       
    97   char*, intptr_t, oop, intptr_t, int);
       
    98 
       
    99 #define DTRACE_CLASSINIT_PROBE(type, clss, thread_type)          \
       
   100   {                                                              \
       
   101     char* data = NULL;                                           \
       
   102     int len = 0;                                                 \
       
   103     Symbol* name = (clss)->name();                               \
       
   104     if (name != NULL) {                                          \
       
   105       data = (char*)name->bytes();                               \
       
   106       len = name->utf8_length();                                 \
       
   107     }                                                            \
       
   108     HS_DTRACE_PROBE4(hotspot, class__initialization__##type,     \
       
   109       data, len, SOLARIS_ONLY((void *))(clss)->class_loader(), thread_type);           \
       
   110   }
       
   111 
       
   112 #define DTRACE_CLASSINIT_PROBE_WAIT(type, clss, thread_type, wait) \
       
   113   {                                                              \
       
   114     char* data = NULL;                                           \
       
   115     int len = 0;                                                 \
       
   116     Symbol* name = (clss)->name();                               \
       
   117     if (name != NULL) {                                          \
       
   118       data = (char*)name->bytes();                               \
       
   119       len = name->utf8_length();                                 \
       
   120     }                                                            \
       
   121     HS_DTRACE_PROBE5(hotspot, class__initialization__##type,     \
       
   122       data, len, SOLARIS_ONLY((void *))(clss)->class_loader(), thread_type, wait);     \
       
   123   }
       
   124 #else /* USDT2 */
       
   125 
    80 
   126 #define HOTSPOT_CLASS_INITIALIZATION_required HOTSPOT_CLASS_INITIALIZATION_REQUIRED
    81 #define HOTSPOT_CLASS_INITIALIZATION_required HOTSPOT_CLASS_INITIALIZATION_REQUIRED
   127 #define HOTSPOT_CLASS_INITIALIZATION_recursive HOTSPOT_CLASS_INITIALIZATION_RECURSIVE
    82 #define HOTSPOT_CLASS_INITIALIZATION_recursive HOTSPOT_CLASS_INITIALIZATION_RECURSIVE
   128 #define HOTSPOT_CLASS_INITIALIZATION_concurrent HOTSPOT_CLASS_INITIALIZATION_CONCURRENT
    83 #define HOTSPOT_CLASS_INITIALIZATION_concurrent HOTSPOT_CLASS_INITIALIZATION_CONCURRENT
   129 #define HOTSPOT_CLASS_INITIALIZATION_erroneous HOTSPOT_CLASS_INITIALIZATION_ERRONEOUS
    84 #define HOTSPOT_CLASS_INITIALIZATION_erroneous HOTSPOT_CLASS_INITIALIZATION_ERRONEOUS
   154       len = name->utf8_length();                                 \
   109       len = name->utf8_length();                                 \
   155     }                                                            \
   110     }                                                            \
   156     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
   111     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
   157       data, len, (clss)->class_loader(), thread_type, wait);     \
   112       data, len, (clss)->class_loader(), thread_type, wait);     \
   158   }
   113   }
   159 #endif /* USDT2 */
       
   160 
   114 
   161 #else //  ndef DTRACE_ENABLED
   115 #else //  ndef DTRACE_ENABLED
   162 
   116 
   163 #define DTRACE_CLASSINIT_PROBE(type, clss, thread_type)
   117 #define DTRACE_CLASSINIT_PROBE(type, clss, thread_type)
   164 #define DTRACE_CLASSINIT_PROBE_WAIT(type, clss, thread_type, wait)
   118 #define DTRACE_CLASSINIT_PROBE_WAIT(type, clss, thread_type, wait)