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