src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java

Print this page

        

*** 22,40 **** */ package org.graalvm.compiler.core.test.tutorial; import static org.graalvm.compiler.core.common.CompilationRequestIdentifier.asCompilationRequest; import static org.graalvm.compiler.core.test.GraalCompilerTest.getInitialOptions; import java.lang.reflect.Method; import org.graalvm.compiler.api.test.Graal; import org.graalvm.compiler.code.CompilationResult; import org.graalvm.compiler.core.GraalCompiler; import org.graalvm.compiler.core.common.CompilationIdentifier; import org.graalvm.compiler.core.target.Backend; ! import org.graalvm.compiler.debug.Debug; ! import org.graalvm.compiler.debug.Debug.Scope; import org.graalvm.compiler.debug.DebugDumpScope; import org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory; import org.graalvm.compiler.lir.phases.LIRSuites; import org.graalvm.compiler.nodes.StructuredGraph; import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; --- 22,41 ---- */ package org.graalvm.compiler.core.test.tutorial; import static org.graalvm.compiler.core.common.CompilationRequestIdentifier.asCompilationRequest; import static org.graalvm.compiler.core.test.GraalCompilerTest.getInitialOptions; + import java.lang.reflect.Method; import org.graalvm.compiler.api.test.Graal; import org.graalvm.compiler.code.CompilationResult; import org.graalvm.compiler.core.GraalCompiler; import org.graalvm.compiler.core.common.CompilationIdentifier; import org.graalvm.compiler.core.target.Backend; ! import org.graalvm.compiler.debug.DebugHandlersFactory; ! import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.DebugDumpScope; import org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory; import org.graalvm.compiler.lir.phases.LIRSuites; import org.graalvm.compiler.nodes.StructuredGraph; import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
*** 83,101 **** @SuppressWarnings("try") protected InstalledCode compileAndInstallMethod(ResolvedJavaMethod method) { /* Create a unique compilation identifier, visible in IGV. */ CompilationIdentifier compilationId = backend.getCompilationIdentifier(method); OptionValues options = getInitialOptions(); ! try (Scope s = Debug.scope("compileAndInstallMethod", new DebugDumpScope(String.valueOf(compilationId), true))) { /* * The graph that is compiled. We leave it empty (no nodes added yet). This means that * it will be filled according to the graphBuilderSuite defined below. We also specify * that we want the compilation to make optimistic assumptions about runtime state such * as the loaded class hierarchy. */ ! StructuredGraph graph = new StructuredGraph.Builder(getInitialOptions(), AllowAssumptions.YES).method(method).compilationId(compilationId).build(); /* * The phases used to build the graph. Usually this is just the GraphBuilderPhase. If * the graph already contains nodes, it is ignored. */ --- 84,103 ---- @SuppressWarnings("try") protected InstalledCode compileAndInstallMethod(ResolvedJavaMethod method) { /* Create a unique compilation identifier, visible in IGV. */ CompilationIdentifier compilationId = backend.getCompilationIdentifier(method); OptionValues options = getInitialOptions(); ! DebugContext debug = DebugContext.create(options, DebugHandlersFactory.LOADER); ! try (DebugContext.Scope s = debug.scope("compileAndInstallMethod", new DebugDumpScope(String.valueOf(compilationId), true))) { /* * The graph that is compiled. We leave it empty (no nodes added yet). This means that * it will be filled according to the graphBuilderSuite defined below. We also specify * that we want the compilation to make optimistic assumptions about runtime state such * as the loaded class hierarchy. */ ! StructuredGraph graph = new StructuredGraph.Builder(options, debug, AllowAssumptions.YES).method(method).compilationId(compilationId).build(); /* * The phases used to build the graph. Usually this is just the GraphBuilderPhase. If * the graph already contains nodes, it is ignored. */
*** 129,141 **** /* * Install the compilation result into the VM, i.e., copy the byte[] array that contains * the machine code into an actual executable memory location. */ ! return backend.addInstalledCode(method, asCompilationRequest(compilationId), compilationResult); } catch (Throwable ex) { ! throw Debug.handle(ex); } } /** * Look up a method using Java reflection and convert it to the Graal API method object. --- 131,143 ---- /* * Install the compilation result into the VM, i.e., copy the byte[] array that contains * the machine code into an actual executable memory location. */ ! return backend.addInstalledCode(debug, method, asCompilationRequest(compilationId), compilationResult); } catch (Throwable ex) { ! throw debug.handle(ex); } } /** * Look up a method using Java reflection and convert it to the Graal API method object.
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/InvokeGraal.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File