< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java
Print this page
rev 52509 : [mq]: graal2
@@ -59,10 +59,11 @@
import org.graalvm.compiler.lir.aarch64.AArch64AtomicMove.AtomicReadAndAddLSEOp;
import org.graalvm.compiler.lir.aarch64.AArch64AtomicMove.CompareAndSwapOp;
import org.graalvm.compiler.lir.aarch64.AArch64AtomicMove.AtomicReadAndWriteOp;
import org.graalvm.compiler.lir.aarch64.AArch64Move.MembarOp;
import org.graalvm.compiler.lir.aarch64.AArch64PauseOp;
+import org.graalvm.compiler.lir.aarch64.AArch64SpeculativeBarrier;
import org.graalvm.compiler.lir.gen.LIRGenerationResult;
import org.graalvm.compiler.lir.gen.LIRGenerator;
import org.graalvm.compiler.phases.util.Providers;
import jdk.vm.ci.aarch64.AArch64;
@@ -463,13 +464,13 @@
emitMove(result, res);
return result;
}
@Override
- public Variable emitArrayEquals(JavaKind kind, Value array1, Value array2, Value length) {
+ public Variable emitArrayEquals(JavaKind kind, Value array1, Value array2, Value length, int constantLength, boolean directPointers) {
Variable result = newVariable(LIRKind.value(AArch64Kind.DWORD));
- append(new AArch64ArrayEqualsOp(this, kind, result, array1, array2, asAllocatable(length)));
+ append(new AArch64ArrayEqualsOp(this, kind, result, array1, array2, asAllocatable(length), directPointers));
return result;
}
@Override
protected JavaConstant zapValueForKind(PlatformKind kind) {
@@ -511,6 +512,11 @@
public void emitPause() {
append(new AArch64PauseOp());
}
public abstract void emitCCall(long address, CallingConvention nativeCallingConvention, Value[] args);
+
+ @Override
+ public void emitSpeculationFence() {
+ append(new AArch64SpeculativeBarrier());
+ }
}
< prev index next >