89 // Calculate and store the limits of the memory stack. |
89 // Calculate and store the limits of the memory stack. |
90 void os::initialize_thread(Thread *thread) { } |
90 void os::initialize_thread(Thread *thread) { } |
91 |
91 |
92 // Frame information (pc, sp, fp) retrieved via ucontext |
92 // Frame information (pc, sp, fp) retrieved via ucontext |
93 // always looks like a C-frame according to the frame |
93 // always looks like a C-frame according to the frame |
94 // conventions in frame_ppc64.hpp. |
94 // conventions in frame_ppc.hpp. |
95 address os::Aix::ucontext_get_pc(ucontext_t * uc) { |
95 |
|
96 address os::Aix::ucontext_get_pc(const ucontext_t * uc) { |
96 return (address)uc->uc_mcontext.jmp_context.iar; |
97 return (address)uc->uc_mcontext.jmp_context.iar; |
97 } |
98 } |
98 |
99 |
99 intptr_t* os::Aix::ucontext_get_sp(ucontext_t * uc) { |
100 intptr_t* os::Aix::ucontext_get_sp(ucontext_t * uc) { |
100 // gpr1 holds the stack pointer on aix |
101 // gpr1 holds the stack pointer on aix |
484 } |
485 } |
485 |
486 |
486 //////////////////////////////////////////////////////////////////////////////// |
487 //////////////////////////////////////////////////////////////////////////////// |
487 // thread stack |
488 // thread stack |
488 |
489 |
489 size_t os::Aix::min_stack_allowed = 768*K; |
490 size_t os::Aix::min_stack_allowed = 128*K; |
490 |
491 |
491 // Aix is always in floating stack mode. The stack size for a new |
492 // Aix is always in floating stack mode. The stack size for a new |
492 // thread can be set via pthread_attr_setstacksize(). |
493 // thread can be set via pthread_attr_setstacksize(). |
493 bool os::Aix::supports_variable_stack_size() { return true; } |
494 bool os::Aix::supports_variable_stack_size() { return true; } |
494 |
495 |
497 // default stack size (compiler thread needs larger stack) |
498 // default stack size (compiler thread needs larger stack) |
498 // Notice that the setting for compiler threads here have no impact |
499 // Notice that the setting for compiler threads here have no impact |
499 // because of the strange 'fallback logic' in os::create_thread(). |
500 // because of the strange 'fallback logic' in os::create_thread(). |
500 // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to |
501 // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to |
501 // specify a different stack size for compiler threads! |
502 // specify a different stack size for compiler threads! |
502 size_t s = (thr_type == os::compiler_thread ? 4 * M : 1024 * K); |
503 size_t s = (thr_type == os::compiler_thread ? 4 * M : 1 * M); |
503 return s; |
504 return s; |
504 } |
505 } |
505 |
506 |
506 size_t os::Aix::default_guard_size(os::ThreadType thr_type) { |
507 size_t os::Aix::default_guard_size(os::ThreadType thr_type) { |
507 return 2 * page_size(); |
508 return 2 * page_size(); |