Age | Commit message (Collapse) | Author |
|
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.
[Feature #17490]
|
|
https://github.com/ruby/bigdecimal/commit/b1f1ed26c9
|
|
https://github.com/ruby/bigdecimal/commit/f0d94e6843
|
|
https://github.com/ruby/bigdecimal/commit/f6765b8071
|
|
Callinfo was being written in to an array and the GC would not see the
reference on the stack. `new_insn_send` creates a new callinfo object,
then it calls `new_insn_core`. `new_insn_core` allocates a new INSN
linked list item, which can end up calling `xmalloc` which will trigger
a GC:
https://github.com/ruby/ruby/blob/70cd351c7c71c48ee18d7c01e851a89614086f8f/compile.c#L968-L969
Since the callinfo object isn't on the stack, the GC won't see it, and
it can get collected. This patch just refactors `new_insn_send` to keep
the object on the stack
Co-authored-by: John Hawthorn <john@hawthorn.email>
Notes:
Merged: https://github.com/ruby/ruby/pull/4066
|
|
negative cache entry should be removed from
vm->negative_cme_table even if the redefined class has no
subclasses.
Notes:
Merged: https://github.com/ruby/ruby/pull/4063
|
|
We don't need nop padding when the catch tables are only for break /
next / redo, so lets avoid them. This eliminates nop padding in
many lambdas.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4055
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4067
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4060
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4059
|
|
[Feature #17485]
Notes:
Merged: https://github.com/ruby/ruby/pull/4010
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4010
|
|
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in scripts loaded by `-r`
option too.
Notes:
Merged: https://github.com/ruby/ruby/pull/4042
|
|
This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #17509], the breakage in the case `super` is
called in `respond_to?`.
Notes:
Merged: https://github.com/ruby/ruby/pull/4057
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4020
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4054
|
|
|
|
[Fixes ruby/ostruct#23]
|
|
Notes:
Merged-By: marcandre <github@marc-andre.ca>
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4053
|
|
Using dtoa of mode=0, we can determine the number of digits in decimal that is
necessary to represent the given Float number without errors.
This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these
methods use dtoa of mode=0 when the given digits is 0.
Internal implicit conversion from Float also uses digits=0.
[Fix GH-70]
https://github.com/ruby/bigdecimal/commit/2dbe170e35
|
|
|
|
|
|
|
|
This improve the conversion speed several times faster than before.
```
RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/github.com/ruby/bigdecimal/benchmark/from_float.yml
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
Calculating -------------------------------------
bigdecimal 3.0.0 master
flt_e0 156.400k 783.356k i/s - 100.000k times in 0.639388s 0.127656s
flt_ep10 158.640k 777.978k i/s - 100.000k times in 0.630359s 0.128538s
flt_ep100 101.676k 504.259k i/s - 100.000k times in 0.983512s 0.198311s
flt_em10 103.439k 726.339k i/s - 100.000k times in 0.966751s 0.137677s
flt_em100 79.675k 651.446k i/s - 100.000k times in 1.255095s 0.153505s
Comparison:
flt_e0
master: 783355.6 i/s
bigdecimal 3.0.0: 156399.5 i/s - 5.01x slower
flt_ep10
master: 777977.6 i/s
bigdecimal 3.0.0: 158639.7 i/s - 4.90x slower
flt_ep100
master: 504259.4 i/s
bigdecimal 3.0.0: 101676.5 i/s - 4.96x slower
flt_em10
master: 726338.6 i/s
bigdecimal 3.0.0: 103439.2 i/s - 7.02x slower
flt_em100
master: 651446.3 i/s
bigdecimal 3.0.0: 79675.3 i/s - 8.18x slower
```
https://github.com/ruby/bigdecimal/commit/5bdaedd530
https://github.com/ruby/bigdecimal/commit/9bfff57f90
https://github.com/ruby/bigdecimal/commit/d071a0abbb
|
|
https://github.com/ruby/bigdecimal/commit/95c201f2d3
|
|
https://github.com/ruby/bigdecimal/commit/d163f170a4
https://github.com/ruby/bigdecimal/commit/ff8eeeb064
|
|
|
|
https://github.com/ruby/reline/commit/a3b3c6ee60
|
|
This fixes ruby/reline#246.
https://github.com/ruby/reline/commit/07a73ba601
|
|
The current line was being handled incorrectly when displaying the hit
history, so it has been fixed to be correct.
https://github.com/ruby/reline/commit/a3df4343b3
|
|
https://github.com/ruby/irb/commit/c230d08911
|
|
- URI.open is available since 2.5.0, but URI#read is available since 1.8.0.
- Fix `open` without `close`.
- ref https://github.com/rurema/doctree/pull/2433
|
|
|
|
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
Notes:
Merged: https://github.com/ruby/ruby/pull/4052
|
|
https://github.com/ruby/bigdecimal/commit/14e53ed7f6
|
|
https://bugs.ruby-lang.org/issues/17485#change-89871
|
|
|
|
|
|
|
|
https://github.com/ruby/bigdecimal/commit/381ddf5ff6
|
|
https://github.com/ruby/bigdecimal/commit/ac230a996e
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4050
|
|
This condition is useless on Ubuntu, as this macro is defined by
default on other than Windows.
|
|
on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice.
|
|
|
|
https://github.com/ruby/etc/commit/0c5900bd21
|