src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp

changeset 6495
67fa91961822
parent 6465
666e6ce3976c
child 6515
71a71b0bc844
     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        }

mercurial