410 void interp1 (BytecodeStream *itr); 411 void do_exception_edge (BytecodeStream *itr); 412 void check_type (CellTypeState expected, CellTypeState actual); 413 void ppstore (CellTypeState *in, int loc_no); 414 void ppload (CellTypeState *out, int loc_no); 415 void ppush1 (CellTypeState in); 416 void ppush (CellTypeState *in); 417 void ppop1 (CellTypeState out); 418 void ppop (CellTypeState *out); 419 void ppop_any (int poplen); 420 void pp (CellTypeState *in, CellTypeState *out); 421 void pp_new_ref (CellTypeState *in, int bci); 422 void pp_new_valuetype (CellTypeState *in, int bci); 423 void ppdupswap (int poplen, const char *out); 424 void do_ldc (int bci); 425 void do_astore (int idx); 426 void do_vstore (int idx); 427 void do_jsr (int delta); 428 void do_field (int is_get, int is_static, int is_valuetype, int idx, int bci); 429 void do_method (int is_static, int is_value, int idx, int bci); 430 void do_multianewarray (int dims, int bci); 431 void do_monitorenter (int bci); 432 void do_monitorexit (int bci); 433 void do_return_monitor_check (); 434 void do_checkcast (); 435 CellTypeState *sigchar_to_effect (char sigch, int bci, CellTypeState *out); 436 int copy_cts (CellTypeState *dst, CellTypeState *src); 437 438 // Error handling 439 void error_work (const char *format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 440 void report_error (const char *format, ...) ATTRIBUTE_PRINTF(2, 3); 441 void verify_error (const char *format, ...) ATTRIBUTE_PRINTF(2, 3); 442 bool got_error() { return _got_error; } 443 444 // Create result set 445 bool _report_result; 446 bool _report_result_for_send; // Unfortunatly, stackmaps for sends are special, so we need some extra 447 BytecodeStream *_itr_send; // variables to handle them properly. 448 449 void report_result (); | 410 void interp1 (BytecodeStream *itr); 411 void do_exception_edge (BytecodeStream *itr); 412 void check_type (CellTypeState expected, CellTypeState actual); 413 void ppstore (CellTypeState *in, int loc_no); 414 void ppload (CellTypeState *out, int loc_no); 415 void ppush1 (CellTypeState in); 416 void ppush (CellTypeState *in); 417 void ppop1 (CellTypeState out); 418 void ppop (CellTypeState *out); 419 void ppop_any (int poplen); 420 void pp (CellTypeState *in, CellTypeState *out); 421 void pp_new_ref (CellTypeState *in, int bci); 422 void pp_new_valuetype (CellTypeState *in, int bci); 423 void ppdupswap (int poplen, const char *out); 424 void do_ldc (int bci); 425 void do_astore (int idx); 426 void do_vstore (int idx); 427 void do_jsr (int delta); 428 void do_field (int is_get, int is_static, int is_valuetype, int idx, int bci); 429 void do_method (int is_static, int is_value, int idx, int bci); 430 void do_vnew (int idx, int bci); 431 void do_vwithfield (int idx, int bci); 432 void do_multianewarray (int dims, int bci); 433 void do_monitorenter (int bci); 434 void do_monitorexit (int bci); 435 void do_return_monitor_check (); 436 void do_checkcast (); 437 CellTypeState *sigchar_to_effect (char sigch, int bci, CellTypeState *out); 438 int copy_cts (CellTypeState *dst, CellTypeState *src); 439 440 // Error handling 441 void error_work (const char *format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 442 void report_error (const char *format, ...) ATTRIBUTE_PRINTF(2, 3); 443 void verify_error (const char *format, ...) ATTRIBUTE_PRINTF(2, 3); 444 bool got_error() { return _got_error; } 445 446 // Create result set 447 bool _report_result; 448 bool _report_result_for_send; // Unfortunatly, stackmaps for sends are special, so we need some extra 449 BytecodeStream *_itr_send; // variables to handle them properly. 450 451 void report_result (); |