Changelog History
Page 1
-
v5.0 Changes
May 16, 2020๐ Version 5.0 (2020-05-16)
-
v4.20 Changes
April 21, 2020๐ Version 4.20 (2020-04-20)
- JIT: "I'm back fam" ๐ป (Brian Shirai)
Narrator: "Kinda, sorta"
- JIT: "I'm back fam" ๐ป (Brian Shirai)
-
v4.19 Changes
April 21, 2020๐ Version 4.19 (2020-04-20)
- ๐ Clean up some deprecations. (Brian Shirai)
-
v4.18 Changes
April 21, 2020๐ Version 4.18 (2020-04-20)
- Distributed ThreadNexus to Machine, Threads, ThreadState. (Brian Shirai)
-
v4.17
April 19, 2020 -
v4.16 Changes
April 17, 2020๐ Version 4.16 (2020-02-22)
๐ฑ ๐คท (Brian Shirai)
โก๏ธ Start updating README. (Brian Shirai)
๐ Move more of Environment into Machine. (Brian Shirai)
โ Removed C++ tests. (Brian Shirai)
โ Maintaining these tests for a decade, I can confidently state they don't
โ add enough value to compensate for the maintenance cost. As more C++
code (eg primitives, object classes) are replaced by instructions, the
โ value of the tests diminishes even more.โ Removed configure step for machine tests. (Brian Shirai)
๐ Moved locks to Machine. (Brian Shirai)
โ Removed remnants of C++ tests. (Brian Shirai)
Boot and halt on main thread. (Brian Shirai)
โก๏ธ Update README.md (Brian Shirai)
โก๏ธ Update README.md (Brian Shirai)
โก๏ธ Update README.md (Brian Shirai)
โ Removed old concurrency utils. (Brian Shirai)
โก๏ธ Update README.md (Brian Shirai)
โก๏ธ Update README.md (Brian Shirai)
Some Channel and misc cleanup. (Brian Shirai)
More Thread, ThreadState cleanup. (Brian Shirai)
Finalize UnwindSite caches. (Brian Shirai)
๐ Release last ThreadState. (Brian Shirai)
Don't discard MachineThread ThreadState on fork. (Brian Shirai)
-
v4.15 Changes
February 02, 2020๐ Version 4.15 (2020-02-02)
- Try a GitHub Action for CI. (Brian Shirai)
- ๐ฑ Tabs ๐ญ. (Brian Shirai)
- ๐ My castle for a CLI linter. (Brian Shirai)
- Name some things. (Brian Shirai)
- Fifth times a charm?. (Brian Shirai)
- ๐ฆ Shotgun the packages. (Brian Shirai)
- ๐ฑ Maybe later GitHub Actions. ๐ (Brian Shirai)
- Dispose of ExtendedHeaders at the end of a GC cycle. (Brian Shirai)
- Ensure CallFrame is initialized. (Brian Shirai)
- โ Added undefined behavior sanitizer to --sanitize. (Brian Shirai)
- โ Run specs in small batches. (Brian Shirai)
- Clean up some old stuff. (Brian Shirai)
- Try Bionic again. (Brian Shirai)
- ๐ Release rapidjson document storage. (Brian Shirai)
- ๐ Revert "Release rapidjson document storage." (Brian Shirai)
The diagnostics JSON reporters need reworking.
โช This reverts commit be1e28c.
- โ Remove obsolete JIT file. (Brian Shirai)
- Introduce new Machine structure. (Brian Shirai)
This provides proper and orderly creation of all the virtual machine
components, and the orderly destruction of those components when the
virtual machine halts.
[x] 1. Add Machine to SharedState;
[x] 1. Pass Machine through Environment to SharedState๐ [x] 1. Move SharedState items for env into Environment;
๐ง [x] 1. Move Configuration to Machine;
๐ [x] 1. Move ThreadNexus to Machine;
๐ Fixnum is deprecated.
๐ [x] 1. Move MachineThreads to Machine;
๐ [x] 1. Move Collector to Machine;
๐ [x] 1. Move Memory to Machine;
๐ [x] 1. Move SymbolTable into Memory;
๐ [x] 1. Move Globals into Memory;
โ Make VM tests pass for now.
โ Add task to show CodeDB dir. (Brian Shirai)
โช Revert "Add task to show CodeDB dir." (Brian Shirai)
โช This reverts commit 2b6949e.โ Locate the CodeDB for the VM tests. (Brian Shirai)
โ Removed SharedState, VMThreadState. (Brian Shirai)
๐ Moved State to ThreadState. (Brian Shirai)
This is a first step to eliminating VM and ManagedThread.โ Removed ManagedThread. (Brian Shirai)
โ Removed VM. (Brian Shirai)
Back to the ol' Trusty. (Brian Shirai)
There is some process or IO related issue on Bionic that is extremely
puzzling.Ok, fine, fail on Bionic then. (Brian Shirai)
โช Revert "Back to the ol' Trusty."โช This reverts commit a53fd06.
More cleanup. (Brian Shirai)
โ Removed MachineThreads list. Specific MachineThread's lifecycle
๐ functions are called directly. Handling around fork() moved to Machine.
Some Console cleanup.Let backtrace locations wrap. (Brian Shirai)
Clean a few spec tags. (Brian Shirai)
-
v4.14 Changes
January 26, 2020๐ Version 4.14 (2020-01-26)
โ Added start of array-type instructions. (Brian Shirai)
โช Revert "Disable experimental compiler plugins." (Brian Shirai)
โช This reverts commit 806f3be.More work on array-type instructions. (Brian Shirai)
โ Added --sanitize configure flag. (Brian Shirai)
๐ This doesn't work yet on macOS ๐ญ๐ clang: error: unsupported option '-fsanitize=leak' for target 'x86_64-apple-darwin19.2.0'
๐ Fix warning on Ubuntu Bionic. (Brian Shirai)
โ machine/ffi_util.cpp:53:10: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>.
For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to
โ remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to
๐ use a system-defined macro "major", you should undefine it after including <sys/types.h>.
[-W#pragma-messages]Switch to AddressSanitizer. (Brian Shirai)
โจ Enhance --sanitize configure option. (Brian Shirai)
๐ Exclude sysmacros.h on macOS. (Brian Shirai)
Clean up some Valgrind-exposed memory leaks. (Brian Shirai)
๐ Use unsynchronized set during GC. (Brian Shirai)
๐ We only run one thread during GC, so we don't need synchronized (un)set.Track code return value for GC. (Brian Shirai)
Rework extended header & memory handle mechanisms. (Brian Shirai)
โ Added ref count instructions. (Brian Shirai)
โ Added deprecation for Fixnum, Bignum. (Brian Shirai)
Clean up from memory header rework. (Brian Shirai)
โ Removed a bunch of Rake stuff. (Brian Shirai)
Start to clean up 'Machine'. (Brian Shirai)
Checkpoint for GC after saving object reference. (Brian Shirai)
๐ It turns out, surprisingly enough, it's much easier to see the object we
๐ are trying to trace if we put it where we can see it first. -
v4.13 Changes
January 20, 2020๐ Version 4.13 (2020-01-20)
โ Added more math functions. (Brian Shirai)
Replaced Bignum#<<, Bignum#>> primitives. (Brian Shirai)
Replaced Fixnum#size, Bignum#size primitives. (Brian Shirai)
Replaced {Fixnum, Bignum}#bit_length primitives. (Brian Shirai)
Switch Travis to use 18.04 bionic. (Brian Shirai)
๐ง Install gdbm on Linux for Travis 18.04 bionic. (Brian Shirai)
๐ง Install gdbm on Linux for Travis 18.04 bionic. (Brian Shirai)
โช Revert switching Travis to bionic. (Brian Shirai)
Replaced more Bignum, Fixnum primitives. (Brian Shirai)
โ Added more instructions. (Brian Shirai)
Replaced {Fixnum, Bignum}#{to_s, inspect} primitives. (Brian Shirai)
Replaced {Bignum, Fixnum}#to_f primitive. (Brian Shirai)
Replaced {Fixnum, Bignum}#divmod primitives. (Brian Shirai)
๐ Enable experimental compiler plugins. (Brian Shirai)
๐ Ignore stdlib C-exts that won't build. (Brian Shirai)
Try bionic on Travis again. (Brian Shirai)
๐ Moved Fixnum.=== to Integer. (Brian Shirai)
๐ Improved Process.waitpid. (Brian Shirai)
โ Removed unnecessary subprocess from Fiber#resume spec. (Brian Shirai)
Reset process start time in forked child. (Brian Shirai)
Back to trusty. (Brian Shirai)
Simplify Integer.===. (Brian Shirai)
Finished removing Fixnum, Bignum classes in core. (Brian Shirai)
๐ More work remains before the constants can be removed.Reset start time after fork. (Brian Shirai)
๐ Handle coded caches better. (Brian Shirai)
This is still very messy and all this should be proper dependencies, but
๐ท I'd rather build that in the new build system that doesn't use Ruby.โ Added more floating point instructions. (Brian Shirai)
Replaced Float#{nan?, infinity?} primitives. (Brian Shirai)
๐ Make a proper pointer to registers. (Brian Shirai)
Previously, the registers were referenced relative to the beginning of
the stack by adjusting all the register indexes when creating the
MachineCode instance.๐ Disable experimental compiler plugins. (Brian Shirai)
-
v4.12 Changes
January 07, 2020๐ Version 4.12 (2020-01-06)
Replaced more Float, Fixnum, Bignum primitives. (Brian Shirai)
๐ Fixed spec assuming 32bit. (Brian Shirai)
Replaced more Integer bitwise primitives. (Brian Shirai)
โ Removed nonsense spec. (Brian Shirai)
๐ Not going to support this behavior. Rubinius returns true for all three
cases:๐ $ ruby -v -e 'p 0x800000000000027 <= (0x800000000000027 + 0.0)'
๐ ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin19]
false
๐ $ ruby -v -e 'p 1 <= (1 + 0.0)'
๐ ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin19]
true
$ ruby -v -e 'p (2*64) <= ((2*64) + 0.0)'
๐ ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin19]
trueReplaced Bignum#~, Bignum#[email protected] primitives. (Brian Shirai)