457 def(_invokespecial , "invokespecial" , "bJJ" , NULL , T_ILLEGAL, -1, true);
458 def(_invokestatic , "invokestatic" , "bJJ" , NULL , T_ILLEGAL, 0, true);
459 def(_invokeinterface , "invokeinterface" , "bJJ__", NULL , T_ILLEGAL, -1, true);
460 def(_invokedynamic , "invokedynamic" , "bJJJJ", NULL , T_ILLEGAL, 0, true );
461 def(_new , "new" , "bkk" , NULL , T_OBJECT , 1, true );
462 def(_newarray , "newarray" , "bc" , NULL , T_OBJECT , 0, true );
463 def(_anewarray , "anewarray" , "bkk" , NULL , T_OBJECT , 0, true );
464 def(_arraylength , "arraylength" , "b" , NULL , T_INT , 0, true );
465 def(_athrow , "athrow" , "b" , NULL , T_VOID , -1, true );
466 def(_checkcast , "checkcast" , "bkk" , NULL , T_OBJECT , 0, true );
467 def(_instanceof , "instanceof" , "bkk" , NULL , T_INT , 0, true );
468 def(_monitorenter , "monitorenter" , "b" , NULL , T_VOID , -1, true );
469 def(_monitorexit , "monitorexit" , "b" , NULL , T_VOID , -1, true );
470 def(_wide , "wide" , "" , NULL , T_VOID , 0, false);
471 def(_multianewarray , "multianewarray" , "bkkc" , NULL , T_OBJECT , 1, true );
472 def(_ifnull , "ifnull" , "boo" , NULL , T_VOID , -1, false);
473 def(_ifnonnull , "ifnonnull" , "boo" , NULL , T_VOID , -1, false);
474 def(_goto_w , "goto_w" , "boooo", NULL , T_VOID , 0, false);
475 def(_jsr_w , "jsr_w" , "boooo", NULL , T_INT , 0, false);
476 def(_breakpoint , "breakpoint" , "" , NULL , T_VOID , 0, true);
477
478 // JVM bytecodes
479 // bytecode bytecode name format wide f. result tp stk traps std code
480
481 def(_fast_agetfield , "fast_agetfield" , "bJJ" , NULL , T_OBJECT , 0, true , _getfield );
482 def(_fast_bgetfield , "fast_bgetfield" , "bJJ" , NULL , T_INT , 0, true , _getfield );
483 def(_fast_cgetfield , "fast_cgetfield" , "bJJ" , NULL , T_CHAR , 0, true , _getfield );
484 def(_fast_dgetfield , "fast_dgetfield" , "bJJ" , NULL , T_DOUBLE , 0, true , _getfield );
485 def(_fast_fgetfield , "fast_fgetfield" , "bJJ" , NULL , T_FLOAT , 0, true , _getfield );
486 def(_fast_igetfield , "fast_igetfield" , "bJJ" , NULL , T_INT , 0, true , _getfield );
487 def(_fast_lgetfield , "fast_lgetfield" , "bJJ" , NULL , T_LONG , 0, true , _getfield );
488 def(_fast_sgetfield , "fast_sgetfield" , "bJJ" , NULL , T_SHORT , 0, true , _getfield );
489
490 def(_fast_aputfield , "fast_aputfield" , "bJJ" , NULL , T_OBJECT , 0, true , _putfield );
491 def(_fast_bputfield , "fast_bputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
492 def(_fast_zputfield , "fast_zputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
493 def(_fast_cputfield , "fast_cputfield" , "bJJ" , NULL , T_CHAR , 0, true , _putfield );
494 def(_fast_dputfield , "fast_dputfield" , "bJJ" , NULL , T_DOUBLE , 0, true , _putfield );
495 def(_fast_fputfield , "fast_fputfield" , "bJJ" , NULL , T_FLOAT , 0, true , _putfield );
496 def(_fast_iputfield , "fast_iputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
497 def(_fast_lputfield , "fast_lputfield" , "bJJ" , NULL , T_LONG , 0, true , _putfield );
498 def(_fast_sputfield , "fast_sputfield" , "bJJ" , NULL , T_SHORT , 0, true , _putfield );
499
500 def(_fast_aload_0 , "fast_aload_0" , "b" , NULL , T_OBJECT , 1, true , _aload_0 );
501 def(_fast_iaccess_0 , "fast_iaccess_0" , "b_JJ" , NULL , T_INT , 1, true , _aload_0 );
502 def(_fast_aaccess_0 , "fast_aaccess_0" , "b_JJ" , NULL , T_OBJECT , 1, true , _aload_0 );
503 def(_fast_faccess_0 , "fast_faccess_0" , "b_JJ" , NULL , T_OBJECT , 1, true , _aload_0 );
504
505 def(_fast_iload , "fast_iload" , "bi" , NULL , T_INT , 1, false, _iload);
506 def(_fast_iload2 , "fast_iload2" , "bi_i" , NULL , T_INT , 2, false, _iload);
507 def(_fast_icaload , "fast_icaload" , "bi_" , NULL , T_INT , 0, false, _iload);
508
509 // Faster method invocation.
510 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
|
457 def(_invokespecial , "invokespecial" , "bJJ" , NULL , T_ILLEGAL, -1, true);
458 def(_invokestatic , "invokestatic" , "bJJ" , NULL , T_ILLEGAL, 0, true);
459 def(_invokeinterface , "invokeinterface" , "bJJ__", NULL , T_ILLEGAL, -1, true);
460 def(_invokedynamic , "invokedynamic" , "bJJJJ", NULL , T_ILLEGAL, 0, true );
461 def(_new , "new" , "bkk" , NULL , T_OBJECT , 1, true );
462 def(_newarray , "newarray" , "bc" , NULL , T_OBJECT , 0, true );
463 def(_anewarray , "anewarray" , "bkk" , NULL , T_OBJECT , 0, true );
464 def(_arraylength , "arraylength" , "b" , NULL , T_INT , 0, true );
465 def(_athrow , "athrow" , "b" , NULL , T_VOID , -1, true );
466 def(_checkcast , "checkcast" , "bkk" , NULL , T_OBJECT , 0, true );
467 def(_instanceof , "instanceof" , "bkk" , NULL , T_INT , 0, true );
468 def(_monitorenter , "monitorenter" , "b" , NULL , T_VOID , -1, true );
469 def(_monitorexit , "monitorexit" , "b" , NULL , T_VOID , -1, true );
470 def(_wide , "wide" , "" , NULL , T_VOID , 0, false);
471 def(_multianewarray , "multianewarray" , "bkkc" , NULL , T_OBJECT , 1, true );
472 def(_ifnull , "ifnull" , "boo" , NULL , T_VOID , -1, false);
473 def(_ifnonnull , "ifnonnull" , "boo" , NULL , T_VOID , -1, false);
474 def(_goto_w , "goto_w" , "boooo", NULL , T_VOID , 0, false);
475 def(_jsr_w , "jsr_w" , "boooo", NULL , T_INT , 0, false);
476 def(_breakpoint , "breakpoint" , "" , NULL , T_VOID , 0, true);
477 def(_aconst_init , "aconst_init" , "bkk" , NULL , T_OBJECT , 1, true);
478 def(_withfield , "withfield" , "bJJ" , NULL , T_OBJECT , -1, true );
479
480 // JVM bytecodes
481 // bytecode bytecode name format wide f. result tp stk traps std code
482
483 def(_fast_agetfield , "fast_agetfield" , "bJJ" , NULL , T_OBJECT , 0, true , _getfield );
484 def(_fast_qgetfield , "fast_qgetfield" , "bJJ" , NULL , T_OBJECT , 0, true , _getfield );
485 def(_fast_bgetfield , "fast_bgetfield" , "bJJ" , NULL , T_INT , 0, true , _getfield );
486 def(_fast_cgetfield , "fast_cgetfield" , "bJJ" , NULL , T_CHAR , 0, true , _getfield );
487 def(_fast_dgetfield , "fast_dgetfield" , "bJJ" , NULL , T_DOUBLE , 0, true , _getfield );
488 def(_fast_fgetfield , "fast_fgetfield" , "bJJ" , NULL , T_FLOAT , 0, true , _getfield );
489 def(_fast_igetfield , "fast_igetfield" , "bJJ" , NULL , T_INT , 0, true , _getfield );
490 def(_fast_lgetfield , "fast_lgetfield" , "bJJ" , NULL , T_LONG , 0, true , _getfield );
491 def(_fast_sgetfield , "fast_sgetfield" , "bJJ" , NULL , T_SHORT , 0, true , _getfield );
492
493 def(_fast_aputfield , "fast_aputfield" , "bJJ" , NULL , T_OBJECT , 0, true , _putfield );
494 def(_fast_qputfield , "fast_qputfield" , "bJJ" , NULL , T_OBJECT , 0, true , _putfield );
495 def(_fast_bputfield , "fast_bputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
496 def(_fast_zputfield , "fast_zputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
497 def(_fast_cputfield , "fast_cputfield" , "bJJ" , NULL , T_CHAR , 0, true , _putfield );
498 def(_fast_dputfield , "fast_dputfield" , "bJJ" , NULL , T_DOUBLE , 0, true , _putfield );
499 def(_fast_fputfield , "fast_fputfield" , "bJJ" , NULL , T_FLOAT , 0, true , _putfield );
500 def(_fast_iputfield , "fast_iputfield" , "bJJ" , NULL , T_INT , 0, true , _putfield );
501 def(_fast_lputfield , "fast_lputfield" , "bJJ" , NULL , T_LONG , 0, true , _putfield );
502 def(_fast_sputfield , "fast_sputfield" , "bJJ" , NULL , T_SHORT , 0, true , _putfield );
503
504 def(_fast_aload_0 , "fast_aload_0" , "b" , NULL , T_OBJECT , 1, true , _aload_0 );
505 def(_fast_iaccess_0 , "fast_iaccess_0" , "b_JJ" , NULL , T_INT , 1, true , _aload_0 );
506 def(_fast_aaccess_0 , "fast_aaccess_0" , "b_JJ" , NULL , T_OBJECT , 1, true , _aload_0 );
507 def(_fast_faccess_0 , "fast_faccess_0" , "b_JJ" , NULL , T_OBJECT , 1, true , _aload_0 );
508
509 def(_fast_iload , "fast_iload" , "bi" , NULL , T_INT , 1, false, _iload);
510 def(_fast_iload2 , "fast_iload2" , "bi_i" , NULL , T_INT , 2, false, _iload);
511 def(_fast_icaload , "fast_icaload" , "bi_" , NULL , T_INT , 0, false, _iload);
512
513 // Faster method invocation.
514 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
|