The Rubinius Language Platform
MPL-2.0 License
Bot releases are hidden (Show)
Published by brixen over 5 years ago
Version 4.0 (2019-05-04)
Published by brixen over 6 years ago
Version 3.107 (2018-07-15)
Published by brixen over 6 years ago
Version 3.106 (2018-07-07)
Published by brixen over 6 years ago
Version 3.105 (2018-05-28)
Published by brixen over 6 years ago
Version 3.104 (2018-05-15)
Published by brixen over 6 years ago
Version 3.103 (2018-05-11)
Published by brixen over 6 years ago
Version 3.102 (2018-05-11)
Thanks to @sodabrew and @saizai for figuring out what was happening.
Published by brixen over 6 years ago
Version 3.101 (2018-05-05)
Behind both a Thread and a Fiber is a data structure for various
information that supports the functioning of the Thread or Fiber. When
the underlying pthread function terminates, it sets sets that structure
to a "zombie" status so that its resources can eventually be released.
In doing so, it removes the reference to the Thread object associated
with the Fiber, so we need to cache the last value in the Fiber itself.
Published by brixen over 6 years ago
Version 3.100 (2018-03-02)
Published by brixen over 6 years ago
Version 3.99 (2018-02-09)
Published by brixen over 6 years ago
Version 3.98 (2018-02-07)
Report measurement insns as diagnostics. (Brian Shirai)
Add missing measurements file. (Brian Shirai)
Update rubygems to 2.7.5. (Brian Shirai)
Cripple Bundler concurrency on Rubinius. (Brian Shirai)
See eg https://github.com/rubinius/rubinius/issues/3781#issuecomment-360566407
and https://github.com/bundler/bundler/issues/6274
and historically https://github.com/bundler/bundler/issues/5142
Added more measurement diagnostics. (Brian Shirai)
Published by brixen over 6 years ago
Version 3.97 (2018-02-05)
Published by brixen over 6 years ago
Version 3.96 (2018-01-26)
Published by brixen over 6 years ago
Version 3.95 (2018-01-25)
Published by brixen over 6 years ago
Version 3.94 (2018-01-24)
Published by brixen over 6 years ago
Version 3.93 (2018-01-20)
Improved installing gems. (Brian Shirai)
Update Bundler. (Brian Shirai)
Fixed [const_]defined? under autoload. Closes #3769. (Brian Shirai)
fix bug where 'abstract' class FileDescriptor is instantiated; always default to Buffered (Chuck Remes)
Fix defined? with autoload better. Closes #3769 again. (Brian Shirai)
Always parenthesize macro arguments. (Brian Shirai)
Don't remove codedb cache. (Brian Shirai)
We may need it for the release tarball.
Remove primitives previously used for defined?. (Brian Shirai)
Published by brixen almost 7 years ago
Version 3.92 (2018-01-17)
=== 2.6.14 / 2017-10-09
Security fixes:
=== 2.6.13 / 2017-08-27
Security fixes:
query
command. (CVE-2017-0900)=== 2.6.12 / 2017-04-30
Bug fixes:
=== 2.6.11 / 2017-03-16
Bug fixes:
=== 2.6.10 / 2017-01-23
Bug fixes:
require
calling the wrong gem
method when it is overridden.=== 2.6.9 / 2017-01-20
Bug fixes:
=== 2.6.8 / 2016-10-29
Bug fixes:
to_spec
falls back on prerelease specs. Pull request=== 2.6.7 / 2016-09-26
Bug fixes:
--user-install
flag. Pull request #1683 by Noah Kantrowitz.Gem.sources
, load sources from configuration
=== 2.6.6 / 2016-06-22
Bug fixes:
gem update --system
. As a one-time fix, rungem update --system=2.6.6
. Pull request #1601 by David Radcliffe.RubyGems installed the following executables:
/source/rubinius/rubinius/bin/gem
RubyGems system software updated
Published by brixen almost 7 years ago
Version 3.91 (2018-01-15)
WIP: Fix range of Fixnum. Closes #3636. (Brian Shirai)
Introduce proper lock for internalizing CompiledCode. (Brian Shirai)
Cleanup old C++ missing classes. (Brian Shirai)
Remove missing/hashtable for Leopard. (Brian Shirai)
Accommodate registers. (Brian Shirai)
This is a temporary approach until the CallFrame is re-worked to treat
registers as first-class entities.
Add more instruction templates. (Brian Shirai)
Unmarshal CompiledCode#registers. (Brian Shirai)
Remove VM unmarshal tests. (Brian Shirai)
This facility is so fundamental that there's no way for Rubinius to
function if it isn't working, so the test for it adds no information and
duplicates work.
Add implementation for more new instructions. (Brian Shirai)
Update compiler version. (Brian Shirai)
More instructions and specs. (Brian Shirai)
Use unmanaged memory for CallSite. (Brian Shirai)
This is a provisional implementation awaiting full support for reference
counting in the managed heap and garbage collector.
There are broadly four kinds of memory in Rubinius:
It's possible to put both 3 and 4 into the same category (ie managed
objects) if we allow for every one of those objects to use an extra
machine word or two (or some sort of side table) in order to keep track
of them.
The challenge in this approach is to ensure that the garbage collector
knows how to process them to find all the references they may contain.
By creating a composite model for the garbage collector that uses both
tracing and reference counting, it's possible to put managed objects in
places that won't be traced, and preserve their lifetime by counting how
many times they are referenced by live objects.
Another thing to note about 3 and 4 is that the difference mostly comes
down to whether the object will be exposed as a reference to the managed
(eg Ruby) code. For example, can it be stored in a local variable, or in
an Array or Hash? If it can be stored, then it needs to respond like a
managed object (eg what happens when it's passed to the method 'p').
This new mechanism maintains CallSite as a Ruby object because it's
useful for conveying the information at the call site to Ruby code. In
the future, arbitrary objects will be able to interact by means of
functions attached to them via FFI, so the system can handle non-managed
objects in a manner that is consistent with how it handles managed
objects.
Published by brixen almost 7 years ago
Version 3.90 (2018-01-06)
buffer += result
which returned a new bufferSeparately, the spec to test this behavior showed that #each_line
broke. It has similar logic to figure out separator or limit but
in this case it was passing each(5, 5, &blk) after figuring out
the limit. The fix is to reset sep_or_limit once we know what
it is supposed to be.
Incidently the only way to call EachReader#read_to_limit is to
set $/ = nil and send no separator in the #each method call.
But when a method is called recursively, the state of the cache will
have changed and when unwinding from the dispatch call, we need check
that the state of the cache is what we assume it to be. A similar thing
can happen when code is executing concurrently.
Published by brixen almost 7 years ago
Version 3.89 (2018-01-02)