149
150 private static PhaseSuite<HighTierContext> initGraphBuilderSuite(HotSpotBackend backend, boolean compileWithAssertions, HotSpotInvokeDynamicPlugin inokeDynamicPlugin) {
151 PhaseSuite<HighTierContext> graphBuilderSuite = backend.getSuites().getDefaultGraphBuilderSuite().copy();
152 ListIterator<BasePhase<? super HighTierContext>> iterator = graphBuilderSuite.findPhase(GraphBuilderPhase.class);
153 GraphBuilderConfiguration baseConfig = ((GraphBuilderPhase) iterator.previous()).getGraphBuilderConfig();
154
155 // Use all default plugins.
156 Plugins plugins = baseConfig.getPlugins();
157 plugins.setInvokeDynamicPlugin(inokeDynamicPlugin);
158 GraphBuilderConfiguration aotConfig = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true).withOmitAssertions(!compileWithAssertions);
159
160 iterator.next();
161 iterator.remove();
162 iterator.add(new GraphBuilderPhase(aotConfig));
163
164 return graphBuilderSuite;
165 }
166
167 void printCompiledMethod(HotSpotResolvedJavaMethod resolvedMethod, CompilationResult compResult) {
168 // This is really not installing the method.
169 InstalledCode installedCode = codeCache.addCode(resolvedMethod, HotSpotCompiledCodeBuilder.createCompiledCode(codeCache, null, null, compResult), null, null);
170 String disassembly = codeCache.disassemble(installedCode);
171 if (disassembly != null) {
172 main.printer.printlnDebug(disassembly);
173 }
174 }
175 }
|
149
150 private static PhaseSuite<HighTierContext> initGraphBuilderSuite(HotSpotBackend backend, boolean compileWithAssertions, HotSpotInvokeDynamicPlugin inokeDynamicPlugin) {
151 PhaseSuite<HighTierContext> graphBuilderSuite = backend.getSuites().getDefaultGraphBuilderSuite().copy();
152 ListIterator<BasePhase<? super HighTierContext>> iterator = graphBuilderSuite.findPhase(GraphBuilderPhase.class);
153 GraphBuilderConfiguration baseConfig = ((GraphBuilderPhase) iterator.previous()).getGraphBuilderConfig();
154
155 // Use all default plugins.
156 Plugins plugins = baseConfig.getPlugins();
157 plugins.setInvokeDynamicPlugin(inokeDynamicPlugin);
158 GraphBuilderConfiguration aotConfig = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true).withOmitAssertions(!compileWithAssertions);
159
160 iterator.next();
161 iterator.remove();
162 iterator.add(new GraphBuilderPhase(aotConfig));
163
164 return graphBuilderSuite;
165 }
166
167 void printCompiledMethod(HotSpotResolvedJavaMethod resolvedMethod, CompilationResult compResult) {
168 // This is really not installing the method.
169 InstalledCode installedCode = codeCache.addCode(resolvedMethod, HotSpotCompiledCodeBuilder.createCompiledCode(codeCache, resolvedMethod, null, compResult), null, null);
170 String disassembly = codeCache.disassemble(installedCode);
171 if (disassembly != null) {
172 main.printer.printlnDebug(disassembly);
173 }
174 }
175 }
|