250 public void testValidAddOrUnique() {
251 testVirtualizableEffects(ValidEffectNodeAddOrUnique.class);
252 }
253
254 @Test
255 public void testValidAddWithoutUniqueWithInputs() {
256 testVirtualizableEffects(ValidEffectNodeAddWithoutUniqueWithInputs.class);
257 }
258
259 @Test
260 public void testValidAddOrUniqueWithInputs() {
261 testVirtualizableEffects(ValidEffectNodeAddOrUniqueWithInputs.class);
262 }
263
264 @SuppressWarnings("try")
265 private static void testVirtualizableEffects(Class<?> c) {
266 RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
267 Providers providers = rt.getHostBackend().getProviders();
268 MetaAccessProvider metaAccess = providers.getMetaAccess();
269 PhaseSuite<HighTierContext> graphBuilderSuite = new PhaseSuite<>();
270 Plugins plugins = new Plugins(new InvocationPlugins(metaAccess));
271 GraphBuilderConfiguration config = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true);
272 graphBuilderSuite.appendPhase(new GraphBuilderPhase(config));
273 HighTierContext context = new HighTierContext(providers, graphBuilderSuite, OptimisticOptimizations.NONE);
274 for (Method m : c.getDeclaredMethods()) {
275 if (!Modifier.isNative(m.getModifiers()) && !Modifier.isAbstract(m.getModifiers())) {
276 ResolvedJavaMethod method = metaAccess.lookupJavaMethod(m);
277 StructuredGraph graph = new StructuredGraph(method, AllowAssumptions.NO, INVALID_COMPILATION_ID);
278 graphBuilderSuite.apply(graph, context);
279 try (DebugConfigScope s = Debug.disableIntercept()) {
280 new VerifyVirtualizableUsage().apply(graph, context);
281 }
282 }
283 }
284 }
285 }
|
250 public void testValidAddOrUnique() {
251 testVirtualizableEffects(ValidEffectNodeAddOrUnique.class);
252 }
253
254 @Test
255 public void testValidAddWithoutUniqueWithInputs() {
256 testVirtualizableEffects(ValidEffectNodeAddWithoutUniqueWithInputs.class);
257 }
258
259 @Test
260 public void testValidAddOrUniqueWithInputs() {
261 testVirtualizableEffects(ValidEffectNodeAddOrUniqueWithInputs.class);
262 }
263
264 @SuppressWarnings("try")
265 private static void testVirtualizableEffects(Class<?> c) {
266 RuntimeProvider rt = Graal.getRequiredCapability(RuntimeProvider.class);
267 Providers providers = rt.getHostBackend().getProviders();
268 MetaAccessProvider metaAccess = providers.getMetaAccess();
269 PhaseSuite<HighTierContext> graphBuilderSuite = new PhaseSuite<>();
270 Plugins plugins = new Plugins(new InvocationPlugins());
271 GraphBuilderConfiguration config = GraphBuilderConfiguration.getDefault(plugins).withEagerResolving(true);
272 graphBuilderSuite.appendPhase(new GraphBuilderPhase(config));
273 HighTierContext context = new HighTierContext(providers, graphBuilderSuite, OptimisticOptimizations.NONE);
274 for (Method m : c.getDeclaredMethods()) {
275 if (!Modifier.isNative(m.getModifiers()) && !Modifier.isAbstract(m.getModifiers())) {
276 ResolvedJavaMethod method = metaAccess.lookupJavaMethod(m);
277 StructuredGraph graph = new StructuredGraph(method, AllowAssumptions.NO, INVALID_COMPILATION_ID);
278 graphBuilderSuite.apply(graph, context);
279 try (DebugConfigScope s = Debug.disableIntercept()) {
280 new VerifyVirtualizableUsage().apply(graph, context);
281 }
282 }
283 }
284 }
285 }
|