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