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

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


On Mon, 1 Mar 2021 11:57:08 GMT, Yi Yang <github.com+5010047+kelthuzadx 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

This pull request has now been integrated.

Changeset: 6924d180
Author:    Yi Yang <qingfeng.yy at alibaba-inc.com>
Committer: Tobias Hartmann <thartmann at openjdk.org>
URL:       https://git.openjdk.java.net/valhalla/commit/6924d180
Stats:     16 lines in 4 files changed: 11 ins; 0 del; 5 mod

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

Reviewed-by: thartmann

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

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



More information about the valhalla-dev mailing list