* tests/regression/jasmin/test_load_store_conflict_different_types.j:
[cacao.git] / tests / regression / jasmin / test_load_store_conflict_different_types.j
1 .class public test_load_store_conflict_different_types
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 .method public static checkString(Ljava/lang/String;)V
24         .limit locals 1
25         .limit stack 10
26         getstatic java/lang/System/out Ljava/io/PrintStream;
27         aload_0
28         invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
29         return
30 .end method
31
32 ; ======================================================================
33
34 .method public static main([Ljava/lang/String;)V
35         .limit stack 3
36         .limit locals 3
37
38         ldc 35
39         istore 1
40     ldc 42
41     istore 2
42
43         aload 0
44         ifnull force_basic_block_boundary
45
46         ; --------------------------------------------------
47
48         iload 1  ; loads 35
49         ldc "Sepp"
50         astore 1
51         istore 2 ; stores 35
52
53         ; --------------------------------------------------
54
55         aload 1
56         invokestatic test_load_store_conflict_different_types/checkString(Ljava/lang/String;)V
57         ; OUTPUT: Sepp
58
59         iload 2
60         invokestatic test_load_store_conflict_different_types/checkI(I)V
61         ; OUTPUT: 35
62
63 force_basic_block_boundary:
64
65         return
66 .end method