RFR(S) 8161598,,Kitchensink fails:	assert(nm->insts_contains(original_pc)) failed: original PC must be in	nmethod/CompiledMethod
    dean.long at oracle.com 
    dean.long at oracle.com
       
    Mon Aug 15 18:41:42 UTC 2016
    
    
  
On 8/15/16 11:02 AM, Andrew Haley wrote:
> I've written an AArch64 version of this, but given that the bug is
> secret I can't figure out how to test it properly.
>
> Andrew.
Hi Andrew.  Unfortunately, the test and the code that is calling 
JavaThread::pd_get_top_frame() are all closed.  Does aarch64 have an 
tests that exercise JavaThread::pd_get_top_frame()?  To test, you need 
to suspend a thread, check if the thread state is _thread_in_Java, get 
the context, call pd_get_top_frame(), then try to walk the stack.
Or to get a deterministic way to test, I think you could insert illegal 
instructions in strategic places where the anchor frame is being set up 
(set_last_Java_frame() and C2 CallRuntimeDirect) and then call 
pd_get_top_frame() in the signal handler, try to walk backwards a few 
frames, patch the illegal instruction with a NOP, and return.
dl
    
    
More information about the hotspot-runtime-dev
mailing list