src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp

changeset 5426
af21010d1062
parent 5424
5e3b6f79d280
parent 5400
980532a806a5
child 6349
7d28f4e15b61
     1.1 --- a/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Wed Jul 17 13:48:15 2013 +0200
     1.2 +++ b/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Thu Jul 18 12:35:55 2013 -0700
     1.3 @@ -352,13 +352,6 @@
     1.4  
     1.5  }
     1.6  
     1.7 -extern "C" void Fetch32PFI () ;
     1.8 -extern "C" void Fetch32Resume () ;
     1.9 -#ifdef AMD64
    1.10 -extern "C" void FetchNPFI () ;
    1.11 -extern "C" void FetchNResume () ;
    1.12 -#endif // AMD64
    1.13 -
    1.14  extern "C" JNIEXPORT int
    1.15  JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
    1.16                            int abort_if_unrecognized) {
    1.17 @@ -440,17 +433,10 @@
    1.18      // factor me: getPCfromContext
    1.19      pc = (address) uc->uc_mcontext.gregs[REG_PC];
    1.20  
    1.21 -    // SafeFetch32() support
    1.22 -    if (pc == (address) Fetch32PFI) {
    1.23 -      uc->uc_mcontext.gregs[REG_PC] = intptr_t(Fetch32Resume) ;
    1.24 -      return true ;
    1.25 +    if (StubRoutines::is_safefetch_fault(pc)) {
    1.26 +      uc->uc_mcontext.gregs[REG_PC] = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc));
    1.27 +      return true;
    1.28      }
    1.29 -#ifdef AMD64
    1.30 -    if (pc == (address) FetchNPFI) {
    1.31 -       uc->uc_mcontext.gregs [REG_PC] = intptr_t(FetchNResume) ;
    1.32 -       return true ;
    1.33 -    }
    1.34 -#endif // AMD64
    1.35  
    1.36      // Handle ALL stack overflow variations here
    1.37      if (sig == SIGSEGV && info->si_code == SEGV_ACCERR) {

mercurial