< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.java

Print this page

        

*** 119,128 **** --- 119,129 ---- import org.graalvm.compiler.lir.amd64.AMD64Move; import org.graalvm.compiler.lir.amd64.AMD64MulDivOp; import org.graalvm.compiler.lir.amd64.AMD64ShiftOp; import org.graalvm.compiler.lir.amd64.AMD64SignExtendOp; import org.graalvm.compiler.lir.amd64.AMD64Unary; + import org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp; import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary; import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary.AVXBinaryOp; import org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary; import org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator;
*** 1100,1109 **** --- 1101,1116 ---- @Override public Value emitMathPow(Value x, Value y) { return new AMD64MathPowOp().emitLIRWrapper(getLIRGen(), x, y); } + @Override + public void emitZeroMemory(Value address, Value length) { + RegisterValue lengthReg = moveToReg(AMD64.rcx, length); + getLIRGen().append(new AMD64ZeroMemoryOp(getAMD64LIRGen().asAddressValue(address), lengthReg)); + } + protected AMD64LIRGenerator getAMD64LIRGen() { return (AMD64LIRGenerator) getLIRGen(); } @Override
< prev index next >