< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64NodeLIRBuilder.java
Print this page
rev 52509 : [mq]: graal
@@ -23,12 +23,10 @@
package org.graalvm.compiler.core.amd64;
-import static org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder.Options.MitigateSpeculativeExecutionAttacks;
-
import org.graalvm.compiler.core.gen.NodeLIRBuilder;
import org.graalvm.compiler.debug.GraalError;
import org.graalvm.compiler.lir.LIRFrameState;
import org.graalvm.compiler.lir.amd64.AMD64Call;
import org.graalvm.compiler.lir.gen.LIRGeneratorTool;
@@ -39,29 +37,17 @@
import org.graalvm.compiler.nodes.IndirectCallTargetNode;
import org.graalvm.compiler.nodes.StructuredGraph;
import org.graalvm.compiler.nodes.ValueNode;
import org.graalvm.compiler.nodes.calc.IntegerDivRemNode;
import org.graalvm.compiler.nodes.calc.IntegerDivRemNode.Op;
-import org.graalvm.compiler.nodes.cfg.Block;
-import org.graalvm.compiler.options.Option;
-import org.graalvm.compiler.options.OptionKey;
-import org.graalvm.compiler.options.OptionType;
-import org.graalvm.compiler.options.OptionValues;
import jdk.vm.ci.amd64.AMD64;
import jdk.vm.ci.meta.AllocatableValue;
import jdk.vm.ci.meta.Value;
public abstract class AMD64NodeLIRBuilder extends NodeLIRBuilder {
- public static class Options {
- // @formatter:off
- @Option(help = "AMD64: Emit lfence instructions at the beginning of basic blocks", type = OptionType.Expert)
- public static final OptionKey<Boolean> MitigateSpeculativeExecutionAttacks = new OptionKey<>(false);
- // @formatter:on
- }
-
public AMD64NodeLIRBuilder(StructuredGraph graph, LIRGeneratorTool gen, AMD64NodeMatchRules nodeMatchRules) {
super(graph, gen, nodeMatchRules);
}
@Override
@@ -135,23 +121,6 @@
@Override
public AMD64LIRGenerator getLIRGeneratorTool() {
return (AMD64LIRGenerator) gen;
}
-
- @Override
- public void doBlockPrologue(Block block, OptionValues options) {
- if (MitigateSpeculativeExecutionAttacks.getValue(options)) {
- boolean hasControlSplitPredecessor = false;
- for (Block b : block.getPredecessors()) {
- if (b.getSuccessorCount() > 1) {
- hasControlSplitPredecessor = true;
- break;
- }
- }
- boolean isStartBlock = block.getPredecessorCount() == 0;
- if (hasControlSplitPredecessor || isStartBlock) {
- getLIRGeneratorTool().emitLFence();
- }
- }
- }
}
< prev index next >