RFR: JDK-8075816: AliasLevel is broken and should be deprecated [v2]
Vladimir Kozlov
kvn at openjdk.java.net
Mon Apr 11 16:13:35 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
src/hotspot/share/opto/compile.cpp line 1051:
> 1049: aliaslevel = 2; // No unique types without escape analysis
> 1050: }
> 1051: _AliasLevel = aliaslevel;
Please, test with EA switched off `-XX:-DoEscapeAnalysis`
There are tests which switch it off. Also it is off in tier7 and tier8 for compiler tests. So I am puzzled that bug say that it crash with `aliasLevel=2`.
Also update subject of PR to match new bug's subject.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8140
More information about the hotspot-dev
mailing list