Class JitMemoryOutVar

All Implemented Interfaces:
JitMemoryVar, JitOutVar, JitVal, JitVar, JitVarnodeVar

public class JitMemoryOutVar extends AbstractJitOutVar implements JitMemoryVar
A p-code variable node with a fixed location in memory and a defining p-code op.

This represents an output operand located in memory. It can be addressed directly. In contrast to JitLocalOutVar, these may not be used by downstream p-code ops in the use-def graph, because the output is written to the state immediately. There's no benefit to further analysis. Instead, ops that use the same varnode will take a JitDirectMemoryVar, which indicate input immediately from the state.

See Also:
  • Constructor Details

  • Method Details

    • addUse

      public void addUse(JitOp op, int position)
      Description copied from interface: JitVal
      Add a use.

      In most cases, uses should be final, once this value node has been entered into the use-def graph. An exception deals with phi nodes, as this analysis occurs after each intra-block portion of the graph has been constructed. During inter-block analysis, additional uses will get recorded. Even further uses may be recorded uding op-use analysis, since it may generate more phi nodes.

      Specified by:
      addUse in interface JitVal
      Overrides:
      addUse in class AbstractJitVal
      Parameters:
      op - the operator node using this one
      position - the position of this value in the operator's input operands