RFR: 8362558: [Leyden] fatal error: New workflow: should not compile code for unarchived class: UnsupportedBSMs$$Lambda/0... [v2]

Vladimir Kozlov kvn at openjdk.org
Mon Jul 21 20:48:02 UTC 2025


On Mon, 21 Jul 2025 20:33:54 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> src/hotspot/share/ci/ciEnv.cpp line 837:
>> 
>>> 835:     Method* adapter = cpool->resolved_indy_entry_at(index)->method();
>>> 836:     if (is_precompiled()) {
>>> 837:         ResolvedIndyEntry* indy_info = cpool()->resolved_indy_entry_at(index);
>> 
>> Can move `indy_info` up and use it in `adapter = ` expression too?
>> 
>> Do you need to use `()` for `cool()`? Other code does not use it.
>
> I changed `cpool()->` to `cpool->`.
> 
> Do you mean this:
> 
> 
> if (!AOTConstantPoolResolver::is_resolution_deterministic(cpool(),
>          cpool->resolved_indy_entry_at(index)->constant_pool_index())) { 
>     adapter = nullptr;
> }
> 
> 
> I think that will make the code hard to read as you see two "index" in a row.

I ment to move up not down:

   ResolvedIndyEntry* indy_info = cpool->resolved_indy_entry_at(index);
   Method* adapter = indy_info->method();
#if INCLUDE_CDS
    if (is_precompiled() && !AOTConstantPoolResolver::is_resolution_deterministic(cpool(), indy_info->constant_pool_index())) {

-------------

PR Review Comment: https://git.openjdk.org/leyden/pull/87#discussion_r2220284636


More information about the leyden-dev mailing list