|
| static void | send_by_name (struct VM *vm, mrbc_sym sym_id, int a, int c) |
| static const mrbc_irep_catch_handler * | find_catch_handler_ensure (const struct VM *vm) |
| void | mrbc_cleanup_vm (void) |
| mrbc_sym | mrbc_get_callee_symid (struct VM *vm) |
| const char * | mrbc_get_callee_name (struct VM *vm) |
| mrbc_callinfo * | mrbc_push_callinfo (struct VM *vm, mrbc_sym method_id, int reg_offset, int n_args) |
| void | mrbc_pop_callinfo (struct VM *vm) |
| mrbc_vm * | mrbc_vm_new (int regs_size) |
| mrbc_vm * | mrbc_vm_open (struct VM *vm) |
| void | mrbc_vm_begin (struct VM *vm) |
| void | mrbc_vm_end (struct VM *vm) |
| void | mrbc_vm_close (struct VM *vm) |
| static void | op_nop (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_move (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadl (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadi (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadineg (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadi_n (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadi16 (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadi32 (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadsym (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadnil (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadself (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadt (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_loadf (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getgv (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_setgv (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getiv (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_setiv (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getconst (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_setconst (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getmcnst (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getupvar (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_setupvar (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_getidx (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_setidx (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_jmp (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_jmpif (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_jmpnot (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_jmpnil (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_jmpuw (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_except (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_rescue (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_raiseif (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_ssend (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_ssendb (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_send (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_sendb (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_super (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_argary (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_enter (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_key_p (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_keyend (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_karg (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_return__sub (mrbc_vm *vm, mrbc_value *regs, int a) |
| static void | op_return (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_return_blk (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_break (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_blkpush (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_add (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_addi (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_sub (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_subi (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_mul (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_div (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_eq (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_lt (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_le (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_gt (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_ge (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_array (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_array2 (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_arycat (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_arypush (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_arydup (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_aref (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_aset (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_apost (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_intern (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_symbol (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_string (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_strcat (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_hash (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_hashadd (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_hashcat (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_block (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_method (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_range_inc (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_range_exc (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_oclass (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_class (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_module (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_exec (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | sub_irep_incref (mrbc_irep *irep, int inc_dec) |
| static void | sub_def_alias (mrbc_class *cls, mrbc_method *method, mrbc_sym sym_id) |
| static void | op_def (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_alias (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_sclass (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_tclass (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_ext (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_stop (mrbc_vm *vm, mrbc_value *regs EXT) |
| static void | op_unsupported (mrbc_vm *vm, mrbc_value *regs EXT) |
| int | mrbc_vm_run (struct VM *vm) |
mruby bytecode executor.
Copyright (C) 2015- Kyushu Institute of Technology.
Copyright (C) 2015- Shimane IT Open-Innovation Center.
This file is distributed under BSD 3-Clause License.
Fetch mruby VM bytecodes, decode and execute.
Definition in file vm.c.