summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-31Narrowed down the condition to pack RValueNobuyoshi Nakada
Because of `double` in `RFloat`, `RValue` would be packed by `sizeof(double)` by default, on platforms where `double` is wider than `VALUE`. Size of `RValue` is multiple of 5 now.
2021-01-31Update bundled_gemsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4137
2021-01-31vm_dump: dump registers for Mac M1David CARLIER
Notes: Merged: https://github.com/ruby/ruby/pull/4134
2021-01-31Update TypeProf to 0.12.0 (#4132)Yusuke Endoh
Notes: Merged-By: mame <mame@ruby-lang.org>
2021-01-31Move rb_big_isqrt declarationS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/4135
2021-01-31* 2021-01-31 [ci skip]git
2021-01-31Bundle RBS 1.0.4 (#4136)Soutaro Matsumoto
Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2021-01-30* 2021-01-30 [ci skip]git
2021-01-30Constified pointers in str_casecmpNobuyoshi Nakada
2021-01-29refactoring rb_method_call_status()Koichi Sasada
Notes: Merged: https://github.com/ruby/ruby/pull/4129
2021-01-29global call-cache cache table for rb_funcall*Koichi Sasada
rb_funcall* (rb_funcall(), rb_funcallv(), ...) functions invokes Ruby's method with given receiver. Ruby 2.7 introduced inline method cache with static memory area. However, Ruby 3.0 reimplemented the method cache data structures and the inline cache was removed. Without inline cache, rb_funcall* searched methods everytime. Most of cases per-Class Method Cache (pCMC) will be helped but pCMC requires VM-wide locking and it hurts performance on multi-Ractor execution, especially all Ractors calls methods with rb_funcall*. This patch introduced Global Call-Cache Cache Table (gccct) for rb_funcall*. Call-Cache was introduced from Ruby 3.0 to manage method cache entry atomically and gccct enables method-caching without VM-wide locking. This table solves the performance issue on multi-ractor execution. [Bug #17497] Ruby-level method invocation does not use gccct because it has inline-method-cache and the table size is limited. Basically rb_funcall* is not used frequently, so 1023 entries can be enough. We will revisit the table size if it is not enough. Notes: Merged: https://github.com/ruby/ruby/pull/4129
2021-01-29Forward keyword arguments for Pathname#each_line [Bug #17589]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4128
2021-01-29Fix failure when build in srcdir/buildKazuhiro NISHIYAMA
If `build` directory exists, `rake build` is `Rake::FileTask`. So skip if exists.
2021-01-29Fixed Kernel#rand specNobuyoshi Nakada
Float should not be compared by identity. Notes: Merged: https://github.com/ruby/ruby/pull/4126
2021-01-29Fix absolute path predicate on WindowsNobuyoshi Nakada
A path starts with '/' is not an absolute path on Windows, because of drive letter or UNC. Notes: Merged: https://github.com/ruby/ruby/pull/4127
2021-01-29* 2021-01-29 [ci skip]git
2021-01-28Update to ruby/spec@8cafaa5Benoit Daloze
2021-01-28Add fallback when PWD is not setKazuhiro NISHIYAMA
2021-01-28Use PWD instead of source_rootKazuhiro NISHIYAMA
Because `.ext/common` is not relative from top source directory. Fix failures with out-of-place build directory.
2021-01-28Remove require_path from $LOADED_FEATURESKazuhiro NISHIYAMA
because some features are already loaded.
2021-01-28Delete path including `/../` tooKazuhiro NISHIYAMA
2021-01-28* 2021-01-28 [ci skip]git
2021-01-27[Fixes #17538] Fix assertion failure when rincgc is turned offPeter Zhu
Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com> Notes: Merged: https://github.com/ruby/ruby/pull/4064
2021-01-27In test, need to pass a context to IRB::WorkSpace.new explicitlyaycabta
2021-01-27[ruby/irb] specify the `VERBOSE` to `false` and fix tests to fitNobuhiro IMAI
https://github.com/ruby/irb/commit/502c590925
2021-01-27[ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564]Nobuhiro IMAI
* using the appropriciate exception instead of `break` so that the session can be continue after the `irb_source` and `irb_load` commands * suppress extra new line due to one more `#prompt` call https://github.com/ruby/irb/commit/bdefaa7cfd
2021-01-27[ruby/irb] add `IRB::FileInputMethod.open` to ensure closing associated FileNobuhiro IMAI
* tweak some methods not to raise exception after `#close` * use it in `IRB::IrbLoader#{source_file,load_file} https://github.com/ruby/irb/commit/ec2947acbd
2021-01-27Clear unexpanded `mjit_std_cflag`Nobuyoshi Nakada
2021-01-27Disable fast-mathNobuyoshi Nakada
As `RUBY_TRY_CFLAGS` restores `CFLAGS`, appending to the variable in its block has no effect.
2021-01-27Taint flags has been deprecated in 3.1Nobuyoshi Nakada
2021-01-27Update include/ruby/internal/fl_type.h 卜部昌平
https://github.com/ruby/ruby/pull/4100#pullrequestreview-576059827 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2021-01-27include/ruby/internal/fl_type.h: refactor hoist out #if conditions卜部昌平
cf: https://github.com/ruby/ruby/pull/4100#pullrequestreview-575952836
2021-01-27kill CLONESETUP and DUPSETUP卜部昌平
They are no longer how Object#clone/Object#dup are defined. In fact DUPSETUP is not used from anywhere. CLONESETUP has only one usage. Let's not expose them to extension libraries. cf https://github.com/ruby/ruby/pull/4100#discussion_r563481718
2021-01-27win32/win32.c:getcwd_value: delete OBJ_TAINT卜部昌平
Makes no sense any longer. Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-27win32/file.c:rb_file_expand_path_internal: delete OBJ_TAINT卜部昌平
Makes no sense any longer. Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-27attributes on enumerators are GCC6-ism卜部昌平
See also https://gcc.gnu.org/gcc-6/changes.html Clang has this feature when __has_extension(enumerator_attributes) is set. MSVC has #pragma deprecated instead. Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-27warnings on use of RUBY_FL_TAINT卜部昌平
matz said in [ruby-core:94979]: > 3.0: > * taint/trust/untaint/untrust non-verbose warning when called This is it, for C extensions. Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-27kill OBJ_TAINT etc.卜部昌平
Now that RUBY_FL_TAINT is recycled to become new RUBY_FL_SHAREABLE. Setting/clearing this flag from extension libraries break Ractor. Especially problematic one is OBJ_INFECT, which would make non-shareable objects travel across Ractor boundaries. Such operations should just be prohibited. Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-27fix OBJ_UNTRUST etc.卜部昌平
It seems I broke them in commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341 Sorry! Notes: Merged: https://github.com/ruby/ruby/pull/4100
2021-01-26Add compaction notes for class/module creation C APIsAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/3885
2021-01-26Make rb_define_module_id_under() pin existing modulesAlan Wu
Just like rb_define_class_id_under(). Also makes rb_define_module_under() consistent with rb_define_class_under() in the same regard. Notes: Merged: https://github.com/ruby/ruby/pull/3885
2021-01-26Fix broken link in RDoc for String (#4123)Burdette Lamar
Link was correct; its target was incorrect; now fixed. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-01-26Re-enable RGENGC_DEBUG for platforms with HAVE_VA_ARGS_MACROMatt Valentine-House
after this commit turned it off globally. 888cf28a7e3a07fc0a41688777a40910654005ad Co-authored-by: peterzhu2118 <peter@peterzhu.ca> Notes: Merged: https://github.com/ruby/ruby/pull/4073
2021-01-27* 2021-01-27 [ci skip]git
2021-01-26Fix RGENGC CHECK MODE >= 4Matt Valentine-House
[A previous commit](b59077eecf912a16efefc0256f6e94a000ce3888) removes some macro definitions that are used when RGENGC_CHECK_MODE >=4 because they were using data stored against objspace, which is not ractor safe This commit reinstates those macro definitions, using the current ractor Co-authored-by: peterzhu2118 <peter@peterzhu.ca> Notes: Merged: https://github.com/ruby/ruby/pull/4074
2021-01-26CFLAGS includes ARCH_FLAGNobuyoshi Nakada
2021-01-26Removed YYUSE [Bug #17582]Nobuyoshi Nakada
Although it was used just to suppress an "unsed argument" warning in the same manner as other bison-provided functions, it has been dropped since Bision 3.7.5. And we always suppress that warnings. Notes: Merged: https://github.com/ruby/ruby/pull/4121
2021-01-26vcs.rb: fix for baseruby 2.2Nobuyoshi Nakada
2021-01-26* 2021-01-26 [ci skip]git
2021-01-26vcs.rb: support `d` command in log-fixNobuyoshi Nakada