RFR(S) 8191437: AOT doesn't work easily after thread local handshakes (original) (raw)
Andrew Haley aph at redhat.com
Thu Nov 30 16:51:58 UTC 2017
- Previous message: RFR(S) 8191437: AOT doesn't work easily after thread local handshakes
- Next message: RFR(S) 8191437: AOT doesn't work easily after thread local handshakes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 29/11/17 21:07, dean.long at oracle.com wrote:
Pull request:
https://github.com/graalvm/graal/pull/265 I could use some Aarch64 reviewers and testers.
One thing breaks, and we need this hunk instead:
diff -r 4c25d37d8557 src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotSafepointOp.java --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotSafepointOp.java Thu Nov 30 16:08:13 2017 +0100 +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotSafepointOp.java Thu Nov 30 16:48:18 2017 +0000 @@ -94,4 +105,14 @@ } }
- private static void emitThreadLocalPoll(CompilationResultBuilder crb, AArch64MacroAssembler masm, GraalHotSpotVMConfig config, boolean onReturn, Register thread, Register scratch, LIRFrameState state) {
assert config.threadPollingPageOffset >= 0;
masm.ldr(64, scratch, masm.makeAddress(thread, config.threadPollingPageOffset, 8));
crb.recordMark(onReturn ? config.MARKID_POLL_RETURN_FAR : config.MARKID_POLL_FAR);
if (state != null) {
crb.recordInfopoint(masm.position(), state, InfopointReason.SAFEPOINT);
}
masm.ldr(32, zr, AArch64Address.createBaseRegisterOnlyAddress(scratch));
- }
- }
The only difference from what you pushed in MARKID_POLL_*FAR instead of MARKID_POLL_*NEAR.
This is because we don't support MARKID_POLL_NEAR relocs in jvmci. They can't happen, anyway: that's effectively dead code in AArch64's Graal.
Thanks.
-- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. <https://www.redhat.com> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
- Previous message: RFR(S) 8191437: AOT doesn't work easily after thread local handshakes
- Next message: RFR(S) 8191437: AOT doesn't work easily after thread local handshakes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]