src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PrefetchOp.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PrefetchOp.java	Fri Jul  7 09:30:35 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PrefetchOp.java	Fri Jul  7 09:30:34 2017

*** 23,49 **** --- 23,50 ---- package org.graalvm.compiler.lir.aarch64; import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.COMPOSITE; + import org.graalvm.compiler.asm.aarch64.AArch64Assembler.PrefetchMode; import org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; public final class AArch64PrefetchOp extends AArch64LIRInstruction { public static final LIRInstructionClass<AArch64PrefetchOp> TYPE = LIRInstructionClass.create(AArch64PrefetchOp.class); ! @SuppressWarnings("unused") private final int instr; // AllocatePrefetchInstr ! private final PrefetchMode mode; // AllocatePrefetchInstr @Alive({COMPOSITE}) protected AArch64AddressValue address; ! public AArch64PrefetchOp(AArch64AddressValue address, int instr) { ! public AArch64PrefetchOp(AArch64AddressValue address, PrefetchMode mode) { super(TYPE); this.address = address; ! this.instr = instr; ! this.mode = mode; } @Override public void emitCode(CompilationResultBuilder crb, AArch64MacroAssembler masm) { // TODO implement prefetch ! masm.nop(); + // instr gets ignored! ! masm.prfm(address.toAddress(), mode); } }

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64PrefetchOp.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File