Mercurial > hg > truffle
changeset 16850:d6c002f4d2a9
Truffle: fix NPE with -G:-Inline
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Mon, 18 Aug 2014 17:44:42 +0200 |
parents | 0d987db807df |
children | 2db61eddcb97 |
files | graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Sun Aug 17 14:20:11 2014 +0200 +++ b/graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Mon Aug 18 17:44:42 2014 +0200 @@ -231,7 +231,7 @@ MetaAccessProvider metaAccess = providers.getMetaAccess(); SuitesProvider suitesProvider = Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getSuites(); Suites suites = suitesProvider.createSuites(); - suites.getHighTier().findPhase(InliningPhase.class).remove(); + removeInliningPhase(suites); StructuredGraph graph = new StructuredGraph(javaMethod); new GraphBuilderPhase.Instance(metaAccess, GraphBuilderConfiguration.getEagerDefault(), OptimisticOptimizations.ALL).apply(graph); PhaseSuite<HighTierContext> graphBuilderSuite = suitesProvider.getDefaultGraphBuilderSuite(); @@ -247,6 +247,13 @@ return runtimeProvider.getHostBackend().getProviders(); } + private static void removeInliningPhase(Suites suites) { + ListIterator<BasePhase<? super HighTierContext>> inliningPhase = suites.getHighTier().findPhase(InliningPhase.class); + if (inliningPhase != null) { + inliningPhase.remove(); + } + } + @SlowPath @Override public <T> T iterateFrames(FrameInstanceVisitor<T> visitor) {