< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/lir/GraalCompilerState.java
Print this page
*** 44,59 ****
import org.graalvm.compiler.core.LIRGenerationPhase;
import org.graalvm.compiler.core.LIRGenerationPhase.LIRGenerationContext;
import org.graalvm.compiler.core.common.CompilationIdentifier;
import org.graalvm.compiler.core.common.alloc.ComputeBlockOrder;
import org.graalvm.compiler.core.common.cfg.AbstractBlockBase;
import org.graalvm.compiler.core.target.Backend;
- import org.graalvm.compiler.debug.DebugHandlersFactory;
import org.graalvm.compiler.debug.DebugContext;
import org.graalvm.compiler.lir.LIR;
import org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory;
- import org.graalvm.compiler.lir.framemap.FrameMapBuilder;
import org.graalvm.compiler.lir.gen.LIRGenerationResult;
import org.graalvm.compiler.lir.gen.LIRGeneratorTool;
import org.graalvm.compiler.lir.phases.AllocationPhase.AllocationContext;
import org.graalvm.compiler.lir.phases.LIRPhase;
import org.graalvm.compiler.lir.phases.LIRSuites;
--- 44,60 ----
import org.graalvm.compiler.core.LIRGenerationPhase;
import org.graalvm.compiler.core.LIRGenerationPhase.LIRGenerationContext;
import org.graalvm.compiler.core.common.CompilationIdentifier;
import org.graalvm.compiler.core.common.alloc.ComputeBlockOrder;
import org.graalvm.compiler.core.common.cfg.AbstractBlockBase;
+ import org.graalvm.compiler.core.gen.LIRCompilerBackend;
+ import org.graalvm.compiler.core.gen.LIRGenerationProvider;
import org.graalvm.compiler.core.target.Backend;
import org.graalvm.compiler.debug.DebugContext;
+ import org.graalvm.compiler.debug.DebugHandlersFactory;
import org.graalvm.compiler.lir.LIR;
import org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory;
import org.graalvm.compiler.lir.gen.LIRGenerationResult;
import org.graalvm.compiler.lir.gen.LIRGeneratorTool;
import org.graalvm.compiler.lir.phases.AllocationPhase.AllocationContext;
import org.graalvm.compiler.lir.phases.LIRPhase;
import org.graalvm.compiler.lir.phases.LIRSuites;
*** 86,95 ****
--- 87,97 ----
import jdk.vm.ci.code.RegisterConfig;
import jdk.vm.ci.code.TargetDescription;
import jdk.vm.ci.meta.ConstantReflectionProvider;
import jdk.vm.ci.meta.MetaAccessProvider;
import jdk.vm.ci.meta.ResolvedJavaMethod;
+ import jdk.vm.ci.meta.SpeculationLog;
/**
* State providing a new copy of a graph for each invocation of a benchmark. Subclasses of this
* class are annotated with {@link MethodSpec} to specify the Java method that will be parsed to
* obtain the original graph.
*** 372,385 ****
codeEmittingOrder = ComputeBlockOrder.computeCodeEmittingOrder(blocks.length, startBlock);
linearScanOrder = ComputeBlockOrder.computeLinearScanOrder(blocks.length, startBlock);
LIR lir = new LIR(cfg, linearScanOrder, codeEmittingOrder, getGraphOptions(), getGraphDebug());
! FrameMapBuilder frameMapBuilder = request.backend.newFrameMapBuilder(registerConfig);
! lirGenRes = request.backend.newLIRGenerationResult(graph.compilationId(), lir, frameMapBuilder, request.graph, stub);
! lirGenTool = request.backend.newLIRGenerator(lirGenRes);
! nodeLirGen = request.backend.newNodeLIRBuilder(request.graph, lirGenTool);
}
protected OptionValues getGraphOptions() {
return graph.getOptions();
}
--- 374,387 ----
codeEmittingOrder = ComputeBlockOrder.computeCodeEmittingOrder(blocks.length, startBlock);
linearScanOrder = ComputeBlockOrder.computeLinearScanOrder(blocks.length, startBlock);
LIR lir = new LIR(cfg, linearScanOrder, codeEmittingOrder, getGraphOptions(), getGraphDebug());
! LIRGenerationProvider lirBackend = (LIRGenerationProvider) request.backend;
! lirGenRes = lirBackend.newLIRGenerationResult(graph.compilationId(), lir, registerConfig, request.graph, stub);
! lirGenTool = lirBackend.newLIRGenerator(lirGenRes);
! nodeLirGen = lirBackend.newNodeLIRBuilder(request.graph, lirGenTool);
}
protected OptionValues getGraphOptions() {
return graph.getOptions();
}
*** 458,469 ****
/**
* Emits the machine code.
*/
protected final void emitCode() {
int bytecodeSize = request.graph.method() == null ? 0 : request.graph.getBytecodeSize();
request.compilationResult.setHasUnsafeAccess(request.graph.hasUnsafeAccess());
! GraalCompiler.emitCode(request.backend, request.graph.getAssumptions(), request.graph.method(), request.graph.getMethods(), request.graph.getFields(), bytecodeSize, lirGenRes,
request.compilationResult, request.installedCodeOwner, request.factory);
}
protected StructuredGraph graph() {
return graph;
--- 460,473 ----
/**
* Emits the machine code.
*/
protected final void emitCode() {
int bytecodeSize = request.graph.method() == null ? 0 : request.graph.getBytecodeSize();
+ SpeculationLog speculationLog = null;
request.compilationResult.setHasUnsafeAccess(request.graph.hasUnsafeAccess());
! LIRCompilerBackend.emitCode(request.backend, request.graph.getAssumptions(), request.graph.method(), request.graph.getMethods(), request.graph.getFields(),
! speculationLog, bytecodeSize, lirGenRes,
request.compilationResult, request.installedCodeOwner, request.factory);
}
protected StructuredGraph graph() {
return graph;
< prev index next >