< prev index next >

src/share/vm/runtime/os.cpp

Print this page

        

*** 289,301 **** break; } default: { // Dispatch the signal to java HandleMark hm(THREAD); ! Klass* k = SystemDictionary::resolve_or_null(vmSymbols::jdk_internal_misc_Signal(), THREAD); ! KlassHandle klass (THREAD, k); ! if (klass.not_null()) { JavaValue result(T_VOID); JavaCallArguments args; args.push_int(sig); JavaCalls::call_static( &result, --- 289,300 ---- break; } default: { // Dispatch the signal to java HandleMark hm(THREAD); ! Klass* klass = SystemDictionary::resolve_or_null(vmSymbols::jdk_internal_misc_Signal(), THREAD); ! if (klass != NULL) { JavaValue result(T_VOID); JavaCallArguments args; args.push_int(sig); JavaCalls::call_static( &result,
*** 350,377 **** void os::signal_init(TRAPS) { if (!ReduceSignalUsage) { // Setup JavaThread for processing signals Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK); ! instanceKlassHandle klass (THREAD, k); ! instanceHandle thread_oop = klass->allocate_instance_handle(CHECK); const char thread_name[] = "Signal Dispatcher"; Handle string = java_lang_String::create_from_str(thread_name, CHECK); // Initialize thread_oop to put it into the system threadGroup Handle thread_group (THREAD, Universe::system_thread_group()); JavaValue result(T_VOID); JavaCalls::call_special(&result, thread_oop, ! klass, vmSymbols::object_initializer_name(), vmSymbols::threadgroup_string_void_signature(), thread_group, string, CHECK); ! KlassHandle group(THREAD, SystemDictionary::ThreadGroup_klass()); JavaCalls::call_special(&result, thread_group, group, vmSymbols::add_method_name(), vmSymbols::thread_void_signature(), --- 349,376 ---- void os::signal_init(TRAPS) { if (!ReduceSignalUsage) { // Setup JavaThread for processing signals Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK); ! InstanceKlass* ik = InstanceKlass::cast(k); ! instanceHandle thread_oop = ik->allocate_instance_handle(CHECK); const char thread_name[] = "Signal Dispatcher"; Handle string = java_lang_String::create_from_str(thread_name, CHECK); // Initialize thread_oop to put it into the system threadGroup Handle thread_group (THREAD, Universe::system_thread_group()); JavaValue result(T_VOID); JavaCalls::call_special(&result, thread_oop, ! ik, vmSymbols::object_initializer_name(), vmSymbols::threadgroup_string_void_signature(), thread_group, string, CHECK); ! Klass* group = SystemDictionary::ThreadGroup_klass(); JavaCalls::call_special(&result, thread_group, group, vmSymbols::add_method_name(), vmSymbols::thread_void_signature(),
< prev index next >