< 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 >