-
Enhancement
-
Resolution: Unresolved
-
P4
-
9, 11
On 03/26/2014 01:01 AM, John Rose wrote:
> The boolean parameter is not expressive enough. It will have to change as soon as we have more than two versions of a method.
>
> (In fact, we already do: There is potentially a different OSR method for each entry point BCI. The formulation you have returns just one of them.)
>
> I suggest you change "boolean isOsr" in the WB API to "long version" or even "Object version". The version enumeration can be evolved over time. Values 0 and 1 can be "normal at current compilation" and "first available OSR".
>
> Also, put the version number into the NMethod structure, so it can be requeried. For an OSR method, the entry BCI is important to know.
>
> ...But I see that there is already a use of booleans like this in the WB API. So I guess you should consistent with what you have.
>
> I filed a bug to track this issue of method versioning; there is technical debt here:
> https://bugs.openjdk.java.net/browse/JDK-8038356
>
> — John
> The boolean parameter is not expressive enough. It will have to change as soon as we have more than two versions of a method.
>
> (In fact, we already do: There is potentially a different OSR method for each entry point BCI. The formulation you have returns just one of them.)
>
> I suggest you change "boolean isOsr" in the WB API to "long version" or even "Object version". The version enumeration can be evolved over time. Values 0 and 1 can be "normal at current compilation" and "first available OSR".
>
> Also, put the version number into the NMethod structure, so it can be requeried. For an OSR method, the entry BCI is important to know.
>
> ...But I see that there is already a use of booleans like this in the WB API. So I guess you should consistent with what you have.
>
> I filed a bug to track this issue of method versioning; there is technical debt here:
> https://bugs.openjdk.java.net/browse/JDK-8038356
>
> — John
- relates to
-
JDK-8038356 JVM should manage multiple versions of compiled methods
- Open
-
JDK-8038240 new WB API to get nmethod
- Resolved