All Versions
16
Latest Version
5.0
Avg Release Cycle
17 days
Latest Release
873 days ago

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"
  • 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]
    true

    Replaced Bignum#~, Bignum#[email protected] primitives. (Brian Shirai)