Package ghidra.trace.database.context
Class DBTraceRegisterContextManager
java.lang.Object
ghidra.trace.database.space.AbstractDBTraceSpaceBasedManager<DBTraceRegisterContextSpace>
ghidra.trace.database.context.DBTraceRegisterContextManager
- All Implemented Interfaces:
ErrorHandler,DBTraceManager,DBTraceDelegatingManager<DBTraceRegisterContextSpace>,TraceRegisterContextManager,TraceRegisterContextOperations
public class DBTraceRegisterContextManager
extends AbstractDBTraceSpaceBasedManager<DBTraceRegisterContextSpace>
implements TraceRegisterContextManager, DBTraceDelegatingManager<DBTraceRegisterContextSpace>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classNested classes/interfaces inherited from class ghidra.trace.database.space.AbstractDBTraceSpaceBasedManager
AbstractDBTraceSpaceBasedManager.DBTraceSpaceEntryNested classes/interfaces inherited from interface ghidra.trace.database.space.DBTraceDelegatingManager
DBTraceDelegatingManager.ExcConsumer<T,E extends Throwable>, DBTraceDelegatingManager.ExcFunction<T, R, E extends Throwable>, DBTraceDelegatingManager.ExcPredicate<T, E extends Throwable>, DBTraceDelegatingManager.ExcSupplier<T, E extends Throwable> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Map<Language, ProgramContext> protected final DBTracePlatformManagerstatic final StringFields inherited from class ghidra.trace.database.space.AbstractDBTraceSpaceBasedManager
baseLanguage, dbh, lock, name, NO_ADDRESS_SPACE, regSpacesByContainer, spaces, spaceStore, spacesView, threadManager, trace -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceRegisterContextManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, Language baseLanguage, DBTrace trace, DBTraceThreadManager threadManager, DBTracePlatformManager languageManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear(Lifespan span, AddressRange range) protected DBTraceRegisterContextSpacegetDefaultContext(Language language) getDefaultValue(Language language, Register register, Address address) Get the language-defined default value of the registergetForSpace(AddressSpace space, boolean createIfAbsent) getRegisterContextRegisterSpace(TraceThread thread, boolean createIfAbsent) getRegisterContextSpace(AddressSpace space, boolean createIfAbsent) getRegisterValueAddressRanges(Language language, Register register, long snap) getRegisterValueAddressRanges(Language language, Register register, long snap, AddressRange within) getValueWithDefault(TracePlatform platform, Register register, long snap, Address address) booleanhasRegisterValue(Language language, Register register, long snap) booleanhasRegisterValueInAddressRange(Language language, Register register, long snap, AddressRange within) readLock()voidremoveValue(Language language, Register register, Lifespan span, AddressRange range) voidsetValue(Language language, RegisterValue value, Lifespan lifespan, AddressRange range) Methods inherited from class ghidra.trace.database.space.AbstractDBTraceSpaceBasedManager
dbError, get, getActiveSpaces, getBaseLanguage, getForRegisterSpace, getForRegisterSpace, getForRegisterSpace, getLock, getSpaceByName, getTabledSpaces, getTrace, invalidateCache, loadSpaces, tableNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.database.space.DBTraceDelegatingManager
checkIsInMemory, delegateAddressSet, delegateAny, delegateCollection, delegateDeleteB, delegateDeleteV, delegateFirst, delegateHashSet, delegateRead, delegateRead, delegateReadB, delegateReadI, delegateReadI, delegateReadOr, delegateWrite, delegateWriteAll, delegateWriteI, delegateWriteV
-
Field Details
-
NAME
- See Also:
-
languageManager
-
defaultContexts
-
-
Constructor Details
-
DBTraceRegisterContextManager
public DBTraceRegisterContextManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, Language baseLanguage, DBTrace trace, DBTraceThreadManager threadManager, DBTracePlatformManager languageManager) throws VersionException, IOException - Throws:
VersionExceptionIOException
-
-
Method Details
-
createSpace
protected DBTraceRegisterContextSpace createSpace(AddressSpace space, AbstractDBTraceSpaceBasedManager.DBTraceSpaceEntry ent) throws VersionException, IOException - Specified by:
createSpacein classAbstractDBTraceSpaceBasedManager<DBTraceRegisterContextSpace>- Throws:
VersionExceptionIOException
-
getForSpace
- Specified by:
getForSpacein interfaceDBTraceDelegatingManager<DBTraceRegisterContextSpace>- Overrides:
getForSpacein classAbstractDBTraceSpaceBasedManager<DBTraceRegisterContextSpace>
-
readLock
- Specified by:
readLockin interfaceDBTraceDelegatingManager<DBTraceRegisterContextSpace>
-
writeLock
- Specified by:
writeLockin interfaceDBTraceDelegatingManager<DBTraceRegisterContextSpace>
-
getRegisterContextSpace
public DBTraceRegisterContextSpace getRegisterContextSpace(AddressSpace space, boolean createIfAbsent) - Specified by:
getRegisterContextSpacein interfaceTraceRegisterContextManager
-
getRegisterContextRegisterSpace
public DBTraceRegisterContextSpace getRegisterContextRegisterSpace(TraceThread thread, boolean createIfAbsent) - Specified by:
getRegisterContextRegisterSpacein interfaceTraceRegisterContextManager
-
getDefaultContext
-
getDefaultValue
Description copied from interface:TraceRegisterContextOperationsGet the language-defined default value of the register- Specified by:
getDefaultValuein interfaceTraceRegisterContextOperations- Parameters:
language- the languageregister- a register in the languageaddress- the address from which to read the context- Returns:
- the default value, or
nullif no default is defined for the parameters
-
setValue
- Specified by:
setValuein interfaceTraceRegisterContextOperations
-
removeValue
- Specified by:
removeValuein interfaceTraceRegisterContextOperations
-
getValue
- Specified by:
getValuein interfaceTraceRegisterContextOperations
-
getEntry
public Map.Entry<TraceAddressSnapRange,RegisterValue> getEntry(Language language, Register register, long snap, Address address) - Specified by:
getEntryin interfaceTraceRegisterContextOperations
-
getValueWithDefault
public RegisterValue getValueWithDefault(TracePlatform platform, Register register, long snap, Address address) - Specified by:
getValueWithDefaultin interfaceTraceRegisterContextOperations
-
getRegisterValueAddressRanges
public AddressSetView getRegisterValueAddressRanges(Language language, Register register, long snap, AddressRange within) - Specified by:
getRegisterValueAddressRangesin interfaceTraceRegisterContextOperations
-
getRegisterValueAddressRanges
public AddressSetView getRegisterValueAddressRanges(Language language, Register register, long snap) - Specified by:
getRegisterValueAddressRangesin interfaceTraceRegisterContextOperations
-
hasRegisterValueInAddressRange
public boolean hasRegisterValueInAddressRange(Language language, Register register, long snap, AddressRange within) - Specified by:
hasRegisterValueInAddressRangein interfaceTraceRegisterContextOperations
-
hasRegisterValue
- Specified by:
hasRegisterValuein interfaceTraceRegisterContextOperations
-
clear
- Specified by:
clearin interfaceTraceRegisterContextOperations
-