summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-24add about Ractor into extension.rdoc [ci skip]Koichi Sasada
2020-12-24etc: use atomic operation instead of mutexNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3983
2020-12-24Expose atomic operation macros with RUBY prefixNobuyoshi Nakada
Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3983
2020-12-24test/ruby/test_module.rb: not depend on the order of method definitionsYusuke Endoh
2020-12-24[memory_view] Fix some grammar issues in a commentKenta Murata
2020-12-23doc/fiber.md: fix typosMarcus Stollsteimer
2020-12-24introduce rb_ractor_atfork()Koichi Sasada
to reset main ractor at fork().
2020-12-24fix ractor-locking around rb_ractor_thread_list()Koichi Sasada
With locking a ractor, rb_ary_push() can call RB_VM_LOCK_ENTER() and it violates an assertion: should not acquire ractor-lock.
2020-12-23Small improvements in magic comments docsMarcus Stollsteimer
* remove a duplicate statement * fix rdoc markup * fix typos
2020-12-24remove method__cache__clearKoichi Sasada
DTrace probe method__cache__clear is no longer used. [Bug #16658]
2020-12-24sample/trick2015/kinaba/entry.rb: The constant "Data" has been removedYusuke Endoh
Instead, use "Proc" as a 4-letter constant.
2020-12-23Document shareable_constant_value and other magic constants [doc]Marc-Andre Lafortune
2020-12-24Reset paren_nest at tAREF and tASET [Bug #17431]Nobuyoshi Nakada
2020-12-24Pass keyword options in assert_syntax_errorNobuyoshi Nakada
2020-12-24* 2020-12-24 [ci skip]git
2020-12-24Module#public_class_method also accepts a symbol array as an argumentYusuke Endoh
I'm unsure if this is intentional, but add a document anyway. [Feature #17314]
2020-12-23[fiddle] Update to 1.0.6Kenta Murata
2020-12-23[ruby/irb] Change StdioInputMethod#eof? to non-blockingaycabta
This fixes --inf-ruby-mode. https://github.com/ruby/irb/commit/0e4a818955
2020-12-23[ruby/irb] Fix error_message for assert_dynamic_promptaycabta
https://github.com/ruby/irb/commit/b12dfb6298
2020-12-23[ruby/irb] Suppress "shadowing outer" warningaycabta
https://github.com/ruby/irb/commit/8b83fbef69
2020-12-23[ruby/psych] Bump version to 3.3.0Hiroshi SHIBATA
https://github.com/ruby/psych/commit/0abce07b90
2020-12-23[ruby/psych] Skip test_ractor.rb with ruby/psych repoHiroshi SHIBATA
Because ruby/psych still uses minitest. minitest didn't support assert_ractor provided by test suite of ruby/ruby repo. https://github.com/ruby/psych/commit/7da26358f1
2020-12-23[ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old RubyKenta Murata
https://github.com/ruby/date/commit/9f3e90ad10
2020-12-23[ruby/date] Fix envutil for old RubyKenta Murata
https://github.com/ruby/date/commit/57e25c406a
2020-12-23Use rb_init_identtable instead of direct use of rb_hashtype_identNobuyoshi Nakada
2020-12-23Revert "need to clear blocking cnt at fork (child process)"Koichi Sasada
This reverts commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6. It breaks the tests on RUBY_DEBUG=1.
2020-12-22Skip checking ROBJECT_EMBEDTakashi Kokubun
when we already check ROBJECT_NUMIV(self) is larger than ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number of instance variables for the same object doesn't decrease. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux] last_commit=Skip checking ROBJECT_EMBED Calculating ------------------------------------- before --jit after --jit Optcarrot 3000 frames 102.34091772397872 102.77738408379015 fps 103.37784821624231 105.46530219076179 104.39567016876369 106.43712452152215 105.31782092252713 106.54986150067481 ```
2020-12-22Allow inlining Integer#-@ and #~Takashi Kokubun
``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)' before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux] last_commit=Allow inlining Integer#-@ and #~ Calculating ------------------------------------- before --jit after --jit mjit_comp(1) 44.006M 70.417M i/s - 40.000M times in 0.908967s 0.568042s mjit_uminus(1) 44.333M 68.422M i/s - 40.000M times in 0.902255s 0.584603s Comparison: mjit_comp(1) after --jit: 70417331.4 i/s before --jit: 44005980.4 i/s - 1.60x slower mjit_uminus(1) after --jit: 68422468.8 i/s before --jit: 44333371.0 i/s - 1.54x slower ```
2020-12-23[ruby/psych] Optimize cache with `compare_by_identity`Marc-Andre Lafortune
Using `compare_by_identity` gives a 4x performance boost on cache hits. Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189 Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23[ruby/psych] Make Ractor-ready.Marc-Andre Lafortune
Config is Ractor-local. Benchmarking reveals that using `Ractor.local_storage` for storing cache is similar to accessing a constant (~15% slower). Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23[ruby/psych] Don't use instance variables directly for configMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23[ruby/psych] Avoid methods depending on bindingsMarc-Andre Lafortune
Improves Ractor-readiness. Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23[ruby/psych] Freeze constants.Marc-Andre Lafortune
Improves Ractor-readiness. Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23need to clear blocking cnt at fork (child process)Koichi Sasada
2020-12-23Update version for Ractor-safe extensionsHiroshi SHIBATA
2020-12-23[ruby/date] Workaround for non-ruby repository like ruby/date, flori/jsonHiroshi SHIBATA
https://github.com/ruby/date/commit/1ff7fa2d80
2020-12-23Ensure non-literal expressions shareable if `leteral`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Update rb_ractor_ensure_shareableNobuyoshi Nakada
* Fixed use of rb_ractor_shareable_p * Raise Ractor::IsolationError Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Split the testNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Added assertionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23`begin ... end` is not a literalNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Added dedicated helper methodsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Changed shareable literal semantics [Feature #17397]Nobuyoshi Nakada
When `literal`, check if the literal about to be assigned to a constant is ractor-shareable, otherwise raise `Ractor::Error` at runtime instead of `SyntaxError`. Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Guard < Ruby 3.0 for the repositories of default gems.Hiroshi SHIBATA
2020-12-23ruby_single_main_ractor should be clear before warnKoichi Sasada
rb_warn can produce T_HASA object and it should not use transient heap.
2020-12-22Adapt tool/search-cgvars.rb for MacOSMarc-Andre Lafortune
2020-12-22Add tool/search-cgvars.rb, thanks @ko1Marc-Andre Lafortune
2020-12-23[DOC] Add doc to sharing_detection= [ci skip]Kazuhiro NISHIYAMA
Before: ``` $ ri sharing_detection= = .sharing_detection= (from ruby core) === Implementation from PP ------------------------------------------------------------------------ sharing_detection=(b) ------------------------------------------------------------------------ Returns the sharing detection flag as a boolean value. It is false by default. ``` After: ``` $ ri sharing_detection= = .sharing_detection= (from ruby core) === Implementation from PP ------------------------------------------------------------------------ sharing_detection=(b) ------------------------------------------------------------------------ Sets the sharing detection flag to b. ```
2020-12-23Merge RubyGems 3.2.3 and Bundler 2.2.3Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3982
2020-12-23ripper: fix bad label parameter handling [Bug #17425]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3977