RFR: Save/load i2c2i adapters [v2]
    Ashutosh Mehra 
    asmehra at openjdk.org
       
    Tue Nov 12 19:19:43 UTC 2024
    
    
  
On Wed, 6 Nov 2024 22:47:29 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Ashutosh Mehra has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Acquire Compile_lock when writing exception blobs to the SCCache
>>   
>>   Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
>
> src/hotspot/share/oops/method.cpp line 1271:
> 
>> 1269:   // TODO: how to identify code cache full situation now that the adapter() can be
>> 1270:   // non-null if AOT cache is in use
>> 1271: #if 0
> 
> Can you check next (opposite to check in the following assert)?:
> 
>  if (adapter() != nullptr && !adapter()->is_linked()) {
> 
> The assumption is that we have enough CodeCache when we loading adapters from APT cache. Otherwise we should bailout (did you test such case?).
> 
> Is `is_linked()` is specific for adapters from AOT cache?
`is_linked()` is being set for every AdapterHandlerEntry when its code is either generated or loaded from AOT cache.
Regarding the original block of code that this check pertains to:
  // If the code cache is full, we may reenter this function for the
  // leftover methods that weren't linked.
  if (adapter() != nullptr) {
    return;
  }
The comment seem to indicate that we may reenter this function for a Method* for which adapter code has already been generated. However I am not able to trace the code path that may result in re-entering this function. Can you please explain under what conditions is this possible? @vnkozlov
-------------
PR Review Comment: https://git.openjdk.org/leyden/pull/25#discussion_r1838637737
    
    
More information about the leyden-dev
mailing list