< prev index next >

src/share/vm/oops/instanceKlass.cpp

Print this page
@  rev 13381 : 8185900: hotspot build failed with gcc version Red Hat 4.4.7-3
|  Summary: Cast to void* within DTRACE_CLASS* macros.
~  Reviewed-by: duke


  84 
  85 
  86 #define HOTSPOT_CLASS_INITIALIZATION_required HOTSPOT_CLASS_INITIALIZATION_REQUIRED
  87 #define HOTSPOT_CLASS_INITIALIZATION_recursive HOTSPOT_CLASS_INITIALIZATION_RECURSIVE
  88 #define HOTSPOT_CLASS_INITIALIZATION_concurrent HOTSPOT_CLASS_INITIALIZATION_CONCURRENT
  89 #define HOTSPOT_CLASS_INITIALIZATION_erroneous HOTSPOT_CLASS_INITIALIZATION_ERRONEOUS
  90 #define HOTSPOT_CLASS_INITIALIZATION_super__failed HOTSPOT_CLASS_INITIALIZATION_SUPER_FAILED
  91 #define HOTSPOT_CLASS_INITIALIZATION_clinit HOTSPOT_CLASS_INITIALIZATION_CLINIT
  92 #define HOTSPOT_CLASS_INITIALIZATION_error HOTSPOT_CLASS_INITIALIZATION_ERROR
  93 #define HOTSPOT_CLASS_INITIALIZATION_end HOTSPOT_CLASS_INITIALIZATION_END
  94 #define DTRACE_CLASSINIT_PROBE(type, thread_type)                \
  95   {                                                              \
  96     char* data = NULL;                                           \
  97     int len = 0;                                                 \
  98     Symbol* clss_name = name();                                  \
  99     if (clss_name != NULL) {                                     \
 100       data = (char*)clss_name->bytes();                          \
 101       len = clss_name->utf8_length();                            \
 102     }                                                            \
 103     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
 104       data, len, class_loader(), thread_type);                   \
 105   }
 106 
 107 #define DTRACE_CLASSINIT_PROBE_WAIT(type, thread_type, wait)     \
 108   {                                                              \
 109     char* data = NULL;                                           \
 110     int len = 0;                                                 \
 111     Symbol* clss_name = name();                                  \
 112     if (clss_name != NULL) {                                     \
 113       data = (char*)clss_name->bytes();                          \
 114       len = clss_name->utf8_length();                            \
 115     }                                                            \
 116     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
 117       data, len, class_loader(), thread_type, wait);             \
 118   }
 119 
 120 #else //  ndef DTRACE_ENABLED
 121 
 122 #define DTRACE_CLASSINIT_PROBE(type, thread_type)
 123 #define DTRACE_CLASSINIT_PROBE_WAIT(type, thread_type, wait)
 124 
 125 #endif //  ndef DTRACE_ENABLED
 126 
 127 volatile int InstanceKlass::_total_instanceKlass_count = 0;
 128 
 129 static inline bool is_class_loader(const Symbol* class_name,
 130                                    const ClassFileParser& parser) {
 131   assert(class_name != NULL, "invariant");
 132 
 133   if (class_name == vmSymbols::java_lang_ClassLoader()) {
 134     return true;
 135   }
 136 
 137   if (SystemDictionary::ClassLoader_klass_loaded()) {




  84 
  85 
  86 #define HOTSPOT_CLASS_INITIALIZATION_required HOTSPOT_CLASS_INITIALIZATION_REQUIRED
  87 #define HOTSPOT_CLASS_INITIALIZATION_recursive HOTSPOT_CLASS_INITIALIZATION_RECURSIVE
  88 #define HOTSPOT_CLASS_INITIALIZATION_concurrent HOTSPOT_CLASS_INITIALIZATION_CONCURRENT
  89 #define HOTSPOT_CLASS_INITIALIZATION_erroneous HOTSPOT_CLASS_INITIALIZATION_ERRONEOUS
  90 #define HOTSPOT_CLASS_INITIALIZATION_super__failed HOTSPOT_CLASS_INITIALIZATION_SUPER_FAILED
  91 #define HOTSPOT_CLASS_INITIALIZATION_clinit HOTSPOT_CLASS_INITIALIZATION_CLINIT
  92 #define HOTSPOT_CLASS_INITIALIZATION_error HOTSPOT_CLASS_INITIALIZATION_ERROR
  93 #define HOTSPOT_CLASS_INITIALIZATION_end HOTSPOT_CLASS_INITIALIZATION_END
  94 #define DTRACE_CLASSINIT_PROBE(type, thread_type)                \
  95   {                                                              \
  96     char* data = NULL;                                           \
  97     int len = 0;                                                 \
  98     Symbol* clss_name = name();                                  \
  99     if (clss_name != NULL) {                                     \
 100       data = (char*)clss_name->bytes();                          \
 101       len = clss_name->utf8_length();                            \
 102     }                                                            \
 103     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
 104       data, len, (void*)class_loader(), thread_type);            \
 105   }
 106 
 107 #define DTRACE_CLASSINIT_PROBE_WAIT(type, thread_type, wait)     \
 108   {                                                              \
 109     char* data = NULL;                                           \
 110     int len = 0;                                                 \
 111     Symbol* clss_name = name();                                  \
 112     if (clss_name != NULL) {                                     \
 113       data = (char*)clss_name->bytes();                          \
 114       len = clss_name->utf8_length();                            \
 115     }                                                            \
 116     HOTSPOT_CLASS_INITIALIZATION_##type(                         \
 117       data, len, (void*)class_loader(), thread_type, wait);      \
 118   }
 119 
 120 #else //  ndef DTRACE_ENABLED
 121 
 122 #define DTRACE_CLASSINIT_PROBE(type, thread_type)
 123 #define DTRACE_CLASSINIT_PROBE_WAIT(type, thread_type, wait)
 124 
 125 #endif //  ndef DTRACE_ENABLED
 126 
 127 volatile int InstanceKlass::_total_instanceKlass_count = 0;
 128 
 129 static inline bool is_class_loader(const Symbol* class_name,
 130                                    const ClassFileParser& parser) {
 131   assert(class_name != NULL, "invariant");
 132 
 133   if (class_name == vmSymbols::java_lang_ClassLoader()) {
 134     return true;
 135   }
 136 
 137   if (SystemDictionary::ClassLoader_klass_loaded()) {


< prev index next >