[lworld] RFR: 8262748: [lworld] print out reason information for Deoptimize instruction

Yi Yang github.com+5010047+kelthuzadx at openjdk.java.net
Tue Mar 2 13:23:56 UTC 2021


On Mon, 1 Mar 2021 13:42:48 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> The instruction printer only tells that there is a deoptimization instruction, but not indicates they are deoptimized due to which class is not loaded.
>> 
>> Java
>> ----
>> static void test1(Object[] arr) {
>> 	TestValue v = TestValue.default;
>> 	arr[0] = v;
>> }
>> HIR(OLD)
>> ---
>> . 0    2    a2     deoptimize
>> . 5    1    i3     0
>> . 7    0    a4     a1[i3] := a2 (L) [rc] What's the type of a2?
>> . 8    0    v5     return
>> HIR(NEW)
>> ---
>> . 0    2    a2     deoptimize [unloaded=Test$TestValue]
>> . 5    1    i3     0
>> . 7    0    a4     a1[i3] := a2 (L) [rc]
>> . 8    0    v5     return
>> 
>> In addition, I restore some comments on LIRGenerator::do_Deoptimize, I'm not sure whether these comments were removed deliberately or accidentally, so please let me know if I did wrong. 
>> 
>> Thanks!
>> Yang
>
> Looks good to me.

Thanks Tobias for the reivew!

-------------

PR: https://git.openjdk.java.net/valhalla/pull/356



More information about the valhalla-dev mailing list