hotspot/src/os_cpu/windows_x86/vm/thread_windows_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.
    71     if (addr.pc() == NULL || ret_sp == NULL ) {
    71     if (addr.pc() == NULL || ret_sp == NULL ) {
    72       // CONTEXT wasn't useful
    72       // CONTEXT wasn't useful
    73       return false;
    73       return false;
    74     }
    74     }
    75 
    75 
    76 #if INCLUDE_CDS
    76     if (MetaspaceShared::is_in_trampoline_frame(addr.pc())) {
    77     if (UseSharedSpaces && MetaspaceShared::is_in_shared_region(addr.pc(), MetaspaceShared::md)) {
       
    78       // In the middle of a trampoline call. Bail out for safety.
    77       // In the middle of a trampoline call. Bail out for safety.
    79       // This happens rarely so shouldn't affect profiling.
    78       // This happens rarely so shouldn't affect profiling.
    80       return false;
    79       return false;
    81     }
    80     }
    82 #endif
       
    83 
    81 
    84     frame ret_frame(ret_sp, ret_fp, addr.pc());
    82     frame ret_frame(ret_sp, ret_fp, addr.pc());
    85     if (!ret_frame.safe_for_sender(jt)) {
    83     if (!ret_frame.safe_for_sender(jt)) {
    86 #if defined(COMPILER2) || INCLUDE_JVMCI
    84 #if defined(COMPILER2) || INCLUDE_JVMCI
    87       // C2 and JVMCI use ebp as a general register see if NULL fp helps
    85       // C2 and JVMCI use ebp as a general register see if NULL fp helps