* src/native/jni.cpp: [OPENJDK] Implemented jni_GetDirectBufferCapacity.
[cacao.git] / tests / regression / jasmin / test_many_dup2.j
1 .class public test_many_dup2
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 check(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 62
27         .limit locals 2
28
29         ldc 42
30         ldc -1
31
32         ; 30 times
33
34         dup2
35         dup2
36         dup2
37         dup2
38         dup2
39         dup2
40         dup2
41         dup2
42         dup2
43         dup2
44
45         dup2
46         dup2
47         dup2
48         dup2
49         dup2
50         dup2
51         dup2
52         dup2
53         dup2
54         dup2
55
56         dup2
57         dup2
58         dup2
59         dup2
60         dup2
61         dup2
62         dup2
63         dup2
64         dup2
65         dup2
66
67         invokestatic test_many_dup2/check(I)V
68         ; OUTPUT: -1
69         invokestatic test_many_dup2/check(I)V
70         ; OUTPUT: 42
71
72         invokestatic test_many_dup2/check(I)V
73         ; OUTPUT: -1
74         invokestatic test_many_dup2/check(I)V
75         ; OUTPUT: 42
76
77         invokestatic test_many_dup2/check(I)V
78         ; OUTPUT: -1
79         invokestatic test_many_dup2/check(I)V
80         ; OUTPUT: 42
81
82         ; pop 27 times
83
84         pop2
85         pop2
86         pop2
87         pop2
88         pop2
89         pop2
90         pop2
91         pop2
92         pop2
93         pop2
94
95         pop2
96         pop2
97         pop2
98         pop2
99         pop2
100         pop2
101         pop2
102         pop2
103         pop2
104         pop2
105
106         pop2
107         pop2
108         pop2
109         pop2
110         pop2
111         pop2
112         pop2
113
114         ; Play it again, Sam!
115
116         dup2
117         dup2
118         dup2
119         dup2
120         dup2
121         dup2
122         dup2
123         dup2
124         dup2
125         dup2
126
127         dup2
128         dup2
129         dup2
130         dup2
131         dup2
132         dup2
133         dup2
134         dup2
135         dup2
136         dup2
137
138         dup2
139         dup2
140         dup2
141         dup2
142         dup2
143         dup2
144         dup2
145         dup2
146         dup2
147         dup2
148
149         invokestatic test_many_dup2/check(I)V
150         ; OUTPUT: -1
151         invokestatic test_many_dup2/check(I)V
152         ; OUTPUT: 42
153
154         invokestatic test_many_dup2/check(I)V
155         ; OUTPUT: -1
156         invokestatic test_many_dup2/check(I)V
157         ; OUTPUT: 42
158
159         invokestatic test_many_dup2/check(I)V
160         ; OUTPUT: -1
161         invokestatic test_many_dup2/check(I)V
162         ; OUTPUT: 42
163
164         return
165 .end method