RFR: 8291302: ARM32: nmethod entry barriers support [v4]

Andrew Haley aph at openjdk.org
Sat Dec 24 10:32:52 UTC 2022


On Thu, 8 Dec 2022 15:02:18 GMT, Aleksei Voitylov <avoitylov 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".
>
> Aleksei Voitylov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into JDK-8291302-3
>  - remove membar
>  - save float registers
>  - 8291302: ARM32: nmethod entry barriers support

Looks reasonable. Please consider my cleanups.

src/hotspot/cpu/arm/arm.ad line 303:

> 301:     st->print("skip:\n\t");
> 302:   }
> 303: }

I wonder if this stuff should be in `barrierSetAssembler` ? Just a thought.

src/hotspot/cpu/arm/gc/shared/barrierSetNMethod_arm.cpp line 40:

> 38: // The constant below reflects the size of the barrier
> 39: // in barrierSetAssembler_arm.cpp
> 40: static const int entry_barrier_bytes = 36;

Suggestion:

static const int entry_barrier_bytes = 9 * NativeInstruction::size();

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

Marked as reviewed by aph (Reviewer).

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


More information about the hotspot-dev mailing list