Trying to see if I can run pme on client init. Failing between unequal number of java string invokes
This commit is contained in:
@@ -102,6 +102,12 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
|
|||||||
|
|
||||||
frame.addInstructionContext(ins);
|
frame.addInstructionContext(ins);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "invokespecial " + method + " in " + this.getInstructions().getCode().getAttributes().getMethod();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDesc(Frame frame)
|
public String getDesc(Frame frame)
|
||||||
|
|||||||
@@ -85,11 +85,13 @@ public class ParallellMappingExecutor
|
|||||||
if (p1.getInstruction() instanceof InvokeStatic && !(p2.getInstruction() instanceof InvokeStatic))
|
if (p1.getInstruction() instanceof InvokeStatic && !(p2.getInstruction() instanceof InvokeStatic))
|
||||||
{
|
{
|
||||||
f1 = stepInto(f1);
|
f1 = stepInto(f1);
|
||||||
|
f1 = popStack(f1);
|
||||||
p1 = f1.getInstructions().get(f1.getInstructions().size() - 1);
|
p1 = f1.getInstructions().get(f1.getInstructions().size() - 1);
|
||||||
}
|
}
|
||||||
else if (p2.getInstruction() instanceof InvokeStatic && !(p1.getInstruction() instanceof InvokeStatic))
|
else if (p2.getInstruction() instanceof InvokeStatic && !(p1.getInstruction() instanceof InvokeStatic))
|
||||||
{
|
{
|
||||||
f2 = stepInto(f2);
|
f2 = stepInto(f2);
|
||||||
|
f2 = popStack(f2);
|
||||||
p2 = f2.getInstructions().get(f2.getInstructions().size() - 1);
|
p2 = f2.getInstructions().get(f2.getInstructions().size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ public class MapStaticTest
|
|||||||
ClassGroup group1 = JarUtil.loadJar(new File("d:/rs/07/adamin1.jar"));
|
ClassGroup group1 = JarUtil.loadJar(new File("d:/rs/07/adamin1.jar"));
|
||||||
ClassGroup group2 = JarUtil.loadJar(new File("d:/rs/07/adamin2.jar"));
|
ClassGroup group2 = JarUtil.loadJar(new File("d:/rs/07/adamin2.jar"));
|
||||||
|
|
||||||
Method m1 = group1.findClass("class107").findMethod("method2427");
|
Method m1 = group1.findClass("client").findMethod("init");
|
||||||
Method m2 = group2.findClass("class107").findMethod("method2344");
|
Method m2 = group2.findClass("client").findMethod("init");
|
||||||
|
|
||||||
ParallelExecutorMapping mappings = MappingExecutorUtil.map(m1, m2);
|
ParallelExecutorMapping mappings = MappingExecutorUtil.map(m1, m2);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user