Mercurial > hg > truffle
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(); |