KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > derby > impl > services > bytecode > OpcodeDebug


1 /*
2
3    Derby - Class org.apache.derby.impl.services.bytecode.OpcodeDebug
4
5    Licensed to the Apache Software Foundation (ASF) under one or more
6    contributor license agreements. See the NOTICE file distributed with
7    this work for additional information regarding copyright ownership.
8    The ASF licenses this file to you under the Apache License, Version 2.0
9    (the "License"); you may not use this file except in compliance with
10    the License. You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14    Unless required by applicable law or agreed to in writing, software
15    distributed under the License is distributed on an "AS IS" BASIS,
16    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17    See the License for the specific language governing permissions and
18    limitations under the License.
19
20  */

21
22 package org.apache.derby.impl.services.bytecode;
23
24
25 import org.apache.derby.iapi.services.sanity.SanityManager;
26
27 /**
28  * This contains mnemonics for all of the opcodes of the JVM.
29  * It is a separate class so that it will not get loaded
30  * if the system does not need it (i.e. when compiled without
31  * debugging). We even leave out the initialization in that case.
32  */

33 class OpcodeDebug {
34     static final String JavaDoc Name[];
35
36     static {
37         if (SanityManager.DEBUG) {
38             // we assign these to a temp var first because
39
// "Array constants can only be used in initializers"
40
// to quote the compiler.
41
String JavaDoc NameInit[] = {
42                 "NOP", // 0
43
"ACONST_NULL", // 1
44
"ICONST_M1", // 2
45
"ICONST_0", // 3
46
"ICONST_1", // 4
47
"ICONST_2", // 5
48
"ICONST_3", // 6
49
"ICONST_4", // 7
50
"ICONST_5", // 8
51
"LCONST_0", // 9
52
"LCONST_1", // 10
53
"FCONST_0", // 11
54
"FCONST_1", // 12
55
"FCONST_2", // 13
56
"DCONST_0", // 14
57
"DCONST_1", // 15
58
"BIPUSH", // 16
59
"SIPUSH", // 17
60
"LDC", // 18
61
"LDC_W", // 19
62
"LDC2_W", // 20
63
"ILOAD", // 21
64
"LLOAD", // 22
65
"FLOAD", // 23
66
"DLOAD", // 24
67
"ALOAD", // 25
68
"ILOAD_0", // 26
69
"ILOAD_1", // 27
70
"ILOAD_2", // 28
71
"ILOAD_3", // 29
72
"LLOAD_0", // 30
73
"LLOAD_1", // 31
74
"LLOAD_2", // 32
75
"LLOAD_3", // 33
76
"FLOAD_0", // 34
77
"FLOAD_1", // 35
78
"FLOAD_2", // 36
79
"FLOAD_3", // 37
80
"DLOAD_0", // 38
81
"DLOAD_1", // 39
82
"DLOAD_2", // 40
83
"DLOAD_3", // 41
84
"ALOAD_0", // 42
85
"ALOAD_1", // 43
86
"ALOAD_2", // 44
87
"ALOAD_3", // 45
88
"IALOAD", // 46
89
"LALOAD", // 47
90
"FALOAD", // 48
91
"DALOAD", // 49
92
"AALOAD", // 50
93
"BALOAD", // 51
94
"CALOAD", // 52
95
"SALOAD", // 53
96
"ISTORE", // 54
97
"LSTORE", // 55
98
"FSTORE", // 56
99
"DSTORE", // 57
100
"ASTORE", // 58
101
"ISTORE_0", // 59
102
"ISTORE_1", // 60
103
"ISTORE_2", // 61
104
"ISTORE_3", // 62
105
"LSTORE_0", // 63
106
"LSTORE_1", // 64
107
"LSTORE_2", // 65
108
"LSTORE_3", // 66
109
"FSTORE_0", // 67
110
"FSTORE_1", // 68
111
"FSTORE_2", // 69
112
"FSTORE_3", // 70
113
"DSTORE_0", // 71
114
"DSTORE_1", // 72
115
"DSTORE_2", // 73
116
"DSTORE_3", // 74
117
"ASTORE_0", // 75
118
"ASTORE_1", // 76
119
"ASTORE_2", // 77
120
"ASTORE_3", // 78
121
"IASTORE", // 79
122
"LASTORE", // 80
123
"FASTORE", // 81
124
"DASTORE", // 82
125
"AASTORE", // 83
126
"BASTORE", // 84
127
"CASTORE", // 85
128
"SASTORE", // 86
129
"POP", // 87
130
"POP2", // 88
131
"DUP", // 89
132
"DUP_X1", // 90
133
"DUP_X2", // 91
134
"DUP2", // 92
135
"DUP2_X1", // 93
136
"DUP2_X2", // 94
137
"SWAP", // 95
138
"IADD", // 96
139
"LADD", // 97
140
"FADD", // 98
141
"DADD", // 99
142
"ISUB", // 100
143
"LSUB", // 101
144
"FSUB", // 102
145
"DSUB", // 103
146
"IMUL", // 104
147
"LMUL", // 105
148
"FMUL", // 106
149
"DMUL", // 107
150
"IDIV", // 108
151
"LDIV", // 109
152
"FDIV", // 110
153
"DDIV", // 111
154
"IREM", // 112
155
"LREM", // 113
156
"FREM", // 114
157
"DREM", // 115
158
"INEG", // 116
159
"LNEG", // 117
160
"FNEG", // 118
161
"DNEG", // 119
162
"ISHL", // 120
163
"LSHL", // 121
164
"ISHR", // 122
165
"LSHR", // 123
166
"IUSHR", // 124
167
"LUSHR", // 125
168
"IAND", // 126
169
"LAND", // 127
170
"IOR", // 128
171
"LOR", // 129
172
"IXOR", // 130
173
"LXOR", // 131
174
"IINC", // 132
175
"I2L", // 133
176
"I2F", // 134
177
"I2D", // 135
178
"L2I", // 136
179
"L2F", // 137
180
"L2D", // 138
181
"F2I", // 139
182
"F2L", // 140
183
"F2D", // 141
184
"D2I", // 142
185
"D2L", // 143
186
"D2F", // 144
187
"I2B", // 145
188
"I2C", // 146
189
"I2S", // 147
190
"LCMP", // 148
191
"FCMPL", // 149
192
"FCMPG", // 150
193
"DCMPL", // 151
194
"DCMPG", // 152
195
"IFEQ", // 153
196
"IFNE", // 154
197
"IFLT", // 155
198
"IFGE", // 156
199
"IFGT", // 157
200
"IFLE", // 158
201
"IF_ICMPEQ", // 159
202
"IF_ICMPNE", // 160
203
"IF_ICMPLT", // 161
204
"IF_ICMPGE", // 162
205
"IF_ICMPGT", // 163
206
"IF_ICMPLE", // 164
207
"IF_ACMPEQ", // 165
208
"IF_ACMPNE", // 166
209
"GOTO", // 167
210
"JSR", // 168
211
"RET", // 169
212
"TABLESWITCH", // 170
213
"LOOKUPSWITCH", // 171
214
"IRETURN", // 172
215
"LRETURN", // 173
216
"FRETURN", // 174
217
"DRETURN", // 175
218
"ARETURN", // 176
219
"RETURN", // 177
220
"GETSTATIC", // 178
221
"PUTSTATIC", // 179
222
"GETFIELD", // 180
223
"PUTFIELD", // 181
224
"INVOKEVIRTUAL", // 182
225
"INVOKESPECIAL", // 183
226
"INVOKESTATIC", // 184
227
"INVOKEINTERFACE", // 185
228
"XXXUNUSEDXXX", // 186
229
"NEW", // 187
230
"NEWARRAY", // 188
231
"ANEWARRAY", // 189
232
"ARRAYLENGTH", // 190
233
"ATHROW", // 191
234
"CHECKCAST", // 192
235
"INSTANCEOF", // 193
236
"MONITORENTER", // 194
237
"MONITOREXIT", // 195
238
"WIDE", // 196
239
"MULTIANEWARRAY", // 197
240
"IFNULL", // 198
241
"IFNONNULL", // 199
242
"GOTO_W", // 200
243
"JSR_W", // 201
244
"BREAKPOINT" // 202
245
};
246             Name = NameInit;
247         }
248         else
249             Name = null;
250     }
251 }
252
Popular Tags