< prev index next >

src/share/vm/runtime/thread.cpp

Print this page
rev 8615 : CMSParallelFullGC: Parallel version of CMS Full GC.


1128     return;
1129   }
1130 
1131   KlassHandle group(THREAD, SystemDictionary::ThreadGroup_klass());
1132   Handle threadObj(THREAD, this->threadObj());
1133 
1134   JavaCalls::call_special(&result,
1135                           thread_group,
1136                           group,
1137                           vmSymbols::add_method_name(),
1138                           vmSymbols::thread_void_signature(),
1139                           threadObj,          // Arg 1
1140                           THREAD);
1141 }
1142 
1143 // NamedThread --  non-JavaThread subclasses with multiple
1144 // uniquely named instances should derive from this.
1145 NamedThread::NamedThread() : Thread() {
1146   _name = NULL;
1147   _processed_thread = NULL;


1148 }
1149 
1150 NamedThread::~NamedThread() {
1151   if (_name != NULL) {
1152     FREE_C_HEAP_ARRAY(char, _name);
1153     _name = NULL;
1154   }
1155 }
1156 
1157 void NamedThread::set_name(const char* format, ...) {
1158   guarantee(_name == NULL, "Only get to set name once.");
1159   _name = NEW_C_HEAP_ARRAY(char, max_name_len, mtThread);
1160   guarantee(_name != NULL, "alloc failure");
1161   va_list ap;
1162   va_start(ap, format);
1163   jio_vsnprintf(_name, max_name_len, format, ap);
1164   va_end(ap);
1165 }
1166 
1167 void NamedThread::initialize_named_thread() {




1128     return;
1129   }
1130 
1131   KlassHandle group(THREAD, SystemDictionary::ThreadGroup_klass());
1132   Handle threadObj(THREAD, this->threadObj());
1133 
1134   JavaCalls::call_special(&result,
1135                           thread_group,
1136                           group,
1137                           vmSymbols::add_method_name(),
1138                           vmSymbols::thread_void_signature(),
1139                           threadObj,          // Arg 1
1140                           THREAD);
1141 }
1142 
1143 // NamedThread --  non-JavaThread subclasses with multiple
1144 // uniquely named instances should derive from this.
1145 NamedThread::NamedThread() : Thread() {
1146   _name = NULL;
1147   _processed_thread = NULL;
1148 
1149   reset_pms_data();
1150 }
1151 
1152 NamedThread::~NamedThread() {
1153   if (_name != NULL) {
1154     FREE_C_HEAP_ARRAY(char, _name);
1155     _name = NULL;
1156   }
1157 }
1158 
1159 void NamedThread::set_name(const char* format, ...) {
1160   guarantee(_name == NULL, "Only get to set name once.");
1161   _name = NEW_C_HEAP_ARRAY(char, max_name_len, mtThread);
1162   guarantee(_name != NULL, "alloc failure");
1163   va_list ap;
1164   va_start(ap, format);
1165   jio_vsnprintf(_name, max_name_len, format, ap);
1166   va_end(ap);
1167 }
1168 
1169 void NamedThread::initialize_named_thread() {


< prev index next >