[16] RFR(M) 825239: AOT need to process new markId DEOPT_MH_HANDLER_ENTRY in compiled code

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Aug 27 17:27:19 UTC 2020


Thank you, Dean

Vladimir K

On 8/27/20 1:36 AM, Dean Long wrote:
> Looks good.
> 
> dl
> 
> On 8/26/20 5:32 PM, Vladimir Kozlov wrote:
>> http://cr.openjdk.java.net/~kvn/8252396/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8252396
>>
>> 8252058 added new markId DEOPT_MH_HANDLER_ENTRY to handle deoptimization for MH invoke.
>> But changes did not updated AOT (jaotc and Hotspot's AOT code) to handle this new markId.
>>
>> We should handle DEOPT_MH_HANDLER_ENTRY in AOT similar to DEOPT_HANDLER_ENTRY.
>>
>> In aotCompiledMethod.hpp, if DEOPT_MH_HANDLER_ENTRY value is set, CompiledMethod::_deopt_mh_handler_begin [2] is set 
>> similar to Graal JIT [3]. I kept current code to set _deopt_mh_handler_begin to 'this' when DEOPT_MH_HANDLER_ENTRY 
>> value is not set. But may be it should be set to NULL as in [3]. May be it does not matter because offset is not used 
>> when there are not MH invoke in method.
>>
>> Tested: ran tests which used AOT (including Graal testing).
>>
>> Thanks,
>> Vladimir
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8252058
>> [2] http://hg.openjdk.java.net/jdk/jdk/file/6abdfb11f342/src/hotspot/share/code/compiledMethod.hpp#l168
>> [3] http://hg.openjdk.java.net/jdk/jdk/file/6abdfb11f342/src/hotspot/share/code/nmethod.cpp#l764
> 


More information about the hotspot-compiler-dev mailing list