RFR: 8251462: Remove legacy compilation policy

David Holmes david.holmes at oracle.com
Fri Jan 8 04:57:45 UTC 2021


Hi Igor,

On 8/01/2021 6:36 am, Igor Veresov wrote:
> This change removes the legacy compilation policy and an emulation mode to the tiered policy to simulate the old behavior with ```-XX:-TieredCompilation```. The change removed a bunch of interpreter code, devirtualizes the compilation policy API, adds a consistent way to query compiler configuration with the new ```CompilerConfig``` API.

Can you clarify, for non-compiler folk, what all the alternative configs 
actually mean now. I'm a bit confused by this definition:

define_pd_global(bool, TieredCompilation, 
COMPILER1_PRESENT(true) NOT_COMPILER1(false));

as I expected tiered compilation to require COMPILER1 and COMPILER2.

Also I see interpreter code that used to be guarded by TieredCompilation 
now being executed unconditionally, which seems to assume C1 or C2 must 
be present?

Overall it is a big change to digest, but after skimming it looks like a 
few of the refactorings could have been applied in a layered fashion 
using multiple commits to make it easier to review.

Thanks,
David
-----

> I've tested this with hs-tier{1,2,3,4,5}. And also made sure it builds and works with C1/C2-Graal/AOT being enabled/disabled.
> 
> Since there are platform-specific changes I would greatly appreciate some help from the maintainers of the specific ports to verify the build and run basic smoke tests. I've already tested x64 and aarch64. Thanks!
> 
> -------------
> 
> Commit messages:
>   - Fix copyright years
>   - Remove legacy compilation policy.
> 
> Changes: https://git.openjdk.java.net/jdk/pull/1985/files
>   Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1985&range=00
>    Issue: https://bugs.openjdk.java.net/browse/JDK-8251462
>    Stats: 5285 lines in 95 files changed: 1481 ins; 2979 del; 825 mod
>    Patch: https://git.openjdk.java.net/jdk/pull/1985.diff
>    Fetch: git fetch https://git.openjdk.java.net/jdk pull/1985/head:pull/1985
> 
> PR: https://git.openjdk.java.net/jdk/pull/1985
> 


More information about the serviceability-dev mailing list