mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 19:42:36 +02:00
GP-1216 additional refactor from testing and fallout from
Register.NO_CONTEXT returned instead of null
This commit is contained in:
parent
5e0c5ee3fc
commit
1883a9c19c
27 changed files with 189 additions and 184 deletions
|
@ -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());
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue