diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-10-22 21:31:52 +0100 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-10-22 21:45:38 +0100 |
commit | cc847037257b61f06817abdf05ab6657f589ca22 (patch) | |
tree | 42f9b09671278b70c8fbb6f8e60fc540c7ae2b65 /src/inst.c | |
parent | 7f1994c7aa1e3f18bc8baf7cb37f9fe093c884eb (diff) | |
download | ovm-cc847037257b61f06817abdf05ab6657f589ca22.tar.gz ovm-cc847037257b61f06817abdf05ab6657f589ca22.tar.bz2 ovm-cc847037257b61f06817abdf05ab6657f589ca22.zip |
Added runtime errors to virtual machine
Every vm routine now returns an err_t, which is an enumeration of
possible error states. ERR_OK represents the good state and is 0 so
error checking seems very natural in terms of language `if (err) ...`.
Errors bubble up the runtime, with any callers forced to check if an
error occurred.
This does mean that routines that call other routines cannot provide
an accurate trace of the subcaller (based on the fact that an error is
generated for the current instruction), but this should be a non issue
as no instruction should be complex enough to need proper traces.
Diffstat (limited to 'src/inst.c')
0 files changed, 0 insertions, 0 deletions