229 public static final int _newarray = 188; // 0xbc
230 public static final int _anewarray = 189; // 0xbd
231 public static final int _arraylength = 190; // 0xbe
232 public static final int _athrow = 191; // 0xbf
233 public static final int _checkcast = 192; // 0xc0
234 public static final int _instanceof = 193; // 0xc1
235 public static final int _monitorenter = 194; // 0xc2
236 public static final int _monitorexit = 195; // 0xc3
237 public static final int _wide = 196; // 0xc4
238 public static final int _multianewarray = 197; // 0xc5
239 public static final int _ifnull = 198; // 0xc6
240 public static final int _ifnonnull = 199; // 0xc7
241 public static final int _goto_w = 200; // 0xc8
242 public static final int _jsr_w = 201; // 0xc9
243 public static final int _breakpoint = 202; // 0xca
244
245 public static final int number_of_java_codes = 203;
246
247 // JVM bytecodes
248 public static final int _fast_agetfield = number_of_java_codes;
249 public static final int _fast_bgetfield = 204;
250 public static final int _fast_cgetfield = 205;
251 public static final int _fast_dgetfield = 206;
252 public static final int _fast_fgetfield = 207;
253 public static final int _fast_igetfield = 208;
254 public static final int _fast_lgetfield = 209;
255 public static final int _fast_sgetfield = 210;
256 public static final int _fast_aputfield = 211;
257 public static final int _fast_bputfield = 212;
258 public static final int _fast_zputfield = 213;
259 public static final int _fast_cputfield = 214;
260 public static final int _fast_dputfield = 215;
261 public static final int _fast_fputfield = 216;
262 public static final int _fast_iputfield = 217;
263 public static final int _fast_lputfield = 218;
264 public static final int _fast_sputfield = 219;
265 public static final int _fast_aload_0 = 220;
266 public static final int _fast_iaccess_0 = 221;
267 public static final int _fast_aaccess_0 = 222;
268 public static final int _fast_faccess_0 = 223;
269 public static final int _fast_iload = 224;
270 public static final int _fast_iload2 = 225;
271 public static final int _fast_icaload = 226;
272 public static final int _fast_invokevfinal = 227;
273 public static final int _fast_linearswitch = 228;
274 public static final int _fast_binaryswitch = 229;
275 public static final int _fast_aldc = 230;
276 public static final int _fast_aldc_w = 231;
277 public static final int _return_register_finalizer = 232;
278 public static final int _invokehandle = 233;
279
280 // Bytecodes rewritten at CDS dump time
281 public static final int _nofast_getfield = 234;
282 public static final int _nofast_putfield = 235;
283 public static final int _nofast_aload_0 = 236;
284 public static final int _nofast_iload = 237;
285 public static final int _shouldnotreachhere = 238; // For debugging
286
287 public static final int number_of_codes = 239;
288
289 // Flag bits derived from format strings, can_trap, can_rewrite, etc.:
290 // semantic flags:
291 static final int _bc_can_trap = 1<<0; // bytecode execution can trap or block
292 static final int _bc_can_rewrite = 1<<1; // bytecode execution has an alternate form
293
294 // format bits (determined only by the format string):
295 static final int _fmt_has_c = 1<<2; // constant, such as sipush "bcc"
296 static final int _fmt_has_j = 1<<3; // constant pool cache index, such as getfield "bjj"
297 static final int _fmt_has_k = 1<<4; // constant pool index, such as ldc "bk"
298 static final int _fmt_has_i = 1<<5; // local index, such as iload
299 static final int _fmt_has_o = 1<<6; // offset, such as ifeq
300 static final int _fmt_has_nbo = 1<<7; // contains native-order field(s)
301 static final int _fmt_has_u2 = 1<<8; // contains double-byte field(s)
302 static final int _fmt_has_u4 = 1<<9; // contains quad-byte field
303 static final int _fmt_not_variable = 1<<10; // not of variable length (simple or wide)
304 static final int _fmt_not_simple = 1<<11; // either wide or variable length
305 static final int _all_fmt_bits = (_fmt_not_simple*2 - _fmt_has_c);
306
307 // Example derived format syndromes:
763 def(_newarray , "newarray" , "bc" , null , BasicType.getTObject() , 0, true );
764 def(_anewarray , "anewarray" , "bkk" , null , BasicType.getTObject() , 0, true );
765 def(_arraylength , "arraylength" , "b" , null , BasicType.getTVoid() , 0, true );
766 def(_athrow , "athrow" , "b" , null , BasicType.getTVoid() , -1, true );
767 def(_checkcast , "checkcast" , "bkk" , null , BasicType.getTObject() , 0, true );
768 def(_instanceof , "instanceof" , "bkk" , null , BasicType.getTInt() , 0, true );
769 def(_monitorenter , "monitorenter" , "b" , null , BasicType.getTVoid() , -1, true );
770 def(_monitorexit , "monitorexit" , "b" , null , BasicType.getTVoid() , -1, true );
771 def(_wide , "wide" , "" , null , BasicType.getTVoid() , 0, false);
772 def(_multianewarray , "multianewarray" , "bkkc" , null , BasicType.getTObject() , 1, true );
773 def(_ifnull , "ifnull" , "boo" , null , BasicType.getTVoid() , -1, false);
774 def(_ifnonnull , "ifnonnull" , "boo" , null , BasicType.getTVoid() , -1, false);
775 def(_goto_w , "goto_w" , "boooo", null , BasicType.getTVoid() , 0, false);
776 def(_jsr_w , "jsr_w" , "boooo", null , BasicType.getTInt() , 0, false);
777 def(_breakpoint , "breakpoint" , "" , null , BasicType.getTVoid() , 0, true );
778
779 // JVM bytecodes
780 // bytecode bytecode name format wide f. result tp stk traps std code
781
782 def(_fast_agetfield , "fast_agetfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _getfield );
783 def(_fast_bgetfield , "fast_bgetfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _getfield );
784 def(_fast_cgetfield , "fast_cgetfield" , "bJJ" , null , BasicType.getTChar() , 0, true , _getfield );
785 def(_fast_dgetfield , "fast_dgetfield" , "bJJ" , null , BasicType.getTDouble() , 0, true , _getfield );
786 def(_fast_fgetfield , "fast_fgetfield" , "bJJ" , null , BasicType.getTFloat() , 0, true , _getfield );
787 def(_fast_igetfield , "fast_igetfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _getfield );
788 def(_fast_lgetfield , "fast_lgetfield" , "bJJ" , null , BasicType.getTLong() , 0, true , _getfield );
789 def(_fast_sgetfield , "fast_sgetfield" , "bJJ" , null , BasicType.getTShort() , 0, true , _getfield );
790
791 def(_fast_aputfield , "fast_aputfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _putfield );
792 def(_fast_bputfield , "fast_bputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
793 def(_fast_zputfield , "fast_zputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
794 def(_fast_cputfield , "fast_cputfield" , "bJJ" , null , BasicType.getTChar() , 0, true , _putfield );
795 def(_fast_dputfield , "fast_dputfield" , "bJJ" , null , BasicType.getTDouble() , 0, true , _putfield );
796 def(_fast_fputfield , "fast_fputfield" , "bJJ" , null , BasicType.getTFloat() , 0, true , _putfield );
797 def(_fast_iputfield , "fast_iputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
798 def(_fast_lputfield , "fast_lputfield" , "bJJ" , null , BasicType.getTLong() , 0, true , _putfield );
799 def(_fast_sputfield , "fast_sputfield" , "bJJ" , null , BasicType.getTShort() , 0, true , _putfield );
800
801 def(_fast_aload_0 , "fast_aload_0" , "b" , null , BasicType.getTObject() , 1, true , _aload_0 );
802 def(_fast_iaccess_0 , "fast_iaccess_0" , "b_JJ" , null , BasicType.getTInt() , 1, true , _aload_0 );
803 def(_fast_aaccess_0 , "fast_aaccess_0" , "b_JJ" , null , BasicType.getTObject() , 1, true , _aload_0 );
804 def(_fast_faccess_0 , "fast_faccess_0" , "b_JJ" , null , BasicType.getTObject() , 1, true , _aload_0 );
805
806 def(_fast_iload , "fast_iload" , "bi" , null , BasicType.getTInt() , 1, false, _iload );
807 def(_fast_iload2 , "fast_iload2" , "bi_i" , null , BasicType.getTInt() , 2, false, _iload );
808 def(_fast_icaload , "fast_icaload" , "bi_" , null , BasicType.getTInt() , 0, false, _iload );
809
810 // Faster method invocation.
811 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , null , BasicType.getTIllegal(), -1, true, _invokevirtual );
|
229 public static final int _newarray = 188; // 0xbc
230 public static final int _anewarray = 189; // 0xbd
231 public static final int _arraylength = 190; // 0xbe
232 public static final int _athrow = 191; // 0xbf
233 public static final int _checkcast = 192; // 0xc0
234 public static final int _instanceof = 193; // 0xc1
235 public static final int _monitorenter = 194; // 0xc2
236 public static final int _monitorexit = 195; // 0xc3
237 public static final int _wide = 196; // 0xc4
238 public static final int _multianewarray = 197; // 0xc5
239 public static final int _ifnull = 198; // 0xc6
240 public static final int _ifnonnull = 199; // 0xc7
241 public static final int _goto_w = 200; // 0xc8
242 public static final int _jsr_w = 201; // 0xc9
243 public static final int _breakpoint = 202; // 0xca
244
245 public static final int number_of_java_codes = 203;
246
247 // JVM bytecodes
248 public static final int _fast_agetfield = number_of_java_codes;
249 public static final int _fast_vgetfield = 204;
250 public static final int _fast_bgetfield = 205;
251 public static final int _fast_cgetfield = 206;
252 public static final int _fast_dgetfield = 207;
253 public static final int _fast_fgetfield = 208;
254 public static final int _fast_igetfield = 209;
255 public static final int _fast_lgetfield = 210;
256 public static final int _fast_sgetfield = 211;
257 public static final int _fast_aputfield = 212;
258 public static final int _fast_vputfield = 213;
259 public static final int _fast_bputfield = 214;
260 public static final int _fast_zputfield = 215;
261 public static final int _fast_cputfield = 216;
262 public static final int _fast_dputfield = 217;
263 public static final int _fast_fputfield = 218;
264 public static final int _fast_iputfield = 219;
265 public static final int _fast_lputfield = 220;
266 public static final int _fast_sputfield = 221;
267 public static final int _fast_aload_0 = 222;
268 public static final int _fast_iaccess_0 = 223;
269 public static final int _fast_aaccess_0 = 224;
270 public static final int _fast_faccess_0 = 225;
271 public static final int _fast_iload = 226;
272 public static final int _fast_iload2 = 227;
273 public static final int _fast_icaload = 228;
274 public static final int _fast_invokevfinal = 229;
275 public static final int _fast_linearswitch = 230;
276 public static final int _fast_binaryswitch = 231;
277 public static final int _fast_aldc = 232;
278 public static final int _fast_aldc_w = 233;
279 public static final int _return_register_finalizer = 234;
280 public static final int _invokehandle = 235;
281
282 // Bytecodes rewritten at CDS dump time
283 public static final int _nofast_getfield = 236;
284 public static final int _nofast_putfield = 237;
285 public static final int _nofast_aload_0 = 238;
286 public static final int _nofast_iload = 239;
287 public static final int _shouldnotreachhere = 240; // For debugging
288
289 public static final int number_of_codes = 241;
290
291 // Flag bits derived from format strings, can_trap, can_rewrite, etc.:
292 // semantic flags:
293 static final int _bc_can_trap = 1<<0; // bytecode execution can trap or block
294 static final int _bc_can_rewrite = 1<<1; // bytecode execution has an alternate form
295
296 // format bits (determined only by the format string):
297 static final int _fmt_has_c = 1<<2; // constant, such as sipush "bcc"
298 static final int _fmt_has_j = 1<<3; // constant pool cache index, such as getfield "bjj"
299 static final int _fmt_has_k = 1<<4; // constant pool index, such as ldc "bk"
300 static final int _fmt_has_i = 1<<5; // local index, such as iload
301 static final int _fmt_has_o = 1<<6; // offset, such as ifeq
302 static final int _fmt_has_nbo = 1<<7; // contains native-order field(s)
303 static final int _fmt_has_u2 = 1<<8; // contains double-byte field(s)
304 static final int _fmt_has_u4 = 1<<9; // contains quad-byte field
305 static final int _fmt_not_variable = 1<<10; // not of variable length (simple or wide)
306 static final int _fmt_not_simple = 1<<11; // either wide or variable length
307 static final int _all_fmt_bits = (_fmt_not_simple*2 - _fmt_has_c);
308
309 // Example derived format syndromes:
765 def(_newarray , "newarray" , "bc" , null , BasicType.getTObject() , 0, true );
766 def(_anewarray , "anewarray" , "bkk" , null , BasicType.getTObject() , 0, true );
767 def(_arraylength , "arraylength" , "b" , null , BasicType.getTVoid() , 0, true );
768 def(_athrow , "athrow" , "b" , null , BasicType.getTVoid() , -1, true );
769 def(_checkcast , "checkcast" , "bkk" , null , BasicType.getTObject() , 0, true );
770 def(_instanceof , "instanceof" , "bkk" , null , BasicType.getTInt() , 0, true );
771 def(_monitorenter , "monitorenter" , "b" , null , BasicType.getTVoid() , -1, true );
772 def(_monitorexit , "monitorexit" , "b" , null , BasicType.getTVoid() , -1, true );
773 def(_wide , "wide" , "" , null , BasicType.getTVoid() , 0, false);
774 def(_multianewarray , "multianewarray" , "bkkc" , null , BasicType.getTObject() , 1, true );
775 def(_ifnull , "ifnull" , "boo" , null , BasicType.getTVoid() , -1, false);
776 def(_ifnonnull , "ifnonnull" , "boo" , null , BasicType.getTVoid() , -1, false);
777 def(_goto_w , "goto_w" , "boooo", null , BasicType.getTVoid() , 0, false);
778 def(_jsr_w , "jsr_w" , "boooo", null , BasicType.getTInt() , 0, false);
779 def(_breakpoint , "breakpoint" , "" , null , BasicType.getTVoid() , 0, true );
780
781 // JVM bytecodes
782 // bytecode bytecode name format wide f. result tp stk traps std code
783
784 def(_fast_agetfield , "fast_agetfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _getfield );
785 def(_fast_vgetfield , "fast_vgetfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _getfield );
786 def(_fast_bgetfield , "fast_bgetfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _getfield );
787 def(_fast_cgetfield , "fast_cgetfield" , "bJJ" , null , BasicType.getTChar() , 0, true , _getfield );
788 def(_fast_dgetfield , "fast_dgetfield" , "bJJ" , null , BasicType.getTDouble() , 0, true , _getfield );
789 def(_fast_fgetfield , "fast_fgetfield" , "bJJ" , null , BasicType.getTFloat() , 0, true , _getfield );
790 def(_fast_igetfield , "fast_igetfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _getfield );
791 def(_fast_lgetfield , "fast_lgetfield" , "bJJ" , null , BasicType.getTLong() , 0, true , _getfield );
792 def(_fast_sgetfield , "fast_sgetfield" , "bJJ" , null , BasicType.getTShort() , 0, true , _getfield );
793
794 def(_fast_aputfield , "fast_aputfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _putfield );
795 def(_fast_vputfield , "fast_vputfield" , "bJJ" , null , BasicType.getTObject() , 0, true , _putfield );
796 def(_fast_bputfield , "fast_bputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
797 def(_fast_zputfield , "fast_zputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
798 def(_fast_cputfield , "fast_cputfield" , "bJJ" , null , BasicType.getTChar() , 0, true , _putfield );
799 def(_fast_dputfield , "fast_dputfield" , "bJJ" , null , BasicType.getTDouble() , 0, true , _putfield );
800 def(_fast_fputfield , "fast_fputfield" , "bJJ" , null , BasicType.getTFloat() , 0, true , _putfield );
801 def(_fast_iputfield , "fast_iputfield" , "bJJ" , null , BasicType.getTInt() , 0, true , _putfield );
802 def(_fast_lputfield , "fast_lputfield" , "bJJ" , null , BasicType.getTLong() , 0, true , _putfield );
803 def(_fast_sputfield , "fast_sputfield" , "bJJ" , null , BasicType.getTShort() , 0, true , _putfield );
804
805 def(_fast_aload_0 , "fast_aload_0" , "b" , null , BasicType.getTObject() , 1, true , _aload_0 );
806 def(_fast_iaccess_0 , "fast_iaccess_0" , "b_JJ" , null , BasicType.getTInt() , 1, true , _aload_0 );
807 def(_fast_aaccess_0 , "fast_aaccess_0" , "b_JJ" , null , BasicType.getTObject() , 1, true , _aload_0 );
808 def(_fast_faccess_0 , "fast_faccess_0" , "b_JJ" , null , BasicType.getTObject() , 1, true , _aload_0 );
809
810 def(_fast_iload , "fast_iload" , "bi" , null , BasicType.getTInt() , 1, false, _iload );
811 def(_fast_iload2 , "fast_iload2" , "bi_i" , null , BasicType.getTInt() , 2, false, _iload );
812 def(_fast_icaload , "fast_icaload" , "bi_" , null , BasicType.getTInt() , 0, false, _iload );
813
814 // Faster method invocation.
815 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , null , BasicType.getTIllegal(), -1, true, _invokevirtual );
|