66 private static final class C implements I {
67 @SuppressWarnings({"static-method", "unused"})
68 public Object test() {
69 return CONST;
70 }
71 }
72
73 @Test
74 public void test() {
75 eagerlyParseMethod(C.class, "test");
76
77 }
78
79 @SuppressWarnings("try")
80 private void eagerlyParseMethod(Class<C> clazz, String methodName) {
81 RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
82 Providers providers = rt.getHostBackend().getProviders();
83 MetaAccessProvider metaAccess = providers.getMetaAccess();
84
85 PhaseSuite<HighTierContext> graphBuilderSuite = new PhaseSuite<>();
86 Plugins plugins = new Plugins(new InvocationPlugins(metaAccess));
87 GraphBuilderConfiguration config = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true);
88 graphBuilderSuite.appendPhase(new GraphBuilderPhase(config));
89 HighTierContext context = new HighTierContext(providers, graphBuilderSuite, OptimisticOptimizations.NONE);
90
91 Assume.assumeTrue(VerifyPhase.class.desiredAssertionStatus());
92
93 final Method m = getMethod(clazz, methodName);
94 ResolvedJavaMethod method = metaAccess.lookupJavaMethod(m);
95 StructuredGraph graph = new StructuredGraph(method, AllowAssumptions.NO, INVALID_COMPILATION_ID);
96 try (DebugConfigScope s = Debug.setConfig(new DelegatingDebugConfig().disable(INTERCEPT)); Debug.Scope ds = Debug.scope("GraphBuilding", graph, method)) {
97 graphBuilderSuite.apply(graph, context);
98 } catch (Throwable e) {
99 throw Debug.handle(e);
100 }
101 }
102 }
|
66 private static final class C implements I {
67 @SuppressWarnings({"static-method", "unused"})
68 public Object test() {
69 return CONST;
70 }
71 }
72
73 @Test
74 public void test() {
75 eagerlyParseMethod(C.class, "test");
76
77 }
78
79 @SuppressWarnings("try")
80 private void eagerlyParseMethod(Class<C> clazz, String methodName) {
81 RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
82 Providers providers = rt.getHostBackend().getProviders();
83 MetaAccessProvider metaAccess = providers.getMetaAccess();
84
85 PhaseSuite<HighTierContext> graphBuilderSuite = new PhaseSuite<>();
86 Plugins plugins = new Plugins(new InvocationPlugins());
87 GraphBuilderConfiguration config = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true);
88 graphBuilderSuite.appendPhase(new GraphBuilderPhase(config));
89 HighTierContext context = new HighTierContext(providers, graphBuilderSuite, OptimisticOptimizations.NONE);
90
91 Assume.assumeTrue(VerifyPhase.class.desiredAssertionStatus());
92
93 final Method m = getMethod(clazz, methodName);
94 ResolvedJavaMethod method = metaAccess.lookupJavaMethod(m);
95 StructuredGraph graph = new StructuredGraph(method, AllowAssumptions.NO, INVALID_COMPILATION_ID);
96 try (DebugConfigScope s = Debug.setConfig(new DelegatingDebugConfig().disable(INTERCEPT)); Debug.Scope ds = Debug.scope("GraphBuilding", graph, method)) {
97 graphBuilderSuite.apply(graph, context);
98 } catch (Throwable e) {
99 throw Debug.handle(e);
100 }
101 }
102 }
|