I think i see why.
This commit is contained in:
@@ -112,12 +112,26 @@ public class MappingExecutorUtil
|
|||||||
mi1.map(mappings, p1, p2);
|
mi1.map(mappings, p1, p2);
|
||||||
|
|
||||||
assert e.frames.size() == e2.frames.size();
|
assert e.frames.size() == e2.frames.size();
|
||||||
|
//checkConsistency(e, e2);
|
||||||
e.paused = e2.paused = false;
|
e.paused = e2.paused = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return mappings;
|
return mappings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void checkConsistency(Execution e, Execution e2)
|
||||||
|
{
|
||||||
|
assert e.frames.size() == e2.frames.size();
|
||||||
|
|
||||||
|
for (int i = 0; i < e.frames.size(); ++i)
|
||||||
|
{
|
||||||
|
Frame f1 = e.frames.get(i), f2 = e2.frames.get(i);
|
||||||
|
|
||||||
|
assert f1.other == f2;
|
||||||
|
assert f2.other == f1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isMappable(InvokeInstruction ii)
|
public static boolean isMappable(InvokeInstruction ii)
|
||||||
{
|
{
|
||||||
String className;
|
String className;
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public class ParallellMappingExecutor
|
|||||||
assert fork1.getBranches().size() == 1;
|
assert fork1.getBranches().size() == 1;
|
||||||
//assert fork1.getBranches().get(0) == f1;
|
//assert fork1.getBranches().get(0) == f1;
|
||||||
|
|
||||||
int i1 = e.frames.indexOf(fork1.getFrame());
|
int i1 = e.frames.indexOf(fork1.getFrame()); // this might be -1 because it is now in an invokestatic. AHhh.
|
||||||
int i2 = e.frames.indexOf(fork1.getBranches().get(0));
|
int i2 = e.frames.indexOf(fork1.getBranches().get(0));
|
||||||
|
|
||||||
// remove fork1.frame
|
// remove fork1.frame
|
||||||
@@ -354,6 +354,7 @@ public class ParallellMappingExecutor
|
|||||||
// replace frame with returnTo
|
// replace frame with returnTo
|
||||||
assert e.frames.get(0) == f;
|
assert e.frames.get(0) == f;
|
||||||
e.frames.remove(0);
|
e.frames.remove(0);
|
||||||
|
assert !e.frames.contains(f.returnTo);
|
||||||
e.frames.add(0, f.returnTo);
|
e.frames.add(0, f.returnTo);
|
||||||
|
|
||||||
assert f.other.other == f;
|
assert f.other.other == f;
|
||||||
|
|||||||
Reference in New Issue
Block a user