RFR: 8369735: [Leyden] AOT compiled methods have lower peak performance [v2]
    Aleksey Shipilev 
    shade at openjdk.org
       
    Thu Oct 16 17:27:11 UTC 2025
    
    
  
On Thu, 16 Oct 2025 16:53:08 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> src/hotspot/share/ci/ciEnv.cpp line 1880:
>> 
>>> 1878:       // Core java/lang/invoke classes are peculiar. They include LF invokers, which
>>> 1879:       // are initialized in production run, but can be non-initialized in assembly.
>>> 1880:       // CI query should report their status as if in production run, otherwise AOT
>> 
>> Why would we not resolve this disparity by ensuring they are initialized in the assembly run? rather than just reporting them as initialized for production?
>
> I suspect it is a part of keeping assembly phase clean and resulting dump unencumbered, but I have not checked this thoroughly. So instead of figuring which condition to check in `HeapShared::initialize_java_lang_invoke()`, I opted to go conservative.
Oh wait, and actually, this code is answering all the queries about A4. So if we do not answer here based on dependencies, we reply "don't know about this class", and the hell breaks loose. So initializing JLI classes in assembly phase would not actually help. I confused myself, because I tried to add JLI classes as artificial dependencies, and could not, because they are filtered as not loaded. So it is easier to just reply to these queries right here.
-------------
PR Review Comment: https://git.openjdk.org/leyden/pull/103#discussion_r2436822011
    
    
More information about the leyden-dev
mailing list