Mapping of static methods when stepping out in pme

This commit is contained in:
Adam
2016-02-07 11:32:18 -05:00
parent 9b2bda10cb
commit 6906c81455
4 changed files with 75 additions and 11 deletions

View File

@@ -89,6 +89,11 @@ public class MappingExecutorUtil
ParallellMappingExecutor parallel = new ParallellMappingExecutor(e, e2);
ParallelExecutorMapping mappings = new ParallelExecutorMapping();
mappings.m1 = m1;
mappings.m2 = m2;
parallel.mappings = mappings;
while (parallel.step())
{
// get what each frame is paused/exited on

View File

@@ -4,11 +4,13 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.runelite.deob.Method;
public class ParallelExecutorMapping
{
private Map<Object, Object> map = new HashMap<>();
private List<Object> order = new ArrayList<>();
public Method m1, m2;
public void map(Object one, Object two)
{

View File

@@ -7,11 +7,13 @@ import net.runelite.deob.Method;
import net.runelite.deob.attributes.code.instruction.types.ReturnInstruction;
import net.runelite.deob.attributes.code.instructions.InvokeStatic;
import net.runelite.deob.deobfuscators.rename.MappingExecutorUtil;
import net.runelite.deob.deobfuscators.rename.ParallelExecutorMapping;
public class ParallellMappingExecutor
{
private Execution e, e2;
private InstructionContext p1, p2;
public ParallelExecutorMapping mappings;
public ParallellMappingExecutor(Execution one, Execution two)
{
@@ -173,6 +175,13 @@ public class ParallellMappingExecutor
f1 = popStack(f1);
f2 = popStack(f2);
if (oldf1 != f1 && oldf2 != f2)
if (oldf1.otherStatic == oldf2 && oldf2.otherStatic == oldf1)
{
mappings.map(oldf1.getMethod(), oldf2.getMethod());
System.out.println("hmmm");
}
// if (e.frames.size() - s1 != e2.frames.size() - s2)
// {
// System.out.println("fr mismatch");