RFR: 8280481: Duplicated static stubs in NMethod Stub Code section [v3]

Evgeny Astigeevich duke at openjdk.java.net
Fri Apr 22 12:58:09 UTC 2022


On Thu, 21 Apr 2022 16:21:53 GMT, Boris Ulasevich <bulasevich at openjdk.org> wrote:

>> Evgeny Astigeevich has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Make SharedStubToInterpRequest ResourceObj and set initial size of SharedStubToInterpRequests to 8
>
> src/hotspot/cpu/aarch64/aarch64.ad line 3820:
> 
>> 3818:       }
>> 3819:       if (UseSharedStubs && _method->is_loaded() &&
>> 3820:           (!_optimized_virtual || _method->is_final_method())) {
> 
> a complicated condition: can you explain the logic?

Now it is:

if (CodeBuffer::supports_shared_stubs() && _method->can_be_statically_bound()) {
        // Calls of the same statically bound method can share
        // a stub to the interpreter.

> src/hotspot/share/runtime/globals.hpp line 2031:
> 
>> 2029:   develop(bool, TraceOptimizedUpcallStubs, false,                           \
>> 2030:                 "Trace optimized upcall stub generation")                   \
>> 2031:   product(bool, UseSharedStubs, false, DIAGNOSTIC,                          \
> 
> Please don't add a new option. We already have a plenty of them.

I have replaced it with `CodeBuffer::supports_shared_stubs()`. The option is removed.

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

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


More information about the hotspot-compiler-dev mailing list