equal
deleted
inserted
replaced
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 |