Class NewInstanceNode

All Implemented Interfaces:
Cloneable, Formattable, DeoptimizingNode, DeoptimizingNode.DeoptBefore, FixedNodeInterface, FixedWithNextNodeInterface, Lowerable, NodeWithState, Virtualizable, VirtualizableAllocation, ValueNodeInterface

public class NewInstanceNode extends AbstractNewObjectNode implements VirtualizableAllocation
The NewInstanceNode represents the allocation of an instance class object.
  • Field Details

    • TYPE

      public static final NodeClass<NewInstanceNode> TYPE
    • instanceClass

      protected final jdk.vm.ci.meta.ResolvedJavaType instanceClass
  • Constructor Details

    • NewInstanceNode

      public NewInstanceNode(jdk.vm.ci.meta.ResolvedJavaType type, boolean fillContents)
    • NewInstanceNode

      public NewInstanceNode(jdk.vm.ci.meta.ResolvedJavaType type, boolean fillContents, FrameState stateBefore)
    • NewInstanceNode

      protected NewInstanceNode(NodeClass<? extends NewInstanceNode> c, jdk.vm.ci.meta.ResolvedJavaType type, boolean fillContents, FrameState stateBefore)
  • Method Details

    • instanceClass

      public jdk.vm.ci.meta.ResolvedJavaType instanceClass()
      Gets the instance class being allocated by this node.
      Returns:
      the instance class allocated
    • virtualize

      public void virtualize(VirtualizerTool tool)
      Description copied from interface: Virtualizable
      A node class can implement this method to convey information about what its effect would be if some of its inputs were virtualized. All modifications must be made through the supplied tool, and not directly on the node, because by the time this method is called the virtualized/non-virtualized state is still speculative and might not hold because of loops, etc.
      Specified by:
      virtualize in interface Virtualizable
      Parameters:
      tool - the tool used to describe the effects of this node