< prev index next >

src/share/vm/runtime/os.cpp

Print this page
rev 9595 : 8133023: ParallelGCThreads is not calculated correctly
Reviewed-by: kbarrett, tschatzl, sangheki, dholmes
rev 9597 : [mq]: delta2


 299             InstanceKlass::cast(PENDING_EXCEPTION->klass())->
 300               name()->as_klass_external_name(klass_name, 256);
 301             if (os::exception_name(sig, tmp_sig_name, 16) != NULL)
 302               sig_name = tmp_sig_name;
 303             warning("Exception %s occurred dispatching signal %s to handler"
 304                     "- the VM may need to be forcibly terminated",
 305                     klass_name, sig_name );
 306           }
 307           CLEAR_PENDING_EXCEPTION;
 308         }
 309       }
 310     }
 311   }
 312 }
 313 
 314 void os::init_before_ergo() {
 315   // We need to initialize large page support here because ergonomics takes some
 316   // decisions depending on large page support and the calculated large page size.
 317   large_page_init();
 318 
 319   VM_Version::vm_init_before_ergo();


 320 }
 321 
 322 void os::signal_init() {
 323   if (!ReduceSignalUsage) {
 324     // Setup JavaThread for processing signals
 325     EXCEPTION_MARK;
 326     Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK);
 327     instanceKlassHandle klass (THREAD, k);
 328     instanceHandle thread_oop = klass->allocate_instance_handle(CHECK);
 329 
 330     const char thread_name[] = "Signal Dispatcher";
 331     Handle string = java_lang_String::create_from_str(thread_name, CHECK);
 332 
 333     // Initialize thread_oop to put it into the system threadGroup
 334     Handle thread_group (THREAD, Universe::system_thread_group());
 335     JavaValue result(T_VOID);
 336     JavaCalls::call_special(&result, thread_oop,
 337                            klass,
 338                            vmSymbols::object_initializer_name(),
 339                            vmSymbols::threadgroup_string_void_signature(),




 299             InstanceKlass::cast(PENDING_EXCEPTION->klass())->
 300               name()->as_klass_external_name(klass_name, 256);
 301             if (os::exception_name(sig, tmp_sig_name, 16) != NULL)
 302               sig_name = tmp_sig_name;
 303             warning("Exception %s occurred dispatching signal %s to handler"
 304                     "- the VM may need to be forcibly terminated",
 305                     klass_name, sig_name );
 306           }
 307           CLEAR_PENDING_EXCEPTION;
 308         }
 309       }
 310     }
 311   }
 312 }
 313 
 314 void os::init_before_ergo() {
 315   // We need to initialize large page support here because ergonomics takes some
 316   // decisions depending on large page support and the calculated large page size.
 317   large_page_init();
 318 
 319   // VM version initialization identifies some characteristics of the
 320   // the platform that are used during ergonomic decisions.
 321   VM_Version::init_before_ergo();
 322 }
 323 
 324 void os::signal_init() {
 325   if (!ReduceSignalUsage) {
 326     // Setup JavaThread for processing signals
 327     EXCEPTION_MARK;
 328     Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_Thread(), true, CHECK);
 329     instanceKlassHandle klass (THREAD, k);
 330     instanceHandle thread_oop = klass->allocate_instance_handle(CHECK);
 331 
 332     const char thread_name[] = "Signal Dispatcher";
 333     Handle string = java_lang_String::create_from_str(thread_name, CHECK);
 334 
 335     // Initialize thread_oop to put it into the system threadGroup
 336     Handle thread_group (THREAD, Universe::system_thread_group());
 337     JavaValue result(T_VOID);
 338     JavaCalls::call_special(&result, thread_oop,
 339                            klass,
 340                            vmSymbols::object_initializer_name(),
 341                            vmSymbols::threadgroup_string_void_signature(),


< prev index next >