< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ZapRegistersOp.java

Print this page
rev 56282 : [mq]: graal

*** 1,7 **** /* ! * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 22,51 **** */ package org.graalvm.compiler.lir.amd64; - import static org.graalvm.compiler.lir.amd64.AMD64SaveRegistersOp.prune; - - import jdk.internal.vm.compiler.collections.EconomicSet; import org.graalvm.compiler.asm.amd64.AMD64MacroAssembler; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.Opcode; ! import org.graalvm.compiler.lir.StandardOp.SaveRegistersOp; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; - import org.graalvm.compiler.lir.framemap.FrameMap; import jdk.vm.ci.amd64.AMD64Kind; import jdk.vm.ci.code.Register; - import jdk.vm.ci.code.RegisterSaveLayout; import jdk.vm.ci.meta.JavaConstant; /** * Writes well known garbage values to registers. */ @Opcode("ZAP_REGISTER") ! public final class AMD64ZapRegistersOp extends AMD64LIRInstruction implements SaveRegistersOp { public static final LIRInstructionClass<AMD64ZapRegistersOp> TYPE = LIRInstructionClass.create(AMD64ZapRegistersOp.class); /** * The registers that are zapped. */ --- 22,46 ---- */ package org.graalvm.compiler.lir.amd64; import org.graalvm.compiler.asm.amd64.AMD64MacroAssembler; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.Opcode; ! import org.graalvm.compiler.lir.StandardOp; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; import jdk.vm.ci.amd64.AMD64Kind; import jdk.vm.ci.code.Register; import jdk.vm.ci.meta.JavaConstant; /** * Writes well known garbage values to registers. */ @Opcode("ZAP_REGISTER") ! public final class AMD64ZapRegistersOp extends AMD64LIRInstruction implements StandardOp.ZapRegistersOp { public static final LIRInstructionClass<AMD64ZapRegistersOp> TYPE = LIRInstructionClass.create(AMD64ZapRegistersOp.class); /** * The registers that are zapped. */
*** 69,89 **** if (reg != null) { AMD64Move.const2reg(crb, masm, reg, zapValues[i], AMD64Kind.QWORD); } } } - - @Override - public boolean supportsRemove() { - return true; - } - - @Override - public int remove(EconomicSet<Register> doNotSave) { - return prune(doNotSave, zappedRegisters); - } - - @Override - public RegisterSaveLayout getMap(FrameMap frameMap) { - return new RegisterSaveLayout(new Register[0], new int[0]); - } } --- 64,69 ----
< prev index next >