Search in sources :

Example 16 with FloatingReadNode

use of org.graalvm.compiler.nodes.memory.FloatingReadNode in project graal by oracle.

the class MemoryScheduleVerification method processLocation.

private void processLocation(Node n, LocationIdentity location, EconomicSet<FloatingReadNode> currentState) {
    assert n != null;
    if (location.isImmutable()) {
        return;
    }
    for (FloatingReadNode r : cloneState(currentState)) {
        if (r.getLocationIdentity().overlaps(location)) {
            // This read is killed by this location.
            r.getDebug().log(DebugContext.VERBOSE_LEVEL, "%s removing %s from state", n, r);
            currentState.remove(r);
        }
    }
}
Also used : FloatingReadNode(org.graalvm.compiler.nodes.memory.FloatingReadNode)

Aggregations

FloatingReadNode (org.graalvm.compiler.nodes.memory.FloatingReadNode)16 StructuredGraph (org.graalvm.compiler.nodes.StructuredGraph)9 Node (org.graalvm.compiler.graph.Node)6 AddressNode (org.graalvm.compiler.nodes.memory.address.AddressNode)6 ComputeObjectAddressNode (org.graalvm.compiler.hotspot.nodes.ComputeObjectAddressNode)4 GetObjectAddressNode (org.graalvm.compiler.hotspot.nodes.GetObjectAddressNode)4 ReturnNode (org.graalvm.compiler.nodes.ReturnNode)4 ValueNode (org.graalvm.compiler.nodes.ValueNode)4 WriteNode (org.graalvm.compiler.nodes.memory.WriteNode)4 CanonicalizerPhase (org.graalvm.compiler.phases.common.CanonicalizerPhase)3 FloatingReadPhase (org.graalvm.compiler.phases.common.FloatingReadPhase)3 LoweringPhase (org.graalvm.compiler.phases.common.LoweringPhase)3 PhaseContext (org.graalvm.compiler.phases.tiers.PhaseContext)3 Stamp (org.graalvm.compiler.core.common.type.Stamp)2 DebugContext (org.graalvm.compiler.debug.DebugContext)2 DebugDumpScope (org.graalvm.compiler.debug.DebugDumpScope)2 KlassPointerStamp (org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp)2 StartNode (org.graalvm.compiler.nodes.StartNode)2 ReadNode (org.graalvm.compiler.nodes.memory.ReadNode)2 OffsetAddressNode (org.graalvm.compiler.nodes.memory.address.OffsetAddressNode)2