Interface TracePropertyMap<T>

Type Parameters:
T - the type of values
All Superinterfaces:
TracePropertyMapOperations<T>
All Known Implementing Classes:
AbstractDBTracePropertyMap, AbstractDBTracePropertyMap.DBTraceIntPropertyMap, AbstractDBTracePropertyMap.DBTraceLongPropertyMap, AbstractDBTracePropertyMap.DBTraceSaveablePropertyMap, AbstractDBTracePropertyMap.DBTraceStringPropertyMap, AbstractDBTracePropertyMap.DBTraceVoidPropertyMap

public interface TracePropertyMap<T> extends TracePropertyMapOperations<T>
A range map for storing properties in a trace

Technically, each range is actually a "box" in two dimensions: time and space. Time is represented by the span of snapshots covered, and space is represented by the range of addresses covered. Currently, no effort is made to optimize coverage for entries having the same value. For operations on entries, see TracePropertyMapOperations.

This interface is the root of a multi-space property map. For memory spaces, clients can generally use the operations inherited on this interface. For register spaces, clients must use getPropertyMapRegisterSpace(TraceThread, int, boolean) or similar.

  • Method Details

    • getPropertyMapSpace

      TracePropertyMapSpace<T> getPropertyMapSpace(AddressSpace space, boolean createIfAbsent)
      Get the map space for the given address space
      Parameters:
      space - the address space
      createIfAbsent - true to create the map space if it doesn't already exist
      Returns:
      the space, or null
    • getPropertyMapRegisterSpace

      TracePropertyMapSpace<T> getPropertyMapRegisterSpace(TraceThread thread, int frameLevel, boolean createIfAbsent)
      Get the map space for the registers of a given thread and frame
      Parameters:
      thread - the thread
      frameLevel - the frame level, 0 being the innermost
      createIfAbsent - true to create the map space if it doesn't already exist
      Returns:
      the space, or null
    • getPropertyMapRegisterSpace

      default TracePropertyMapSpace<T> getPropertyMapRegisterSpace(TraceStackFrame frame, boolean createIfAbsent)
      Get the map space for the registers of a given frame (which knows its thread)
      Parameters:
      frame - the frame
      createIfAbsent - true to create the map space if it doesn't already exist
      Returns:
      the space, or null
    • delete

      void delete()
      Delete this property and remove all of its maps

      The property can be re-created with the same or different value type.