aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Decoder
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-02-25 22:14:58 -0300
committergdkchan <gab.dark.100@gmail.com>2018-02-25 22:14:58 -0300
commit950011c90fe28fe9edd8ebe0d0a771f6adcff7a1 (patch)
tree407416f5ee2a157d06ce2fa267671b7e2d1e0946 /ChocolArm64/Decoder
parente174100474fcfe484cc8e93c4db447886096615d (diff)
Added initial support for function names from symbol table on the cpu with tracing, fix wrong ImageEnd on executables with MOD0, fix issue on the CPU on input elimination for instruction with more than one register store
Diffstat (limited to 'ChocolArm64/Decoder')
-rw-r--r--ChocolArm64/Decoder/ADecoder.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ChocolArm64/Decoder/ADecoder.cs b/ChocolArm64/Decoder/ADecoder.cs
index a3f44e47..44302290 100644
--- a/ChocolArm64/Decoder/ADecoder.cs
+++ b/ChocolArm64/Decoder/ADecoder.cs
@@ -18,7 +18,10 @@ namespace ChocolArm64.Decoder
OpActivators = new ConcurrentDictionary<Type, OpActivator>();
}
- public static (ABlock[] Graph, ABlock Root) DecodeSubroutine(ATranslator Translator, long Start)
+ public static (ABlock[] Graph, ABlock Root) DecodeSubroutine(
+ ATranslator Translator,
+ AMemory Memory,
+ long Start)
{
Dictionary<long, ABlock> Visited = new Dictionary<long, ABlock>();
Dictionary<long, ABlock> VisitedEnd = new Dictionary<long, ABlock>();
@@ -45,7 +48,7 @@ namespace ChocolArm64.Decoder
{
ABlock Current = Blocks.Dequeue();
- FillBlock(Translator.Thread.Memory, Current);
+ FillBlock(Memory, Current);
//Set child blocks. "Branch" is the block the branch instruction
//points to (when taken), "Next" is the block at the next address,