aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gen-release-note.rb: Avoid to depend release metadatav3_0_0_rc2NARUSE, Yui2020-12-241-14/+5
| | | | Because it doesn't have metadata when I edit draft.
* Add tag keyNARUSE, Yui2020-12-241-0/+1
| | | | | Release note will use tag value when I write GitHub URLs with release tags.
* Add release engineering related toolsNARUSE, Yui2020-12-243-0/+307
|
* Revert "remove bz2"NARUSE, Yui2020-12-241-1/+7
| | | | | This reverts commit 7856da5fe75a76bec909778e411270c10a04ca3a. For other branches
* Bundle RBS 1.0.0.pre2 (#3991)Soutaro Matsumoto2020-12-241-1/+1
|
* doc/keywords.rdoc: mention pattern matching in the `in` keyword sectionYusuke Endoh2020-12-241-0/+2
|
* Redocument non-blocking Fibers and schedulerzverok2020-12-241-1/+339
| | | | | | | | | * Document Fiber's method related to scheduling; * Extend Fiber's class docs with concepts of non-blocking fibers; * Introduce "imaginary" (documentation-only) class Fiber::SchedulerInterface to properly document how scheduler's methods should look.
* doc/contributing.rdoc: remove outdated contentYusuke Endoh2020-12-241-19/+0
|
* README.md: Haiku is currently unsupportedYusuke Endoh2020-12-241-2/+2
|
* Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVCNobuyoshi Nakada2020-12-241-3/+3
| | | | | | | | Pointed out by @shyouhei. NOTE: Already we have dropped the support for older MSVCs, probably prior to 1300 or 1400. Remove the conditional code, especially in win32/Makefile.sub.
* Add call-seq to Ractor doc; improve wording [doc]Marc-Andre Lafortune2020-12-241-18/+59
|
* Let's be more accurate [ci skip]Takashi Kokubun2020-12-231-1/+1
|
* Add NEWS entries about JIT in Jul ~ DecTakashi Kokubun2020-12-231-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Instance variables * Merge ivar guards on JIT https://github.com/ruby/ruby/commit/a69dd699ee630dd1086627dbca15a218a8538b6f https://github.com/ruby/ruby/commit/e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f * Prefer RB_OBJ_FROZEN_RAW https://github.com/ruby/ruby/commit/5611066e03fe73bdbb08cc46f79530c69975cf17 * Skip checking ROBJECT_EMBED https://github.com/ruby/ruby/commit/81a8d1cf09d59f0d69143d7896545f849f580a4e * Method inlining * Mark some Integer methods as inline https://github.com/ruby/ruby/commit/0703e014713ae92f4c8a2b31e385718dc2452eac * Allow inlining Integer#-@ and #~ https://github.com/ruby/ruby/commit/dbb4f1996939d0ce977e6b37579e28dd886428ff * Inline builtin struct aref https://github.com/ruby/ruby/commit/167d139487d67613bd02522e24476f06ffa137b7 * Make Kernel#then, #yield_self, #frozen? builtin https://github.com/ruby/ruby/commit/24fa37d87a24dc932c1d778bcaf91204f5c12a76 * (For future) Rewrite Kernel#tap with Ruby https://github.com/ruby/ruby/commit/f3a0d7a2035e9f5e0c70effd55732607e3def263 * Other optimizations * Inline constant references https://github.com/ruby/ruby/commit/53babf35ef5b643774636550ea23851e2607e076 * Lazily move PC with RUBY_VM_CHECK_INTS https://github.com/ruby/ruby/commit/5d74894f2bc4a3a18aec952d946ead3d784cb4b4 * Cache access to reg_cfp->self on JIT https://github.com/ruby/ruby/commit/d40983772966938828a28c6e89752a3e76447b9e * JIT compaction * Shrink the blocking region for compile_compact_jit_code https://github.com/ruby/ruby/commit/ed8e552d4d2c825a3f780ac8bd898eaaca7c21e7 * Stop leaving .c files for JIT compaction in /tmp https://github.com/ruby/ruby/commit/fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9 * GC of JIT-ed code * Run unload_units in the JIT worker thread https://github.com/ruby/ruby/commit/16dab6b69263ed9c816bc0283c8c1f2f95dc1027 * Avoid unloading units which have enough total_calls https://github.com/ruby/ruby/commit/d80226e7bd801fcbccf71f19ba373b7baf71a49e * Throttle unload_units https://github.com/ruby/ruby/commit/122cd35939ddf8ef7bfa17ad75570c01d0cf06ab * Throttle JIT compaction https://github.com/ruby/ruby/commit/096f54428d8000cccce430022784cb0e7cd31cb4 * Compilation speed * Eliminate IVC sync between JIT and Ruby threads https://github.com/ruby/ruby/commit/0960f56a1d773c5417e9de729e159d346aec17ca * Lazily move units from active_units to stale_units https://github.com/ruby/ruby/commit/5d8f227d0edd3c542fcac465eb82005a5f852d34 Please see https://github.com/ruby/ruby/commit/200c5f4075cb1d179c2eba5b30b5b0a500870f67 for other improvements in Jan ~ Jun.
* Tweak magic comments [doc]Marc-Andre Lafortune2020-12-241-9/+9
|
* NEWS.md: grammatical improvementYusuke Endoh2020-12-241-6/+6
|
* Review commentszverok2020-12-241-3/+10
|
* Redocument Fiber#transferzverok2020-12-241-27/+53
|
* dir.c: chdir conflict should raise only when called in different threadYusuke Endoh2020-12-242-4/+19
| | | | | ... and keep it as a warning (like 2.7) when it is called in the same thread. [Bug #15661]
* remove redundant example.Koichi Sasada2020-12-241-1/+0
| | | | pointed by @marcandre.
* shareable_constant_value: experimental_copyKoichi Sasada2020-12-246-15/+73
| | | | | | | "experimental_everything" makes the assigned value, it means the assignment change the state of assigned value. "experimental_copy" tries to make a deep copy and make copyied object sharable.
* Fix class of method in Method#inspect for singleton classes of classesJeremy Evans2020-12-233-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | Previously, due to a change to fix bug 15608, Method#inspect output changed for class methods: Ruby 2.7 "#<Method: String.prepend(*)>" Before change: "#<Method: #<Class:Object>(Module)#prepend(*)>" This is wrong because the Method object was created from String and not Object. This is because the fix for bug 15608 assumed it was being called on the singleton class of a instance, and would skip the first singleton class until it got to the class itself. For class methods, this results in always using the superclass. Fix behavior to not skip until the superclass if the singleton class is the singleton class of a module or class. After change: "#<Method: #<Class:Object>(Module)#prepend(*)>" Fixes [Bug #17428]
* add about Ractor into extension.rdoc [ci skip]Koichi Sasada2020-12-242-0/+102
|
* etc: use atomic operation instead of mutexNobuyoshi Nakada2020-12-242-26/+12
|
* Expose atomic operation macros with RUBY prefixNobuyoshi Nakada2020-12-246-236/+298
| | | | | Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor.
* test/ruby/test_module.rb: not depend on the order of method definitionsYusuke Endoh2020-12-241-5/+5
|
* [memory_view] Fix some grammar issues in a commentKenta Murata2020-12-241-4/+4
|
* doc/fiber.md: fix typosMarcus Stollsteimer2020-12-231-2/+2
|
* introduce rb_ractor_atfork()Koichi Sasada2020-12-243-5/+22
| | | | to reset main ractor at fork().
* fix ractor-locking around rb_ractor_thread_list()Koichi Sasada2020-12-241-9/+21
| | | | | With locking a ractor, rb_ary_push() can call RB_VM_LOCK_ENTER() and it violates an assertion: should not acquire ractor-lock.
* Small improvements in magic comments docsMarcus Stollsteimer2020-12-231-13/+13
| | | | | | * remove a duplicate statement * fix rdoc markup * fix typos
* remove method__cache__clearKoichi Sasada2020-12-241-11/+0
| | | | | DTrace probe method__cache__clear is no longer used. [Bug #16658]
* sample/trick2015/kinaba/entry.rb: The constant "Data" has been removedYusuke Endoh2020-12-241-1/+1
| | | | Instead, use "Proc" as a 4-letter constant.
* Document shareable_constant_value and other magic constants [doc]Marc-Andre Lafortune2020-12-232-0/+197
|
* Reset paren_nest at tAREF and tASET [Bug #17431]Nobuyoshi Nakada2020-12-242-0/+19
|
* Pass keyword options in assert_syntax_errorNobuyoshi Nakada2020-12-241-2/+2
|
* * 2020-12-24 [ci skip]git2020-12-241-1/+1
|
* Module#public_class_method also accepts a symbol array as an argumentYusuke Endoh2020-12-243-3/+37
| | | | | I'm unsure if this is intentional, but add a document anyway. [Feature #17314]
* [fiddle] Update to 1.0.6Kenta Murata2020-12-231-1/+1
|
* [ruby/irb] Change StdioInputMethod#eof? to non-blockingaycabta2020-12-231-1/+9
| | | | | | This fixes --inf-ruby-mode. https://github.com/ruby/irb/commit/0e4a818955
* [ruby/irb] Fix error_message for assert_dynamic_promptaycabta2020-12-231-2/+8
| | | | https://github.com/ruby/irb/commit/b12dfb6298
* [ruby/irb] Suppress "shadowing outer" warningaycabta2020-12-231-1/+1
| | | | https://github.com/ruby/irb/commit/8b83fbef69
* [ruby/psych] Bump version to 3.3.0Hiroshi SHIBATA2020-12-231-1/+1
| | | | https://github.com/ruby/psych/commit/0abce07b90
* [ruby/psych] Skip test_ractor.rb with ruby/psych repoHiroshi SHIBATA2020-12-231-1/+1
| | | | | | | 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
* [ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old RubyKenta Murata2020-12-231-0/+4
| | | | https://github.com/ruby/date/commit/9f3e90ad10
* [ruby/date] Fix envutil for old RubyKenta Murata2020-12-231-2/+2
| | | | https://github.com/ruby/date/commit/57e25c406a
* Use rb_init_identtable instead of direct use of rb_hashtype_identNobuyoshi Nakada2020-12-231-3/+2
|
* Revert "need to clear blocking cnt at fork (child process)"Koichi Sasada2020-12-231-2/+1
| | | | | | This reverts commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6. It breaks the tests on RUBY_DEBUG=1.
* Skip checking ROBJECT_EMBEDTakashi Kokubun2020-12-221-3/+3
| | | | | | | | | | | | | | | | | | | 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 ```
* Allow inlining Integer#-@ and #~Takashi Kokubun2020-12-224-31/+35
| | | | | | | | | | | | | | | | | | | | | | ``` $ 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 ```
* [ruby/psych] Optimize cache with `compare_by_identity`Marc-Andre Lafortune2020-12-233-2/+5
| | | | | Using `compare_by_identity` gives a 4x performance boost on cache hits. Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189