Age | Commit message (Collapse) | Author |
|
Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768
|
|
As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will
always return a value, so we don't need to test whether or not we got
one. T_OBJECTs always come to life as embedded objects, so they will
return an ivptr, and when they become "unembedded" they will have an
ivptr at that point too
|
|
We don't need to check the existence if an ivptr because non-embedded
objects will always have one
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3713
|
|
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
|
|
|
|
This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3.
This "typo" is intentional to test the transposition detection by
did_you_mean.
|
|
|
|
|
|
|
|
|
|
This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49.
The bug seems to have been fixed.
|
|
Regexp literals are frozen, and also dynamically comppiled Regexp
literals (/#{expr}/) are frozen.
Notes:
Merged: https://github.com/ruby/ruby/pull/3676
|
|
|
|
It seems immutable information.
Notes:
Merged: https://github.com/ruby/ruby/pull/3671
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3704
|
|
Kernel.Rational() (#3702)
This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`.
[Bug #16518]
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
[Feature #17260] One-line pattern matching using tASSOC
R-assignment is rejected instead.
Notes:
Merged-By: nobu <nobu@ruby-lang.org>
|
|
uplevel: n)
* Fixes [Bug #17259]
Notes:
Merged: https://github.com/ruby/ruby/pull/3647
|
|
defined in Ruby
Notes:
Merged: https://github.com/ruby/ruby/pull/3647
|
|
|
|
* The spec means to use an actual system library function, not a wrapper.
|
|
No longer need to get rid of C block comments in builtin ruby
script comments.
|
|
template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* cast scalar value instead of function
* use `rb_pid_t` for the portability
|
|
As same as the description for `File.fnmatch`.
[Bug #17283]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* numeric.c: prohibit zero step in Numeric#step
* range.c: prohibit zero step in Range#step
* Fix ruby-spec
[Feature #15573]
Notes:
Merged: https://github.com/ruby/ruby/pull/3689
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Translate a part of .travis.yml into GitHub Actions workflow.
Notes:
Merged: https://github.com/ruby/ruby/pull/3685
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3688
|
|
|
|
This reverts commit 6cb6d5abc36ede9d5158c2cd90734134838e6bfb.
This reverts commit 1484b786aee8d411a9e2278ac6d6e44aedbf6662.
I think we don't need these assertions anymore. I believe the problem
is solved by abf678a4397c6c00a1bb686043e377d372e695a4
|
|
We are seeing an error where code that is generated with MJIT contains
references to objects that have been moved. I believe this is due to a
race condition in the compaction function.
`gc_compact` has two steps:
1. Run a full GC to pin objects
2. Compact / update references
Step one is executed with `garbage_collect`. `garbage_collect` calls
`gc_enter` / `gc_exit`, these functions acquire a JIT lock and release a
JIT lock. So a lock is held for the duration of step 1.
Step two is executed by `gc_compact_after_gc`. It also holds a JIT
lock.
I believe the problem is that the JIT is free to execute between step 1
and step 2. It copies call cache values, but doesn't pin them when it
copies them. So the compactor thinks it's OK to move the call cache
even though it is not safe.
We need to hold a lock for the duration of `garbage_collect` *and*
`gc_compact_after_gc`. This patch introduces a lock level which
increments and decrements. The compaction function can increment and
decrement the lock level and prevent MJIT from executing during both
steps.
Notes:
Merged: https://github.com/ruby/ruby/pull/3683
|