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
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!
>
> igor
> On Monday, October 24, 2011 at 11:53 PM, Vladimir Kozlov wrote:
>
>> Looks good.
>>
>> Thanks,
>> Vladimir
>>
>> On 10/24/11 11:32 PM, Christian Thalinger wrote:
>>> http://cr.openjdk.java.net/~twisti/7101642/
>>>
>>> 7101642: JSR 292: SIGSEGV in java.lang.invoke.MethodHandleImpl$FieldAccessor.getFieldI(Ljava/lang/Object;)I
>>> Reviewed-by:
>>>
>>> In some cases JSR 292 code crashes on SPARC when using
>>> TieredCompilation. But this bug is actually not related to
>>> TieredCompilation.
>>>
>>> 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.
>>>
>>> src/share/vm/runtime/sharedRuntime.cpp
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20111025/bef53f59/attachment.html
More information about the hotspot-compiler-dev
mailing list