8182864: [aix] os::print_native_callstack should not assert for primordial threadness
Reviewed-by: clanger, mdoerr
This commit is contained in:
parent
bca94545e8
commit
f525172036
@ -4299,9 +4299,6 @@ void os::Aix::initialize_libperfstat() {
|
|||||||
|
|
||||||
// Function to query the current stack size using pthread_getthrds_np.
|
// Function to query the current stack size using pthread_getthrds_np.
|
||||||
static bool query_stack_dimensions(address* p_stack_base, size_t* p_stack_size) {
|
static bool query_stack_dimensions(address* p_stack_base, size_t* p_stack_size) {
|
||||||
// This only works when invoked on a pthread. As we agreed not to use
|
|
||||||
// primordial threads anyway, I assert here.
|
|
||||||
guarantee(!os::Aix::is_primordial_thread(), "not allowed on the primordial thread");
|
|
||||||
|
|
||||||
// Information about this api can be found (a) in the pthread.h header and
|
// Information about this api can be found (a) in the pthread.h header and
|
||||||
// (b) in http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/pthread_getthrds_np.htm
|
// (b) in http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/pthread_getthrds_np.htm
|
||||||
@ -4323,7 +4320,6 @@ static bool query_stack_dimensions(address* p_stack_base, size_t* p_stack_size)
|
|||||||
sizeof(pinfo), dummy, &dummy_size);
|
sizeof(pinfo), dummy, &dummy_size);
|
||||||
|
|
||||||
if (rc != 0) {
|
if (rc != 0) {
|
||||||
assert0(false);
|
|
||||||
trcVerbose("pthread_getthrds_np failed (%d)", rc);
|
trcVerbose("pthread_getthrds_np failed (%d)", rc);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -640,6 +640,7 @@ void AixNativeCallstack::print_callstack_for_context(outputStream* st, const uco
|
|||||||
// fallback: use the current context
|
// fallback: use the current context
|
||||||
ucontext_t local_context;
|
ucontext_t local_context;
|
||||||
if (!uc) {
|
if (!uc) {
|
||||||
|
st->print_cr("No context given, using current context.");
|
||||||
if (getcontext(&local_context) == 0) {
|
if (getcontext(&local_context) == 0) {
|
||||||
uc = &local_context;
|
uc = &local_context;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user