hotspot/src/share/vm/runtime/thread.cpp
changeset 27917 c5937f7b4e8b
parent 27656 edf22ab2020b
child 27923 2c79bc396381
equal deleted inserted replaced
27916:6db2a04e72b1 27917:c5937f7b4e8b
  1074                          value_str,
  1074                          value_str,
  1075                          CHECK);
  1075                          CHECK);
  1076 }
  1076 }
  1077 
  1077 
  1078 
  1078 
  1079 void JavaThread::allocate_threadObj(Handle thread_group, char* thread_name,
  1079 void JavaThread::allocate_threadObj(Handle thread_group, const char* thread_name,
  1080                                     bool daemon, TRAPS) {
  1080                                     bool daemon, TRAPS) {
  1081   assert(thread_group.not_null(), "thread group should be specified");
  1081   assert(thread_group.not_null(), "thread group should be specified");
  1082   assert(threadObj() == NULL, "should only create Java thread object once");
  1082   assert(threadObj() == NULL, "should only create Java thread object once");
  1083 
  1083 
  1084   Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK);
  1084   Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK);
  1121 
  1121 
  1122   if (HAS_PENDING_EXCEPTION) {
  1122   if (HAS_PENDING_EXCEPTION) {
  1123     return;
  1123     return;
  1124   }
  1124   }
  1125 
  1125 
  1126   KlassHandle group(this, SystemDictionary::ThreadGroup_klass());
  1126   KlassHandle group(THREAD, SystemDictionary::ThreadGroup_klass());
  1127   Handle threadObj(this, this->threadObj());
  1127   Handle threadObj(THREAD, this->threadObj());
  1128 
  1128 
  1129   JavaCalls::call_special(&result,
  1129   JavaCalls::call_special(&result,
  1130                           thread_group,
  1130                           thread_group,
  1131                           group,
  1131                           group,
  1132                           vmSymbols::add_method_name(),
  1132                           vmSymbols::add_method_name(),
  1133                           vmSymbols::thread_void_signature(),
  1133                           vmSymbols::thread_void_signature(),
  1134                           threadObj,          // Arg 1
  1134                           threadObj,          // Arg 1
  1135                           THREAD);
  1135                           THREAD);
  1136 
       
  1137 
       
  1138 }
  1136 }
  1139 
  1137 
  1140 // NamedThread --  non-JavaThread subclasses with multiple
  1138 // NamedThread --  non-JavaThread subclasses with multiple
  1141 // uniquely named instances should derive from this.
  1139 // uniquely named instances should derive from this.
  1142 NamedThread::NamedThread() : Thread() {
  1140 NamedThread::NamedThread() : Thread() {