45 |
45 |
46 JavaThread* jt = (JavaThread *)this; |
46 JavaThread* jt = (JavaThread *)this; |
47 |
47 |
48 // If we have a last_Java_frame, then we should use it even if |
48 // If we have a last_Java_frame, then we should use it even if |
49 // isInJava == true. It should be more reliable than CONTEXT info. |
49 // isInJava == true. It should be more reliable than CONTEXT info. |
50 if (jt->has_last_Java_frame()) { |
50 if (jt->has_last_Java_frame() && jt->frame_anchor()->walkable()) { |
51 *fr_addr = jt->pd_last_frame(); |
51 *fr_addr = jt->pd_last_frame(); |
52 return true; |
52 return true; |
53 } |
53 } |
54 |
54 |
55 // At this point, we don't have a last_Java_frame, so |
55 // At this point, we don't have a last_Java_frame, so |