1.1 --- a/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp Tue Dec 10 14:29:43 2013 +0100 1.2 +++ b/src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp Wed Dec 11 00:06:11 2013 +0100 1.3 @@ -67,7 +67,7 @@ 1.4 address csp; 1.5 1.6 #if !defined(USE_XLC_BUILTINS) 1.7 - // inline assembly for `ppc_mr regno(csp), PPC_SP': 1.8 + // inline assembly for `mr regno(csp), R1_SP': 1.9 __asm__ __volatile__ ("mr %0, 1":"=r"(csp):); 1.10 #else 1.11 csp = (address) __builtin_frame_address(0); 1.12 @@ -263,7 +263,7 @@ 1.13 tty->print_raw_cr("An irrecoverable stack overflow has occurred."); 1.14 goto report_and_die; 1.15 } else { 1.16 - // this means a segv happened inside our stack, but not in 1.17 + // This means a segv happened inside our stack, but not in 1.18 // the guarded zone. I'd like to know when this happens, 1.19 tty->print_raw_cr("SIGSEGV happened inside stack but outside yellow and red zone."); 1.20 goto report_and_die; 1.21 @@ -312,53 +312,57 @@ 1.22 // in the zero page, because it is filled with 0x0. We ignore 1.23 // explicit SIGILLs in the zero page. 1.24 if (sig == SIGILL && (pc < (address) 0x200)) { 1.25 - if (TraceTraps) 1.26 + if (TraceTraps) { 1.27 tty->print_raw_cr("SIGILL happened inside zero page."); 1.28 + } 1.29 goto report_and_die; 1.30 } 1.31 1.32 // Handle signal from NativeJump::patch_verified_entry(). 1.33 if (( TrapBasedNotEntrantChecks && sig == SIGTRAP && nativeInstruction_at(pc)->is_sigtrap_zombie_not_entrant()) || 1.34 (!TrapBasedNotEntrantChecks && sig == SIGILL && nativeInstruction_at(pc)->is_sigill_zombie_not_entrant())) { 1.35 - if (TraceTraps) 1.36 + if (TraceTraps) { 1.37 tty->print_cr("trap: zombie_not_entrant (%s)", (sig == SIGTRAP) ? "SIGTRAP" : "SIGILL"); 1.38 + } 1.39 stub = SharedRuntime::get_handle_wrong_method_stub(); 1.40 goto run_stub; 1.41 } 1.42 1.43 else if (sig == SIGSEGV && os::is_poll_address(addr)) { 1.44 - if (TraceTraps) 1.45 + if (TraceTraps) { 1.46 tty->print_cr("trap: safepoint_poll at " INTPTR_FORMAT " (SIGSEGV)", pc); 1.47 + } 1.48 stub = SharedRuntime::get_poll_stub(pc); 1.49 goto run_stub; 1.50 } 1.51 1.52 - // SIGTRAP-based ic miss check in compiled code 1.53 + // SIGTRAP-based ic miss check in compiled code. 1.54 else if (sig == SIGTRAP && TrapBasedICMissChecks && 1.55 nativeInstruction_at(pc)->is_sigtrap_ic_miss_check()) { 1.56 - if (TraceTraps) 1.57 + if (TraceTraps) { 1.58 tty->print_cr("trap: ic_miss_check at " INTPTR_FORMAT " (SIGTRAP)", pc); 1.59 + } 1.60 stub = SharedRuntime::get_ic_miss_stub(); 1.61 goto run_stub; 1.62 } 1.63 1.64 -#ifdef COMPILER2 1.65 // SIGTRAP-based implicit null check in compiled code. 1.66 else if (sig == SIGTRAP && TrapBasedNullChecks && 1.67 nativeInstruction_at(pc)->is_sigtrap_null_check()) { 1.68 - if (TraceTraps) 1.69 + if (TraceTraps) { 1.70 tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGTRAP)", pc); 1.71 + } 1.72 stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); 1.73 goto run_stub; 1.74 } 1.75 -#endif 1.76 1.77 // SIGSEGV-based implicit null check in compiled code. 1.78 else if (sig == SIGSEGV && ImplicitNullChecks && 1.79 CodeCache::contains((void*) pc) && 1.80 !MacroAssembler::needs_explicit_null_check((intptr_t) info->si_addr)) { 1.81 - if (TraceTraps) 1.82 + if (TraceTraps) { 1.83 tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGSEGV)", pc); 1.84 + } 1.85 stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); 1.86 } 1.87 1.88 @@ -366,8 +370,9 @@ 1.89 // SIGTRAP-based implicit range check in compiled code. 1.90 else if (sig == SIGTRAP && TrapBasedRangeChecks && 1.91 nativeInstruction_at(pc)->is_sigtrap_range_check()) { 1.92 - if (TraceTraps) 1.93 + if (TraceTraps) { 1.94 tty->print_cr("trap: range_check at " INTPTR_FORMAT " (SIGTRAP)", pc); 1.95 + } 1.96 stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); 1.97 goto run_stub; 1.98 }