RFR: JDK-8075816: AliasLevel is broken and should be deprecated [v2]
Tobias Hartmann
thartmann at openjdk.java.net
Tue Apr 12 05:46:41 UTC 2022
On Mon, 11 Apr 2022 14:56:19 GMT, Tobias Holenstein <duke at openjdk.java.net> wrote:
>> Making the `AliasLevel` flag obsolete. And refactor code to always use default value 3. `AliasLevel` had the following values:
>>
>> - "0 - for no aliasing, "
>> - "1 - for oop/field/static/array split, "
>> - "2 - for class split, "
>> - "3 - for unique instances"
>>
>> The variable `_AliasLevel` is set by the value passed in `Compile::Init(int aliaslevel)` with `aliaslevel` being `3` except when call by `Compile::Compile(...)` for a runtime stub where `aliaslevel` is `0`. Therefor `_AliasLevel` can be turned into on boolean `do_aliasing` that indicated whether aliasing is turned off for runtime stubs or on otherwise. Code for level 1 and 2 can be removed completely.
>
> Tobias Holenstein has updated the pull request incrementally with one additional commit since the last revision:
>
> Obsolete AliasLevel flag
>From looking at the code and history, it seems that `AliasLevel` values `0` and `1` are currently disabled due to issues. The VM will print:
AliasLevel (1) is not compatible with -Xcomp or -Xmixed
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
But `2` seems to work fine. `3` is the default. @tobiasholenstein did you find any issues with `AliasLevel=2`?
-------------
PR: https://git.openjdk.java.net/jdk/pull/8140
More information about the hotspot-dev
mailing list