Commit 9a5ea6c7 authored by Lukáš Marek's avatar Lukáš Marek

Introduce AbstractBranchSkipMarker

Warn: HEAD still does not work
parent 16ae23c0
package ch.usi.dag.disl.marker;
import java.util.List;
import org.objectweb.asm.tree.MethodNode;
import ch.usi.dag.disl.marker.AbstractMarker.MarkedRegion;
public abstract class AbstractBranchSkipMarker {
public List<MarkedRegion> mark(MethodNode methodNode) {
List<MarkedRegion> mrs = markWithABSWithAAT(methodNode);
// automatic branch skipping and after throw region computation
for(MarkedRegion mr : mrs) {
mr.computeAfterThrow(methodNode);
mr.skipBranchesAtTheEnds();
}
return mrs;
}
/**
* Implementing this method will affect all marked regions.
*
* The regions will get automatic after throw computation
* The regions will get automatic branch skipping at the end
*/
public abstract List<MarkedRegion> markWithABSWithAAT(MethodNode methodNode);
}
......@@ -95,7 +95,7 @@ public abstract class AbstractMarker implements Marker {
}
instr.getPrevious();
}
}
}
public void skipBranchesAtTheEnds() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment