summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-21Prefer stdbool in vm_execTakashi Kokubun
Make the code a bit modern and consistent with some other places.
2020-12-22NEWS.md: fix the formatYusuke Endoh
2020-12-22Struct::Tms: delete卜部昌平
Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff. Notes: Merged: https://github.com/ruby/ruby/pull/3969
2020-12-22Enumerator.new: raise unless block given卜部昌平
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13. [Feature #17116] [ruby-dev:50945] Notes: Merged: https://github.com/ruby/ruby/pull/3968
2020-12-22fix to use rb_ractor_id()Koichi Sasada
Catch up recent changes on USE_RUBY_DEBUG_LOG=1.
2020-12-22add a NEWS entry about ractor C APIKoichi Sasada
2020-12-22Add entries for set 1.0.0Akinori MUSHA
2020-12-22Import set 1.0.0Akinori MUSHA
- 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
2020-12-22Prepare for importing the set gemAkinori MUSHA
2020-12-21Update Fiber#backtrace doc [See bug #17408]Marc-Andre Lafortune
2020-12-21Document Fiber#backtrace and #backtrace_locationszverok
Notes: Merged: https://github.com/ruby/ruby/pull/3966
2020-12-21Document Proc#==zverok
Notes: Merged: https://github.com/ruby/ruby/pull/3966
2020-12-21Random instance methodszverok
Notes: Merged: https://github.com/ruby/ruby/pull/3966
2020-12-21Add Symbol#name and freezing explanation to #to_szverok
Notes: Merged: https://github.com/ruby/ruby/pull/3966
2020-12-22NEWS.md: mention the behavior change of Binding#evalYusuke Endoh
[Bug #17419]
2020-12-21Remove debugging codeMarc-Andre Lafortune
2020-12-22[DOC] Fix typo in Ractor.make_shareable documentation.nagachika
2020-12-22Remvoed no longer needed version guardsNobuyoshi Nakada
2020-12-22fix ractor's doc. [ci skip]Koichi Sasada
Notes: Merged: https://github.com/ruby/ruby/pull/3960
2020-12-22reset cache before iteratingKoichi Sasada
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] Notes: Merged: https://github.com/ruby/ruby/pull/3964
2020-12-22add Ractor.mainKoichi Sasada
It returns main Ractor, like Thread.main. [Feature #17418] Notes: Merged: https://github.com/ruby/ruby/pull/3963
2020-12-22add Ractor#[]/#[]= for ractor local storageKoichi Sasada
This API is similar to plain old Thread#[]/Fiber#[] interface with symbol key. Notes: Merged: https://github.com/ruby/ruby/pull/3962
2020-12-21Ractor#to_s as #inspectMarc-Andre Lafortune
2020-12-22Removed rb_cData entityNobuyoshi Nakada
* 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 Notes: Merged: https://github.com/ruby/ruby/pull/3961
2020-12-22Data: delete卜部昌平
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. Notes: Merged: https://github.com/ruby/ruby/pull/3961
2020-12-22Update documentation for pattern matchingKazuki Tsujimoto
2020-12-22* 2020-12-22 [ci skip]git
2020-12-22separate rb_ractor_pub from rb_ractor_tKoichi Sasada
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. Notes: Merged: https://github.com/ruby/ruby/pull/3943
2020-12-22TracePoint.new(&block) should be ractor-localKoichi Sasada
TracePoint should be ractor-local because the Proc can violate the Ractor-safe. Notes: Merged: https://github.com/ruby/ruby/pull/3943
2020-12-21Replaced magic numbers tr tableNobuyoshi Nakada
2020-12-21On Solaris, _XOPEN_SOURCE should be undefined for C++ sources.Naohisa Goto
2020-12-21export rb_eRactorIsolationError for MJITKoichi Sasada
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 ```
2020-12-21[json] Avoid method redefinitionKenta Murata
2020-12-21Introduce Ractor::IsolationErrorKoichi Sasada
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. Notes: Merged: https://github.com/ruby/ruby/pull/3957
2020-12-21NEWS: JSON is Ractor compatible [ci skip]Kenta Murata
2020-12-21[json] Make json Ractor safeKenta Murata
2020-12-21[json] JSON_parse_float: Fix how to convert numberKenta Murata
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.
2020-12-21[json] Make JSON.create_id thread-safeKenta Murata
2020-12-21[json] Stop using prototype objectsKenta Murata
2020-12-21Fixed a typo in an error class nameNobuyoshi Nakada
2020-12-21Enable escape sequence on Windows10 console via pager tooNobuyoshi Nakada
2020-12-21[ruby/digest] Remove .gitignore and .travis.yml from gemspecKenta Murata
https://github.com/ruby/digest/commit/7b57b73f46
2020-12-21Enable escape sequence on Windows10 consoleU.Nakamura
* win32/win32.c (init_stdhandle): enable escape sequence on Windows10 console to show `ruby --help` colors correctly.
2020-12-21[ruby/rdoc] Bump version to 6.3.0Hiroshi SHIBATA
https://github.com/ruby/rdoc/commit/3d3616cb94
2020-12-21[ruby/rdoc] Guard for WEBrickHiroshi SHIBATA
https://github.com/ruby/rdoc/commit/b1e7129e05
2020-12-20Mark an ISeq being JIT-edTakashi Kokubun
This is to avoid SEGV on a CC reference in a normal compilation https://github.com/ruby/ruby/runs/1586578023
2020-12-20Mark active_unitsTakashi Kokubun
to avoid SEGV on mjit_recompile and compact_all_jit_code. For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d to fix but apparently it may refer to random things if already GC-ed. Marking active_units would workaround the situation. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3292740 Also, while compact_all_jit_code was executed, we saw some SEGVs where CCs seemed to be already GC-ed, meaning their owner ISeq was not marked properly. Even if units are still in active_units, it's not guaranteed that their ISeqs are in use. So in this case we need to mark active_units for a legitimate reason. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293277 http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293090
2020-12-20Stop marking unit_queueTakashi Kokubun
The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20. As wanabe said, there are multiple options to mitigate the issue, and Eric Wong introduced another fix at 143776f6fe by checking unit->iseq inside the lock. Therefore this particular condition has been covered in two ways, and the script given by wanabe no longer crashes without mjit_mark().
2020-12-21[DOC] Remove about FrozenError from Ractor::MovedObject [ci skip]Kazuhiro NISHIYAMA
Because unfreeze Ractor::MovedObject at https://github.com/ruby/ruby/commit/76e88480371469400346fca609efe67096813915
2020-12-20Add `require_relative` option to `assert_ractor`Marc-Andre Lafortune