GP-1216 additional refactor from testing and fallout from

Register.NO_CONTEXT returned instead of null
This commit is contained in:
emteere 2021-09-07 19:25:39 +00:00
parent 5e0c5ee3fc
commit 1883a9c19c
27 changed files with 189 additions and 184 deletions

View file

@ -15,7 +15,7 @@
*/
package ghidra.trace.database.listing;
import static ghidra.lifecycle.Unfinished.TODO;
import static ghidra.lifecycle.Unfinished.*;
import java.io.IOException;
import java.math.BigInteger;
@ -149,7 +149,7 @@ public class DBTraceCodeManager
static RegisterValue getBaseContextValue(Language language, byte[] context,
Address address) {
Register register = language.getContextBaseRegister();
if (register == null) {
if (register == Register.NO_CONTEXT) {
return null;
}
if (context == null) {
@ -193,8 +193,7 @@ public class DBTraceCodeManager
protected final Map<AddressSnap, UndefinedDBTraceData> undefinedCache =
CacheBuilder.newBuilder()
.removalListener(
this::undefinedRemovedFromCache)
.removalListener(this::undefinedRemovedFromCache)
.weakValues()
.build()
.asMap();
@ -356,8 +355,8 @@ public class DBTraceCodeManager
}
monitor.setMessage("Clearing instruction prototypes");
monitor.setMaximum(protoStore.getRecordCount());
for (Iterator<DBTraceCodePrototypeEntry> it =
protoStore.asMap().values().iterator(); it.hasNext();) {
for (Iterator<DBTraceCodePrototypeEntry> it = protoStore.asMap().values().iterator(); it
.hasNext();) {
monitor.checkCanceled();
monitor.incrementProgress(1);
DBTraceCodePrototypeEntry protoEnt = it.next();
@ -491,9 +490,9 @@ public class DBTraceCodeManager
}
Collection<AbstractDBTraceCodeUnit<?>> changes = new ArrayList<>();
for (DBTraceCodeSpace space : memSpaces.values()) {
changes.addAll(space.dataMapSpace
.reduce(TraceAddressSnapRangeQuery.added(from, to, space.space))
.values());
changes.addAll(
space.dataMapSpace.reduce(TraceAddressSnapRangeQuery.added(from, to, space.space))
.values());
changes.addAll(space.instructionMapSpace
.reduce(TraceAddressSnapRangeQuery.added(from, to, space.space))
.values());
@ -512,9 +511,9 @@ public class DBTraceCodeManager
}
Collection<AbstractDBTraceCodeUnit<?>> changes = new ArrayList<>();
for (DBTraceCodeSpace space : memSpaces.values()) {
changes.addAll(space.dataMapSpace
.reduce(TraceAddressSnapRangeQuery.removed(from, to, space.space))
.values());
changes.addAll(
space.dataMapSpace.reduce(TraceAddressSnapRangeQuery.removed(from, to, space.space))
.values());
changes.addAll(space.instructionMapSpace
.reduce(TraceAddressSnapRangeQuery.removed(from, to, space.space))
.values());

View file

@ -296,7 +296,7 @@ public class TracePcodeEmulatorTest extends AbstractGhidraHeadlessIntegrationTes
@Test
public void testIMM() throws Throwable {
try (ToyDBTraceBuilder tb = new ToyDBTraceBuilder("Test", "Toy:BE:64:default")) {
assertEquals(Register.DEFAULT_CONTEXT, tb.language.getContextBaseRegister());
assertEquals(Register.NO_CONTEXT, tb.language.getContextBaseRegister());
TraceThread thread = initTrace(tb,
List.of(

View file

@ -1196,7 +1196,7 @@ public class DBTraceCodeUnitTest extends AbstractGhidraHeadlessIntegrationTest
}
// TODO: Test with non-default context
assertEquals(Register.DEFAULT_CONTEXT, i4004.getBaseContextRegister());
assertEquals(Register.NO_CONTEXT, i4004.getBaseContextRegister());
assertEquals(b.language.getRegisters(), i4004.getRegisters());
assertEquals(r4, i4004.getRegister("r4"));