Re: Request for reviews (XS): 7101642: JSR 292: SIGSEGV in =?utf-8?Q?java.lang.invoke.MethodHandleImpl=24FieldAccessor.getFieldI(Ljava/lang/Object; _?=)I
christian.thalinger at oracle.com
Tue Oct 25 00:56:11 PDT 2011
Thank you, Igor. -- Chris
On Oct 25, 2011, at 9:43 AM, Igor Veresov wrote:
> Looks good!
> On Monday, October 24, 2011 at 11:53 PM, Vladimir Kozlov wrote:
>> Looks good.
>> On 10/24/11 11:32 PM, Christian Thalinger wrote:
>>> 7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I
>>> In some cases JSR 292 code crashes on SPARC when using
>>> TieredCompilation. But this bug is actually not related to
>>> In SharedRuntime::fixup_callers_callsite there is a bailout on method
>>> handle call sites since we cannot fixup these call sites as the
>>> executed method handle adapters are doing the required MethodHandle
>>> chain work. fixup_callers_callsite gets passed in a caller_pc which
>>> is then passed on to nmethod::is_method_handle_return. But
>>> is_method_handle_return takes a return PC. On the other architectures
>>> these two addresses are the same but on SPARC it's different
>>> (frame::pc_return_offset = 2).
>>> The fix is to adjust caller_pc by frame::pc_return_offset and pass
>>> this value (return_pc) to nmethod::is_method_handle_return.
>>> Tested with failing test case reported in the CR.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev