| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
| |
Probably not strictly necessary, but good principle anyways.
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro
`#define rb_cData rb_cData()`. This deleting `VALUE rb_cData;`
declaration was then macro-expanded into `VALUE rb_cData();`. This
worked by accident because the expanded expression happen to be a K&R
style function declaration.
This is rather complicated and I guess unintended. Just delete the line
to keep things simple straight forward.
|
|
|
|
| |
Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-22T06:05:59Z master d2ca23fdbc) +JIT [x86_64-linux]
last_commit=MJIT is enabled whenever an MJIT header is used
Calculating -------------------------------------
before --jit after --jit
Optcarrot 180 frames 86.61115328062763 91.49245232931852 fps
90.18653732453176 92.31139517827663
91.29817884736318 93.84437713805814
92.76118222412521 93.91929147901106
```
|
| |
|
|
|
|
| |
Make the code a bit modern and consistent with some other places.
|
| |
|
|
|
|
| |
Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff.
|
|
|
|
|
| |
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945]
|
|
|
|
| |
Catch up recent changes on USE_RUBY_DEBUG_LOG=1.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#<=> is added.
https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
[Bug #17419]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me`
will be a invalidated and continuing the invalidated `me`,
it will break the data structure. This patch tris to clear
all methods of specified class before manipulating the `me`s.
[Issue #17417]
|
|
|
|
|
| |
It returns main Ractor, like Thread.main.
[Feature #17418]
|
|
|
|
|
| |
This API is similar to plain old Thread#[]/Fiber#[] interface
with symbol key.
|
| |
|
|
|
|
|
|
|
| |
* Use the wrapper of rb_cObject instead of data access
* Replaced rest of extentions
* Updated the version guard for Data
* Added the version guard of rb_cData
|
|
|
|
|
|
|
|
| |
Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5.
Matz says in [ruby-core:83954] that Data should be an alias of Object.
Because rb_cData has not been deprecated, let us deprecate the constant
to make it a C-level synonym of rb_cObject.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.
Now rb_ec_ractor_hooks() is a complete inline function and no
MJIT related issue.
|
|
|
|
|
| |
TracePoint should be ractor-local because the Proc can violate the
Ractor-safe.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
```
_ruby_mjit_p11920u0.c
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
c:\projects\ruby\vm_insnhelper.h(111) : see previous definition of 'GET_SELF'
Creating library C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.lib and object C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.exp
_ruby_mjit_p11920u0.obj : error LNK2001: unresolved external symbol rb_eRactorIsolationError
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.so : fatal error LNK1120: 1 unresolved externals
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Ractor has several restrictions to keep each ractor being isolated
and some operation such as `CONST="foo"` in non-main ractor raises
an exception. This kind of operation raises an error but there is
confusion (some code raises RuntimeError and some code raises
NameError).
To make clear we introduce Ractor::IsolationError which is raised
when the isolation between ractors is violated.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Stop BigDecimal-specific optimization. Instead, it tries the conversion
methods in the following order:
1. `try_convert`,
2. `new`, and
3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class
If all the above candidates are unavailable, it fallbacks to Float.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://github.com/ruby/digest/commit/7b57b73f46
|