mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-25 17:00:36 -09:00
GT-3223_emteere Minor changes for performance issues on large programs
This commit is contained in:
@@ -71,6 +71,8 @@ public class PseudoDisassembler {
|
||||
|
||||
private boolean respectExecuteFlag = false;
|
||||
|
||||
private AddressSetView executeSet;
|
||||
|
||||
/**
|
||||
* Create a pseudo disassembler for the given program.
|
||||
*/
|
||||
@@ -78,6 +80,8 @@ public class PseudoDisassembler {
|
||||
this.program = program;
|
||||
|
||||
memory = program.getMemory();
|
||||
|
||||
executeSet = memory.getExecuteSet();
|
||||
|
||||
this.language = program.getLanguage();
|
||||
|
||||
@@ -615,8 +619,6 @@ public class PseudoDisassembler {
|
||||
return false;
|
||||
}
|
||||
|
||||
AddressSetView executeSet = memory.getExecuteSet();
|
||||
|
||||
RepeatInstructionByteTracker repeatInstructionByteTracker =
|
||||
new RepeatInstructionByteTracker(MAX_REPEAT_BYTES_LIMIT, null);
|
||||
|
||||
@@ -878,7 +880,6 @@ public class PseudoDisassembler {
|
||||
}
|
||||
|
||||
// check that body does not wander into non-executable memory
|
||||
AddressSetView executeSet = program.getMemory().getExecuteSet();
|
||||
if (respectExecuteFlag && !executeSet.isEmpty() && !body.subtract(executeSet).isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -390,7 +390,7 @@ class BigRefListV0 extends RefList {
|
||||
if (maxLevel < level) {
|
||||
maxLevel = level;
|
||||
}
|
||||
if (level > currentRefLevel) {
|
||||
if (level >= currentRefLevel) {
|
||||
return level;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,7 +342,7 @@ class RefListV0 extends RefList {
|
||||
if (maxLevel < level) {
|
||||
maxLevel = level;
|
||||
}
|
||||
if (level > currentRefLevel) {
|
||||
if (level >= currentRefLevel) {
|
||||
return level;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user