comparison src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp @ 20710:c5e86c5cd22e

8066964: ppc64: argument and return type profiling, fix problem with popframe Reviewed-by: roland, kvn
author goetz
date Fri, 12 Dec 2014 08:48:56 +0100
parents 71a71b0bc844
children
comparison
equal deleted inserted replaced
20709:28f116adb50c 20710:c5e86c5cd22e
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();