Releases: skx/go.vm
release-0.6
This release adds a bit more test-coverage to the CPU, and corrects an embarrassing issue where the stack didn't work as expected:
- Reported in #12, by @longxueyuu
- Resolved in #13, along with corresponding test-case.
release-0.5
This release contains a number of internal cleanups, largely relating to improved error-handling.
The fuzzing support has been updated to use the native facilities available in go1.18+. As a result of updating the fuzzer numerous issues were detected and resolved. (Processing invalid bytecode was always expected to cause issues, but now there should be no outright crashes, instead the various methods will return errors appropriately.)
All the examples have been updated to use jmp
rather than goto
, and our internal trap setup has been fixed to define all possible traps as unimplemented explicitly.
The repository has had the workflows updated for both merge-request and push events, which should ensure that we don't break in the future.
release-0.4
This release is being made solely to transition the testing and release process from TravisCI to github actions:
- github-action-tester
- Used to run tests.
- github-action-publish-binaries
- Used to make releases.
There were some internal cleanups relating to out-of-range registers, and updated documentation on how to fuzz-test the application, but these are minor tweaks.
release-0.3
This release updates the internal implementation to avoid accessing register-contents directly, instead we use the register-type functions. This avoids future changes to be made more easily, via the defined interface.
Otherwise there are no significant changes, instead we've updated the comments and code to fix some golint
warnings.
release-0.2
This release fixes a bug affecting cloning a register, such that this example now works correctly:
store #0, "Steve"
store #10, #0
print_str #10
This does three things:
- Stores the string "Steve" in register 0.
- Sets register 10 to have the contents of register 0.
- Prints the string in register 10 (i.e. "Steve")
In addition to this bugfix there is now a new trap int 0x02
which updates the string stored in register #0 to remove any trailing newline/space. This is demonstrated in the following example:
release-0.1
This is the first stable-release:
- All the examples are confirmed working.
- All the legacy code works as it should.
- The new
DATA "String content"
assembler option works. - The extension-mechanism, of using traps via the
int
operation, works as it should.