Package ghidra.pcode.exec.trace

# Class TraceEmulationIntegration.ImmediateBytesPieceHandler

java.lang.Object
ghidra.pcode.exec.trace.TraceEmulationIntegration.BytesPieceHandler
ghidra.pcode.exec.trace.TraceEmulationIntegration.ImmediateBytesPieceHandler

All Implemented Interfaces:
  `TraceEmulationIntegration.PieceHandler<byte[],byte[]>`

Enclosing class:
  `TraceEmulationIntegration`

public static class TraceEmulationIntegration.ImmediateBytesPieceHandler extends TraceEmulationIntegration.BytesPieceHandler
A handler that implements the lazy-read-write-immediately pattern of trace integration for a concrete emulator's bytes.

- ## Field Summary

  ### Fields inherited from class ghidra.pcode.exec.trace.TraceEmulationIntegration.BytesPieceHandler

  `CHUNK_SIZE`

  ### Fields inherited from interface ghidra.pcode.exec.trace.TraceEmulationIntegration.PieceHandler

  `NONE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ImmediateBytesPieceHandler()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `dataWritten(PcodeTraceDataAccess acc, AddressSet written, PcodeThread<?> thread, PcodeExecutorStatePiece<byte[],byte[]> piece, Address address, int length, byte[] value)`
  Data was written (concrete addressing).

  ### Methods inherited from class ghidra.pcode.exec.trace.TraceEmulationIntegration.BytesPieceHandler

  `getAddressDomain, getValueDomain, readUninitialized, writeDown`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface ghidra.pcode.exec.trace.TraceEmulationIntegration.PieceHandler

  `abstractReadUninit, abstractWritten`

- ## Constructor Details

  - ### ImmediateBytesPieceHandler

    public ImmediateBytesPieceHandler()

- ## Method Details

  - ### dataWritten

    public boolean dataWritten(PcodeTraceDataAccess acc, AddressSet written, PcodeThread<?> thread, PcodeExecutorStatePiece<byte[],byte[]> piece, Address address, int length, byte[] value)
    Description copied from interface: `TraceEmulationIntegration.PieceHandler`
    Data was written (concrete addressing).
    Parameters:
      `acc` - the trace access shim for the relevant state (shared or local)
      `written` - the `TraceEmulationIntegration.Writer`'s current log of written addresses (mutable). Typically, this is not accessed but rather passed to delegate methods.
      `thread` - the thread, if applicable. This is null if either the state being accessed is the emulator's shared state, or if the state is bound to a plain `PcodeExecutor`.
      `piece` - the state piece being handled
      `address` - the start address of the write
      `length` - the size in bytes of the write
      `value` - the value written
    Returns:
      true to prevent the `TraceEmulationIntegration.Writer` from updating its log.
    See Also:
      - `PcodeEmulationCallbacks.dataWritten(PcodeThread, PcodeExecutorStatePiece, Address, int, Object)`