equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2018, 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. |
241 } |
241 } |
242 if (fr.is_java_frame() || fr.is_native_frame() || fr.is_runtime_frame()) { |
242 if (fr.is_java_frame() || fr.is_native_frame() || fr.is_runtime_frame()) { |
243 RegisterMap map((JavaThread*)t, false); // No update |
243 RegisterMap map((JavaThread*)t, false); // No update |
244 fr = fr.sender(&map); |
244 fr = fr.sender(&map); |
245 } else { |
245 } else { |
|
246 // is_first_C_frame() does only simple checks for frame pointer, |
|
247 // it will pass if java compiled code has a pointer in EBP. |
|
248 if (os::is_first_C_frame(&fr)) break; |
246 fr = os::get_sender_for_C_frame(&fr); |
249 fr = os::get_sender_for_C_frame(&fr); |
247 } |
250 } |
248 } else { |
251 } else { |
249 // is_first_C_frame() does only simple checks for frame pointer, |
|
250 // it will pass if java compiled code has a pointer in EBP. |
|
251 if (os::is_first_C_frame(&fr)) break; |
252 if (os::is_first_C_frame(&fr)) break; |
252 fr = os::get_sender_for_C_frame(&fr); |
253 fr = os::get_sender_for_C_frame(&fr); |
253 } |
254 } |
254 } |
255 } |
255 |
256 |