ArkScript v3.1.3
·
1292 commits
to 164e2b7f638949bc4dfb975e2dd3f52d55773f8c
since this release
Added
- adding an ExecutionContext to host the pointers (instruction, page, stack) and execution related structures (stack, locals, scopes), to ease the transition to a parallelized VM
- the VM can have multiple independant context running on the same bytecode
- the VM now takes a reference to an
Ark::Stateinstead of a raw non-owning pointer - adding
ARK_PROFILER_MIPSto toggle instruction per second calculation - adding new way to typecheck in builtins
- new CI build step now running valgrind to check for memory leaks
- new type checker (to be used by builtins)
- better type errors generation (with the list of arguments, if they are matching or not, and more)
Changed
- splitting Utils.hpp into multiple files for easier maintenance and contextualisation
- reserving a default scope size of 3, which yields really good performance results compared to nothing being reserved
- upgrading the builtins error handling to use the
BetterTypeError - the VM now displays the debug info (ip, pp, sp) at the end of the backtrace instead of the beginning
Removed
BetterTypeErrorhas been removed in favor of a type checker using templates and an error generator
Deprecated
- deprecating
VM(State*)in favor ofVM(State&)