RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

David Holmes dholmes at openjdk.java.net
Fri Apr 9 04:35:15 UTC 2021

On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to Ahead-of-Time Compiler from JDK: 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> Additionally, remove tests as well as code in makefiles related to AoT compilation.
>> Tested hs-tier1-4
> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>   Remove exports from Graal module to jdk.aot

Hi Vladimir,

This looks good to me - I went through all the files.

It was nice to see how nicely compartmentalized the AOT feature was - that made checking the changes quite simple. The one exception was the fingerprinting code, which for some reason was AOT-only but not marked that way, so I'm not sure what the story is there. ??

I was also surprised to see some of the flags were not marked experimental, so there will need to a CSR request to remove those without going through the normal deprecation process.


src/hotspot/cpu/x86/compiledIC_x86.cpp line 134:

> 132: #ifdef ASSERT
> 133:   CodeBlob *cb = CodeCache::find_blob_unsafe((address) _call);
> 134:   assert(cb, "sanity");

Nit: implied boolean - use "cb != NULL"

src/hotspot/share/memory/heap.hpp line 174:

> 172:   bool contains(const void* p) const             { return low() <= p && p < high(); }
> 173:   bool contains_blob(const CodeBlob* blob) const {
> 174:     const void* start = (void*)blob;

start seems redundant now


Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398

More information about the core-libs-dev mailing list