524
525 def(_fast_iload , "fast_iload" , "bi" , NULL , T_INT , 1, false, _iload);
526 def(_fast_iload2 , "fast_iload2" , "bi_i" , NULL , T_INT , 2, false, _iload);
527 def(_fast_icaload , "fast_icaload" , "bi_" , NULL , T_INT , 0, false, _iload);
528
529 // Faster method invocation.
530 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
531
532 def(_fast_linearswitch , "fast_linearswitch" , "" , NULL , T_VOID , -1, false, _lookupswitch );
533 def(_fast_binaryswitch , "fast_binaryswitch" , "" , NULL , T_VOID , -1, false, _lookupswitch );
534
535 def(_return_register_finalizer , "return_register_finalizer" , "b" , NULL , T_VOID , 0, true, _return);
536
537 def(_invokehandle , "invokehandle" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
538
539 def(_fast_aldc , "fast_aldc" , "bj" , NULL , T_OBJECT, 1, true, _ldc );
540 def(_fast_aldc_w , "fast_aldc_w" , "bJJ" , NULL , T_OBJECT, 1, true, _ldc_w );
541
542 def(_shouldnotreachhere , "_shouldnotreachhere" , "b" , NULL , T_VOID , 0, false);
543
544 // platform specific JVM bytecodes
545 pd_initialize();
546
547 // compare can_trap information for each bytecode with the
548 // can_trap information for the corresponding base bytecode
549 // (if a rewritten bytecode can trap, so must the base bytecode)
550 #ifdef ASSERT
551 { for (int i = 0; i < number_of_codes; i++) {
552 if (is_defined(i)) {
553 Code code = cast(i);
554 Code java = java_code(code);
555 if (can_trap(code) && !can_trap(java))
556 fatal(err_msg("%s can trap => %s can trap, too", name(code),
557 name(java)));
558 }
559 }
560 }
561 #endif
562
563 // initialization successful
564 _is_initialized = true;
565 }
566
|
524
525 def(_fast_iload , "fast_iload" , "bi" , NULL , T_INT , 1, false, _iload);
526 def(_fast_iload2 , "fast_iload2" , "bi_i" , NULL , T_INT , 2, false, _iload);
527 def(_fast_icaload , "fast_icaload" , "bi_" , NULL , T_INT , 0, false, _iload);
528
529 // Faster method invocation.
530 def(_fast_invokevfinal , "fast_invokevfinal" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
531
532 def(_fast_linearswitch , "fast_linearswitch" , "" , NULL , T_VOID , -1, false, _lookupswitch );
533 def(_fast_binaryswitch , "fast_binaryswitch" , "" , NULL , T_VOID , -1, false, _lookupswitch );
534
535 def(_return_register_finalizer , "return_register_finalizer" , "b" , NULL , T_VOID , 0, true, _return);
536
537 def(_invokehandle , "invokehandle" , "bJJ" , NULL , T_ILLEGAL, -1, true, _invokevirtual );
538
539 def(_fast_aldc , "fast_aldc" , "bj" , NULL , T_OBJECT, 1, true, _ldc );
540 def(_fast_aldc_w , "fast_aldc_w" , "bJJ" , NULL , T_OBJECT, 1, true, _ldc_w );
541
542 def(_shouldnotreachhere , "_shouldnotreachhere" , "b" , NULL , T_VOID , 0, false);
543
544 // compare can_trap information for each bytecode with the
545 // can_trap information for the corresponding base bytecode
546 // (if a rewritten bytecode can trap, so must the base bytecode)
547 #ifdef ASSERT
548 { for (int i = 0; i < number_of_codes; i++) {
549 if (is_defined(i)) {
550 Code code = cast(i);
551 Code java = java_code(code);
552 if (can_trap(code) && !can_trap(java))
553 fatal(err_msg("%s can trap => %s can trap, too", name(code),
554 name(java)));
555 }
556 }
557 }
558 #endif
559
560 // initialization successful
561 _is_initialized = true;
562 }
563
|