RFR: 8291302: ARM32: nmethod entry barriers support

Martin Doerr mdoerr at openjdk.org
Mon Dec 5 12:40:47 UTC 2022


On Thu, 1 Dec 2022 08:09:42 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> This PR implements nmethod entry barriers for ARM32. It has already been implemented for other ports and is related with JDK-8290025 "Remove the Sweeper".
>
> src/hotspot/cpu/arm/gc/shared/barrierSetNMethod_arm.cpp line 87:
> 
>> 85:    to the interpreter if the nmethod has been unloaded. */
>> 86: void BarrierSetNMethod::deoptimize(nmethod* nm, address* return_address_ptr) {
>> 87: 
> 
> Again if neither ZGC nor ShenandoahGC are supported then you can leave this unimplemented. [`BarrierSetNMethod::nmethod_entry_barrier()`](https://github.com/openjdk/jdk/blob/fa0c599a003962cf3457bb49b9f771659532b5c3/src/hotspot/share/gc/shared/barrierSetNMethod.cpp#L72-L103) never returns false so the single [call site](https://github.com/openjdk/jdk/blob/fa0c599a003962cf3457bb49b9f771659532b5c3/src/hotspot/share/gc/shared/barrierSetNMethod.cpp#L181) cannot be reached unless you want to support `DeoptimizeNMethodBarriersALot` which IMO is not needed without support for ZGC/ShenandoahGC.

Isn't there a jtreg test which triggers the deoptimization somehow?

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

PR: https://git.openjdk.org/jdk/pull/11442


More information about the hotspot-dev mailing list