< prev index next >

hotspot/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp

Print this page




 516   sigthreadmask(SIG_UNBLOCK, &newset, NULL);
 517 
 518   VMError::report_and_die(t, sig, pc, info, ucVoid);
 519 
 520   ShouldNotReachHere();
 521   return 0;
 522 }
 523 
 524 void os::Aix::init_thread_fpu_state(void) {
 525 #if !defined(USE_XLC_BUILTINS)
 526   // Disable FP exceptions.
 527   __asm__ __volatile__ ("mtfsfi 6,0");
 528 #else
 529   __mtfsfi(6, 0);
 530 #endif
 531 }
 532 
 533 ////////////////////////////////////////////////////////////////////////////////
 534 // thread stack
 535 
 536 size_t os::Aix::min_stack_allowed = 128*K;


 537 
 538 // return default stack size for thr_type
 539 size_t os::Aix::default_stack_size(os::ThreadType thr_type) {
 540   // default stack size (compiler thread needs larger stack)
 541   // Notice that the setting for compiler threads here have no impact
 542   // because of the strange 'fallback logic' in os::create_thread().
 543   // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to
 544   // specify a different stack size for compiler threads!
 545   size_t s = (thr_type == os::compiler_thread ? 4 * M : 1 * M);
 546   return s;
 547 }
 548 
 549 size_t os::Aix::default_guard_size(os::ThreadType thr_type) {
 550   return 2 * page_size();
 551 }
 552 
 553 /////////////////////////////////////////////////////////////////////////////
 554 // helper functions for fatal error handler
 555 
 556 void os::print_context(outputStream *st, const void *context) {
 557   if (context == NULL) return;
 558 
 559   const ucontext_t* uc = (const ucontext_t*)context;
 560 
 561   st->print_cr("Registers:");
 562   st->print("pc =" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.iar);
 563   st->print("lr =" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.lr);
 564   st->print("ctr=" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.ctr);
 565   st->cr();
 566   for (int i = 0; i < 32; i++) {
 567     st->print("r%-2d=" INTPTR_FORMAT "  ", i, uc->uc_mcontext.jmp_context.gpr[i]);
 568     if (i % 3 == 2) st->cr();
 569   }
 570   st->cr();
 571   st->cr();
 572 




 516   sigthreadmask(SIG_UNBLOCK, &newset, NULL);
 517 
 518   VMError::report_and_die(t, sig, pc, info, ucVoid);
 519 
 520   ShouldNotReachHere();
 521   return 0;
 522 }
 523 
 524 void os::Aix::init_thread_fpu_state(void) {
 525 #if !defined(USE_XLC_BUILTINS)
 526   // Disable FP exceptions.
 527   __asm__ __volatile__ ("mtfsfi 6,0");
 528 #else
 529   __mtfsfi(6, 0);
 530 #endif
 531 }
 532 
 533 ////////////////////////////////////////////////////////////////////////////////
 534 // thread stack
 535 
 536 size_t os::Posix::_compiler_thread_min_stack_allowed = 128 * K;
 537 size_t os::Posix::_java_thread_min_stack_allowed = 128 * K;
 538 size_t os::Posix::_vm_internal_thread_min_stack_allowed = 128 * K;
 539 
 540 // return default stack size for thr_type
 541 size_t os::Posix::default_stack_size(os::ThreadType thr_type) {
 542   // default stack size (compiler thread needs larger stack)




 543   size_t s = (thr_type == os::compiler_thread ? 4 * M : 1 * M);
 544   return s;
 545 }
 546 




 547 /////////////////////////////////////////////////////////////////////////////
 548 // helper functions for fatal error handler
 549 
 550 void os::print_context(outputStream *st, const void *context) {
 551   if (context == NULL) return;
 552 
 553   const ucontext_t* uc = (const ucontext_t*)context;
 554 
 555   st->print_cr("Registers:");
 556   st->print("pc =" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.iar);
 557   st->print("lr =" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.lr);
 558   st->print("ctr=" INTPTR_FORMAT "  ", uc->uc_mcontext.jmp_context.ctr);
 559   st->cr();
 560   for (int i = 0; i < 32; i++) {
 561     st->print("r%-2d=" INTPTR_FORMAT "  ", i, uc->uc_mcontext.jmp_context.gpr[i]);
 562     if (i % 3 == 2) st->cr();
 563   }
 564   st->cr();
 565   st->cr();
 566 


< prev index next >