On Thu, 7 Jan 2021 23:06:19 GMT, Igor Veresov <ivere...@openjdk.org> wrote:

>> This change removes the legacy compilation policy and an emulation mode to 
>> the tiered policy to simulate the old behavior with 
>> ```-XX:-TieredCompilation```. The change removed a bunch of interpreter 
>> code, devirtualizes the compilation policy API, adds a consistent way to 
>> query compiler configuration with the new ```CompilerConfig``` API.
>> 
>> I've tested this with hs-tier{1,2,3,4,5}. And also made sure it builds and 
>> works with C1/C2-Graal/AOT being enabled/disabled.
>> 
>> Since there are platform-specific changes I would greatly appreciate some 
>> help from the maintainers of the specific ports to verify the build and run 
>> basic smoke tests. I've already tested x64 and aarch64. Thanks!
>
> Igor Veresov has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix another s390 compilation failure

src/hotspot/share/aot/aotCodeHeap.cpp line 194:

> 192:   // AOT libs are loaded before heap initialized so shift values are not 
> set.
> 193:   // It is okay since ObjectAlignmentInBytes flag which defines shifts 
> value is set before AOT libs are loaded.
> 194:   // Set shifts value based on first AOT library config.

Why this code is removed?

src/hotspot/share/compiler/compileBroker.cpp line 972:

> 970: 
> 971:   // Initialize the compilation queue
> 972:   if (_c2_count > 0) {

Is ZERO treated as `is_interpreter_only()` ? How this change works with ZERO?

src/hotspot/share/runtime/vmStructs.cpp line 296:

> 294:   JVMTI_ONLY(nonstatic_field(MethodCounters,   _number_of_breakpoints,   
>                      u2))                                   \
> 295:   nonstatic_field(MethodCounters,              _invocation_counter,      
>                      InvocationCounter)                     \
> 296:   nonstatic_field(MethodCounters,              _backedge_counter,        
>                      InvocationCounter)                     \

You need to fix SA agent:
https://github.com/openjdk/jdk/blob/master/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodCounters.java#L52

src/hotspot/share/jvmci/vmStructs_jvmci.cpp line 229:

> 227:   JVMTI_ONLY(nonstatic_field(MethodCounters,   _number_of_breakpoints,   
>                      u2))                                   \
> 228:   nonstatic_field(MethodCounters,              _invocation_counter,      
>                      InvocationCounter)                     \
> 229:   nonstatic_field(MethodCounters,              _backedge_counter,        
>                      InvocationCounter)                     \

I don't see Java JVMCI changes. Do you need them?

test/hotspot/jtreg/TEST.quick-groups line 1787:

> 1785:   vmTestbase/jit/t/t112/t112.java \
> 1786:   vmTestbase/jit/t/t113/t113.java \
> 1787:   vmTestbase/jit/verifier/VerifyInitLocal/VerifyInitLocal.java \

Why this test removed?

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

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

Reply via email to