src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/BoxingEliminationTest.java
changeset 58877 aec7bf35d6f5
parent 52910 583fd71c47d6
equal deleted inserted replaced
58876:1a8d65e71a66 58877:aec7bf35d6f5
     1 /*
     1 /*
     2  * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   311 
   311 
   312     private void processMethod(final String snippet) {
   312     private void processMethod(final String snippet) {
   313         graph = parseEager(snippet, AllowAssumptions.NO);
   313         graph = parseEager(snippet, AllowAssumptions.NO);
   314         HighTierContext context = getDefaultHighTierContext();
   314         HighTierContext context = getDefaultHighTierContext();
   315         createInliningPhase().apply(graph, context);
   315         createInliningPhase().apply(graph, context);
   316         new PartialEscapePhase(false, new CanonicalizerPhase(), graph.getOptions()).apply(graph, context);
   316         new PartialEscapePhase(false, createCanonicalizerPhase(), graph.getOptions()).apply(graph, context);
   317     }
   317     }
   318 
   318 
   319     private void compareGraphs(final String snippet, final String referenceSnippet) {
   319     private void compareGraphs(final String snippet, final String referenceSnippet) {
   320         compareGraphs(snippet, referenceSnippet, false, false);
   320         compareGraphs(snippet, referenceSnippet, false, false);
   321     }
   321     }
   322 
   322 
   323     private void compareGraphs(final String snippet, final String referenceSnippet, final boolean loopPeeling, final boolean excludeVirtual) {
   323     private void compareGraphs(final String snippet, final String referenceSnippet, final boolean loopPeeling, final boolean excludeVirtual) {
   324         graph = parseEager(snippet, AllowAssumptions.NO);
   324         graph = parseEager(snippet, AllowAssumptions.NO);
   325         HighTierContext context = getDefaultHighTierContext();
   325         HighTierContext context = getDefaultHighTierContext();
   326         CanonicalizerPhase canonicalizer = new CanonicalizerPhase();
   326         CanonicalizerPhase canonicalizer = this.createCanonicalizerPhase();
   327         canonicalizer.apply(graph, context);
   327         canonicalizer.apply(graph, context);
   328         createInliningPhase().apply(graph, context);
   328         createInliningPhase().apply(graph, context);
   329         if (loopPeeling) {
   329         if (loopPeeling) {
   330             new LoopPeelingPhase(new DefaultLoopPolicies()).apply(graph, context);
   330             new LoopPeelingPhase(new DefaultLoopPolicies()).apply(graph, context);
   331         }
   331         }
   337         canonicalizer.apply(graph, context);
   337         canonicalizer.apply(graph, context);
   338 
   338 
   339         StructuredGraph referenceGraph = parseEager(referenceSnippet, AllowAssumptions.YES);
   339         StructuredGraph referenceGraph = parseEager(referenceSnippet, AllowAssumptions.YES);
   340         createInliningPhase().apply(referenceGraph, context);
   340         createInliningPhase().apply(referenceGraph, context);
   341         new DeadCodeEliminationPhase().apply(referenceGraph);
   341         new DeadCodeEliminationPhase().apply(referenceGraph);
   342         new CanonicalizerPhase().apply(referenceGraph, context);
   342         this.createCanonicalizerPhase().apply(referenceGraph, context);
   343 
   343 
   344         assertEquals(referenceGraph, graph, excludeVirtual, true);
   344         assertEquals(referenceGraph, graph, excludeVirtual, true);
   345     }
   345     }
   346 }
   346 }