mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Unified pc and err of mrb_callinfo
This enhances self-containment. - Changed the `mrb_callinfo::pc` field to point to itself. Previously it indicated the return destination of the previous call level. `mrb_callinfo::pc` will now hold the address to its own `proc->body.irep->iseq`. - Removed `mrb_callinfo::err` field. This is because `mrb_callinfo::pc - 1` is semantically the same as the previous `err`. - The `pc0` and `pc_save` variables in `mrb_vm_exec()` are no longer needed and have been deleted. - It removes the argument because `cipush()` doesn't need to save the previous `pc`.
This commit is contained in:
+1
-2
@@ -152,8 +152,7 @@ typedef struct {
|
||||
mrb_sym mid;
|
||||
const struct RProc *proc;
|
||||
mrb_value *stack;
|
||||
const mrb_code *pc; /* return address */
|
||||
const mrb_code *err; /* error position */
|
||||
const mrb_code *pc; /* current address on iseq of this proc */
|
||||
int16_t argc;
|
||||
int16_t acc;
|
||||
union {
|
||||
|
||||
Reference in New Issue
Block a user