* configure.ac: New switch for disabling -O2 (--disable-optimizations).
[cacao.git] / tests / InlineSynchronized5.java
1 public class InlineSynchronized5 extends Thread{
2
3         private InlineSynchronized5 m_o;
4         String m_name;
5         public InlineSynchronized5(String name, InlineSynchronized5 o) {
6                 super(name);
7                 m_o=o;
8                 m_name=name;
9         }
10
11         public void run() {
12                 while (true) {
13                         try {
14                                 try {
15                                         testit(m_o);
16                                 } catch (Exception e) {
17                                         System.out.println(m_name+":First catch");
18                                         testit(m_o);
19                                 }
20                         } catch (Exception e) {
21                                 System.out.println(m_name+":Second catch");
22                         }
23                         try {
24                                 sleep(2000);
25                         } catch (Exception e) {}
26                 }
27         }
28         public static void testit(InlineSynchronized5 o) throws Exception {
29                 try {
30                         synchronized(o) {
31                                 System.out.println("Within protected section, about to throw an exception");
32                                 throw new Exception("");
33                         }
34                 } catch (Exception e) {
35                         System.out.println("Exception caught, rethrowing");
36                         throw e;
37                 }
38         }
39         public static void main(String args[]) {
40                 InlineSynchronized5 o=new InlineSynchronized5("dummy",null);
41                 InlineSynchronized5 o1=new InlineSynchronized5("1",o);
42                 InlineSynchronized5 o2=new InlineSynchronized5("2",o);
43                 InlineSynchronized5 o3=new InlineSynchronized5("3",o);
44                 o1.start();
45                 o2.start();
46                 o3.start();
47         }
48 }