RFR: 8339299: C1 will miss type profile when inline final method [v3]
Dean Long
dlong at openjdk.org
Mon Sep 9 18:55:06 UTC 2024
On Mon, 9 Sep 2024 07:04:43 GMT, kuaiwei <duke at openjdk.org> wrote:
> If C1 decide to inline A->B->C, it can know p in C is exact type of Child1. And it can skip profile if Child1::function is final. But when C2 compile B, it can not get the profile data.
My think is there may be much cases to think about. We can just simply do profile in c1.
That's right. I was just trying to point out why this happens. C1 was checking final/private on Child1 instead of Parent. If we wanted to make C1 behave more like the interpreter, then it should do the final/private check on Parent.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20786#issuecomment-2338850830
More information about the hotspot-compiler-dev
mailing list