I think i see why.

This commit is contained in:
Adam
2016-02-03 21:25:58 -05:00
parent 4aa8b23dfd
commit ac9282da76
2 changed files with 16 additions and 1 deletions

View File

@@ -112,12 +112,26 @@ public class MappingExecutorUtil
mi1.map(mappings, p1, p2);
assert e.frames.size() == e2.frames.size();
//checkConsistency(e, e2);
e.paused = e2.paused = false;
}
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)
{
String className;

View File

@@ -73,7 +73,7 @@ public class ParallellMappingExecutor
assert fork1.getBranches().size() == 1;
//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));
// remove fork1.frame
@@ -354,6 +354,7 @@ public class ParallellMappingExecutor
// replace frame with returnTo
assert e.frames.get(0) == f;
e.frames.remove(0);
assert !e.frames.contains(f.returnTo);
e.frames.add(0, f.returnTo);
assert f.other.other == f;