< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/PropagateDeoptimizeProbabilityPhase.java

Print this page
rev 56282 : [mq]: graal

*** 1,7 **** /* ! * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 24,33 **** --- 24,34 ---- package org.graalvm.compiler.phases.common; import jdk.internal.vm.compiler.collections.EconomicMap; import jdk.internal.vm.compiler.collections.EconomicSet; + import jdk.internal.vm.compiler.collections.Equivalence; import jdk.internal.vm.compiler.collections.MapCursor; import org.graalvm.compiler.graph.NodeStack; import org.graalvm.compiler.nodes.AbstractBeginNode; import org.graalvm.compiler.nodes.AbstractDeoptimizeNode; import org.graalvm.compiler.nodes.AbstractEndNode;
*** 50,60 **** assert !graph.hasValueProxies() : "ConvertDeoptimizeToGuardPhase always creates proxies"; if (graph.hasNode(AbstractDeoptimizeNode.TYPE)) { NodeStack stack = new NodeStack(); ! EconomicMap<ControlSplitNode, EconomicSet<AbstractBeginNode>> reachableSplits = EconomicMap.create(); // Mark all control flow nodes that are post-dominated by a deoptimization. for (AbstractDeoptimizeNode d : graph.getNodes(AbstractDeoptimizeNode.TYPE)) { stack.push(AbstractBeginNode.prevBegin(d)); while (!stack.isEmpty()) { --- 51,61 ---- assert !graph.hasValueProxies() : "ConvertDeoptimizeToGuardPhase always creates proxies"; if (graph.hasNode(AbstractDeoptimizeNode.TYPE)) { NodeStack stack = new NodeStack(); ! EconomicMap<ControlSplitNode, EconomicSet<AbstractBeginNode>> reachableSplits = EconomicMap.create(Equivalence.IDENTITY); // Mark all control flow nodes that are post-dominated by a deoptimization. for (AbstractDeoptimizeNode d : graph.getNodes(AbstractDeoptimizeNode.TYPE)) { stack.push(AbstractBeginNode.prevBegin(d)); while (!stack.isEmpty()) {
< prev index next >