Added a simple PtcFormatter library for deserialization/serialization, which does not require reflection, in use at PtcJumpTable and PtcProfiler; improves maintainability and simplicity/readability of affected code.

This commit is contained in:
LDj3SNuD 2021-02-14 03:04:12 +01:00
parent 18f576f49d
commit 8b9c28ac7d
6 changed files with 171 additions and 203 deletions

View file

@ -549,7 +549,7 @@ namespace ARMeilleure.Translation.PTC
SkipReloc(infoEntry.RelocEntriesCount);
SkipUnwindInfo(unwindInfosReader);
}
else if (infoEntry.HighCq || !PtcProfiler.ProfiledFuncs.TryGetValue(infoEntry.Address, out var value) || !value.highCq)
else if (infoEntry.HighCq || !PtcProfiler.ProfiledFuncs.TryGetValue(infoEntry.Address, out var value) || !value.HighCq)
{
Span<byte> code = ReadCode(codesReader, infoEntry.CodeLen);
@ -808,7 +808,7 @@ namespace ARMeilleure.Translation.PTC
Translator.DisposePools();
}
int maxDegreeOfParallelism = Environment.ProcessorCount;
int maxDegreeOfParallelism = (Environment.ProcessorCount * 3) / 4;
List<Thread> threads = new List<Thread>();