review request (S) JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c

Christian Thalinger christian.thalinger at oracle.com
Tue Feb 7 05:00:04 PST 2012


The fix looks good.

2975     // return address and rbp are already in place
2976     __ subptr(rsp, (framesize-4) << LogBytesPerInt); // prolog

Not related to your change, this is pretty useless because it always subtracts zero.

-- Chris

On Feb 7, 2012, at 11:09 AM, Roland Westrelin wrote:

> http://cr.openjdk.java.net/~roland/7119286/webrev.00/
> 
> SIGSEGV happens in a method handle stub an is used to trigger a NPE but because, the method handle stubs are called from the interpreter (or through a c2i), when the thread executes the throw_NullPointerException_at_call_entry, the stack is not properly aligned. Aligning the stack before the call in throw_NullPointerException_at_call_entry fixes the problem.
> 
> Roland.



More information about the hotspot-compiler-dev mailing list