package kilim.test.ex; import kilim.Pausable; import kilim.Task; public class ExBasicBlock { void noop() throws ArrayIndexOutOfBoundsException { } static void pausable() throws Pausable { "afakflkaflakd".getBytes(); } static int testFiber(Object testArgs1, Object[] testArgs) throws Pausable { Task.getCurrentTask(); int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0; for (int i = 0; i < g; i++) { g = a + b + c + d + e + f; } return g; } int loop() throws Pausable { int sum = 0; for (int i = 0; i < 10; i++) { sum++; } return sum; } void nestedloop() throws Pausable { for (int i = 0; i < 100; i++) { while (i > 10) { i--; } } } void exception() throws Pausable { try { try { pausable(); } catch (ArrayIndexOutOfBoundsException e) { try { e.printStackTrace(); } catch (Throwable t) { noop(); } } } finally { noop(); } } void complex() throws Pausable { double d = 10.0; Object o = new Object(); for (int i = 0; i < 100; i++) { try { if (d > 10.3 && d < 10.5) { d = 20.0; try { synchronized(o) { o.hashCode(); } } catch (RuntimeException re) { throw new Error(re.toString()); } } } finally { d = 100.0; } } } }