hotspot/src/os_cpu/bsd_x86/vm/thread_bsd_x86.cpp
changeset 46746 ea379ebb9447
parent 40644 39e631ed7145
equal deleted inserted replaced
46745:f7b9bb98bb72 46746:ea379ebb9447
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    63     if (addr.pc() == NULL || ret_sp == NULL ) {
    63     if (addr.pc() == NULL || ret_sp == NULL ) {
    64       // ucontext wasn't useful
    64       // ucontext wasn't useful
    65       return false;
    65       return false;
    66     }
    66     }
    67 
    67 
    68 #if INCLUDE_CDS
    68     if (MetaspaceShared::is_in_trampoline_frame(addr.pc())) {
    69     if (UseSharedSpaces && MetaspaceShared::is_in_shared_region(addr.pc(), MetaspaceShared::md)) {
       
    70       // In the middle of a trampoline call. Bail out for safety.
    69       // In the middle of a trampoline call. Bail out for safety.
    71       // This happens rarely so shouldn't affect profiling.
    70       // This happens rarely so shouldn't affect profiling.
    72       return false;
    71       return false;
    73     }
    72     }
    74 #endif
       
    75 
    73 
    76     frame ret_frame(ret_sp, ret_fp, addr.pc());
    74     frame ret_frame(ret_sp, ret_fp, addr.pc());
    77     if (!ret_frame.safe_for_sender(jt)) {
    75     if (!ret_frame.safe_for_sender(jt)) {
    78 #if defined(COMPILER2) || INCLUDE_JVMCI
    76 #if defined(COMPILER2) || INCLUDE_JVMCI
    79       // C2 and JVMCI use ebp as a general register see if NULL fp helps
    77       // C2 and JVMCI use ebp as a general register see if NULL fp helps