RFR: 8141133: [JVMCI] crash during safepoint deopt if rethrow_exception is set.

Gilles Duboscq gilles.m.duboscq at oracle.com
Thu Nov 12 12:31:26 UTC 2015


Thank you for pushing this through Christian.
 Gilles

On 11/11/15 22:42, Christian Thalinger wrote:
> Now the change passed JPRT successfully.  This looks good.
> 
>> On Nov 11, 2015, at 10:11 AM, Christian Thalinger <christian.thalinger at oracle.com <mailto:christian.thalinger at oracle.com>> wrote:
>>
>> There was a bug in 32-bit x86 which Gilles fixed:
>>
>> diff -r 24fd08e99b35 -r 372cb6e59b0d src/cpu/x86/vm/sharedRuntime_x86_32.cpp
>> --- a/src/cpu/x86/vm/sharedRuntime_x86_32.cppWed Nov 11 10:33:08 2015 +0100
>> +++ b/src/cpu/x86/vm/sharedRuntime_x86_32.cppWed Nov 11 18:34:15 2015 +0100
>> @@ -2946,7 +2946,8 @@
>>
>>   oop_maps->add_gc_map( __ pc()-start, map);
>>
>> -  // Discard arg to fetch_unroll_info
>> +  // Discard args to fetch_unroll_info
>> +  __ pop(rcx);
>>   __ pop(rcx);
>>
>>   __ get_thread(dcx);
>>
>>> On Nov 9, 2015, at 6:50 AM, Gilles Duboscq <gilles.m.duboscq at oracle.com <mailto:gilles.m.duboscq at oracle.com>> wrote:
>>>
>>> I updated the webrev to export the UnrollBlock::_unpack_kind field through vmStruct and JVMCI's HotSpotVMConfig:
>>>
>>> http://cr.openjdk.java.net/~gdub/webrev-8141133.1
>>>
>>> The only difference to the previous webrev are the changes in vmStruct.cpp  and HotSpotVMConfig.java
>>>
>>> Gilles
>>>
>>> On 05/11/15 16:28, Gilles Duboscq wrote:
>>>> Hi,
>>>>
>>>> Please review the following change:
>>>>
>>>> Webrev:
>>>> http://cr.openjdk.java.net/~gdub/webrev-8141133/
>>>> JIRA:
>>>> https://bugs.openjdk.java.net/browse/JDK-8141133
>>>>
>>>> Scopes with rethrow_exception set to true need to be handled for all types of deoptimization, not just for uncommon traps.
>>>> This change moves their handling from uncommon_trap_inner to fetch_unroll_info_helper and uses exception_oop and exec_mode = Unpack_exception rather than setting a pending exception.
>>>> fetch_unroll_info_helper can now override the exec_mode by passing it through the UnrollBlock using the existing unpack_kind field.
>>>>
>>>> Gilles
>>>>
>>
> 


More information about the hotspot-compiler-dev mailing list