* tests/threads/waitAndInterrupt.java: New test hanging CACAO.
[cacao.git] / tests / regression / jasmin / test_verify_ok_jsr_handler_in_sub2.j
1 .class public test_verify_ok_jsr_handler_in_sub2
2 .super java/lang/Object
3
4 ; ======================================================================
5
6 .method public <init>()V
7    aload_0
8    invokenonvirtual java/lang/Object/<init>()V
9    return
10 .end method
11
12 ; ======================================================================
13
14 .method public static checkI(I)V
15         .limit locals 1
16         .limit stack 10
17         getstatic java/lang/System/out Ljava/io/PrintStream;
18         iload_0
19         invokevirtual java/io/PrintStream/println(I)V
20         return
21 .end method
22
23 ; ======================================================================
24
25 .method public static main([Ljava/lang/String;)V
26         .limit stack 2
27         .limit locals 3
28
29         .catch java/lang/Exception from test_start to test_end using handler
30
31         ldc 35
32         istore 1
33
34         aload 0
35         ifnull force_basic_block_boundary
36
37         ; --------------------------------------------------
38
39         jsr sbr_1
40         ; OUTPUT: 48
41         iload 1
42         invokestatic test_verify_ok_jsr_handler_in_sub2/checkI(I)V
43         ; OUTPUT: 35
44
45         ldc 1234
46         istore 1
47
48         jsr sbr_1
49         ; OUTPUT: 48
50         iload 1
51         invokestatic test_verify_ok_jsr_handler_in_sub2/checkI(I)V
52         ; OUTPUT: 1234
53
54         ; --------------------------------------------------
55
56 force_basic_block_boundary:
57
58         return
59         
60 sbr_1:
61         astore 2
62         ldc 2
63         ldc 0
64 test_start:
65         idiv
66 test_end:
67         pop
68         ldc 666
69         invokestatic test_verify_ok_jsr_handler_in_sub2/checkI(I)V
70         return
71
72 handler:
73         pop
74         ldc 48
75         invokestatic test_verify_ok_jsr_handler_in_sub2/checkI(I)V
76         ret 2
77
78 .end method