Class MembarNode

All Implemented Interfaces:
Cloneable, Formattable, MemoryKillMarker, FixedNodeInterface, FixedWithNextNodeInterface, MemoryKill, SingleMemoryKill, LIRLowerable, ValueNodeInterface

public final class MembarNode extends FixedWithNextNode implements LIRLowerable, SingleMemoryKill
Creates a memory barrier.
  • Field Details

  • Constructor Details

  • Method Details

    • getKilledLocationIdentity

      public org.graalvm.word.LocationIdentity getKilledLocationIdentity()
      Description copied from interface: SingleMemoryKill
      This method is used to determine which memory location is killed by this node. Returning the special value LocationIdentity.any() will kill all memory locations.
      Specified by:
      getKilledLocationIdentity in interface SingleMemoryKill
      Returns:
      the identity of the location killed by this node.
    • getDebugProperties

      public Map<Object,Object> getDebugProperties(Map<Object,Object> map)
      Description copied from class: Node
      Fills a Map with properties of this for use in debugging (e.g., to view in the ideal graph visualizer). Subclasses overriding this method should also fill the map using their superclass.
      Overrides:
      getDebugProperties in class Node
      Parameters:
      map -
    • generate

      public void generate(NodeLIRBuilderTool generator)
      Specified by:
      generate in interface LIRLowerable
    • memoryBarrier

      public static void memoryBarrier(MembarNode.FenceKind fence)
    • memoryBarrier

      public static void memoryBarrier(MembarNode.FenceKind fence, org.graalvm.word.LocationIdentity location)