/test/kilim/test/TestJSR.java
http://github.com/kilim/kilim · Java · 42 lines · 29 code · 6 blank · 7 comment · 1 complexity · 1380d80f7c1cc34cee0c8e02abb51372 MD5 · raw file
- /* Copyright (c) 2006, Sriram Srinivasan
- *
- * You may distribute this software under the terms of the license
- * specified in the file "License"
- */
- package kilim.test;
- import java.util.ArrayList;
- import kilim.analysis.BasicBlock;
- import kilim.analysis.MethodFlow;
- public class TestJSR extends Base {
- public void testJSRSizes() throws Exception {
- String className = "kilim.test.ex.ExJSR";
- try {
- Class.forName(className);
- } catch (ClassNotFoundException cnfe) {
- fail("Please use jasmin to compile " + className);
- } catch (VerifyError e) {
- fail("Verification error for " + className + ": " + e.getMessage());
- }
- cache(className);
- MethodFlow flow = getFlow("simpleJSR");
- assertEquals(3, flow.getBasicBlocks().size());
- flow = getFlow("pausableJSR1");
- // System.out.println(flow.getBasicBlocks());
- assertEquals(5, flow.getBasicBlocks().size());
- flow = getFlow("pausableJSR2");
- ArrayList<BasicBlock> bbs = flow.getBasicBlocks();
- assertEquals(9, bbs.size());
-
- // make sure the blocks are unique
- int flag = 1 << 12;
- for (BasicBlock bb: bbs) {
- assertFalse("BasicBlock list contains duplicates", bb.hasFlag(flag));
- bb.setFlag(flag);
- }
- }
- }