* tests/regression/jasmin/runtest: Delete temporary files.
[cacao.git] / tests / regression / jasmin / test_verify_ok_jsr_multiple_blocks.j
1 .class public test_verify_ok_jsr_multiple_blocks
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         ldc 35
30         istore 1
31
32         aload 0
33         ifnull force_basic_block_boundary
34
35         ; --------------------------------------------------
36
37         jsr sbr_1
38         iload 1
39         invokestatic test_verify_ok_jsr_multiple_blocks/checkI(I)V
40         ; OUTPUT: 888
41
42         ldc -4
43         istore 1
44         jsr sbr_1
45         iload 1
46         invokestatic test_verify_ok_jsr_multiple_blocks/checkI(I)V
47         ; OUTPUT: 777
48
49         ; --------------------------------------------------
50
51 force_basic_block_boundary:
52
53
54         return
55         
56 sbr_1:
57         astore 2
58
59         iload 1
60         ifge sbr_1_ge
61
62         ldc 777
63         goto sbr_1_join
64
65 sbr_1_ge:
66         ldc 888
67
68 sbr_1_join:
69         istore 1
70         ret 2
71
72 .end method