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. |
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 |