summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-16Fix spec version guardAlan Wu
Follow up for 278fefb96294adf9d27a78f919c714a31b65ef58
2022-06-16Allow calling protected methods from refinementsJohn Hawthorn
Previously protected methods on refinements could never be called because they were seen as being "defined" on the hidden refinement ICLASS. This commit updates calling refined protected methods so that they are considered to be defined on the original class (the one being refined). This ended up using the same behaviour that was used to check whether a call to super was allowed, so I extracted that into a method. [Bug #18806] Notes: Merged: https://github.com/ruby/ruby/pull/5966
2022-06-17Respect the encoding of the source [Bug #18827]Nobuyoshi Nakada
Do not override the input string encoding at the time of preparation, the source encoding is not determined from the input yet. Notes: Merged: https://github.com/ruby/ruby/pull/6015
2022-06-17ENV.merge! support multile arguments [Feature #18279]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5207
2022-06-16Added tests for setting ivars on frozen objsJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/6021
2022-06-16Adding more clone tests, and adding dup testsJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/6021
2022-06-17* 2022-06-17 [ci skip]git
2022-06-16Added vm_ivar benchmark for initializing an embedded objJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/6030
2022-06-16[ruby/fileutils] [DOC] Small tweaks (https://github.com/ruby/fileutils/pull/89)Burdette Lamar
https://github.com/ruby/fileutils/commit/13ab96439b
2022-06-16[ruby/net-http] Make `Net::HTTPHeader#content_range` return nil on non-byte ↵Shishir Joshi
units * Returning nil from the `content_range` method instead of raising an error when the unit in the content-range header is not "bytes". Fix https://bugs.ruby-lang.org/issues/11450 https://github.com/ruby/net-http/commit/0b5030dd86 Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
2022-06-16Include runtime checks for compaction supportPeter Zhu
Commit 0c36ba53192c5a0d245c9b626e4346a32d7d144e changed GC compaction methods to not be implemented when not supported. However, that commit only does compile time checks (which currently only checks for WASM), but there are additional compaction support checks during run time. This commit changes it so that GC compaction methods aren't defined during run time if the platform does not support GC compaction. [Bug #18829] Notes: Merged: https://github.com/ruby/ruby/pull/6019
2022-06-16Rename GC_COMPACTION_SUPPORTEDPeter Zhu
Naming this macro GC_COMPACTION_SUPPORTED is misleading because it only checks whether compaction is supported at compile time. [Bug #18829] Notes: Merged: https://github.com/ruby/ruby/pull/6019
2022-06-16Revert "HTTPHeader.content_range throws error on non-byte units"Nobuyoshi Nakada
This reverts commit 63546bfc1581d4abec2a0d846106a1c0afc0efa9.
2022-06-16[ruby/racc] Fix flag to `Regexp.new`Nobuyoshi Nakada
Probably intended to pass encoding "none". https://github.com/ruby/racc/commit/65cd26efd8
2022-06-16Remove unused and accidentally public rb_str_shared_root_p()Alan Wu
This function was added to a public header in [1] probably unintentionally since it's not used anywhere, exposes implementation details, and isn't related to the goals of that pull request. [1]: 56cc3e99b6b9ec004255280337f6b8353f5e5b06 Notes: Merged: https://github.com/ruby/ruby/pull/6023 Merged-By: XrXr
2022-06-16HTTPHeader.content_range throws error on non-byte unitsShishir Joshi
* Added a nil check in Net::HTTPHeader#initialize_http_header for keys in the header that do not have any value * Returning nil from the content_range method instead of raising an error when the unit in the content-range header is not bytes * Modified initialize_http_header to match trunk fix [Bug #11450] fix https://github.com/ruby/ruby/pull/1018 Notes: Merged-By: nurse <naruse@airemix.jp>
2022-06-16MJIT: Consider compaction on CC failureTakashi Kokubun
2022-06-15MJIT: Remove free_compiling_iseqs from mswinTakashi Kokubun
2022-06-15MJIT: Handle compaction units on stop_workerTakashi Kokubun
2022-06-15MJIT: Get rid of obsoleted compiling_iseqsTakashi Kokubun
2022-06-15MJIT: Deal with mjit_free_iseq on mjit_notify_waitpidTakashi Kokubun
2022-06-15MJIT: Fix test_jit_failure for mswinTakashi Kokubun
2022-06-15MJIT: Handle C compiler failuresTakashi Kokubun
2022-06-15Restore rb_exec_recursive_outerJohn Hawthorn
This was a public method, so we should probably keep it. Notes: Merged: https://github.com/ruby/ruby/pull/6027
2022-06-15MJIT: Handle JIT failure properlyTakashi Kokubun
2022-06-16[ruby/fileutils] [DOC] More on paths and lists ↵Burdette Lamar
(https://github.com/ruby/fileutils/pull/88) https://github.com/ruby/fileutils/commit/ba3ae2430d
2022-06-15[ci skip] [lldb] Ensure rbbt has loaded the globalsMatt Valentine-House
rb_backtrace relies on the existend of RUBY_T_MASK. This is set up by the global loading code in lldb_init() rb_backtrace does not call lldb_init previously, and therefore would only work if called after another lldb function that _did_ load the globals. Notes: Merged: https://github.com/ruby/ruby/pull/6026
2022-06-15[ci skip] Print the rb_classext_t for a class, using an offsetMatt Valentine-House
Now that classes are using VWA, the RCLASS_PTR uses an offset to get the rb_classext_t object. Doing this all the time in lldb is boring. So script lldb to do it for us Notes: Merged: https://github.com/ruby/ruby/pull/6024
2022-06-15Remove unused rb_thread_create_mjit_threadTakashi Kokubun
follow up https://github.com/ruby/ruby/pull/6006
2022-06-15Move RubyVM::MJIT to builtin RubyTakashi Kokubun
just less C code to maintain
2022-06-15Remove MJIT worker thread (#6006)Takashi Kokubun
[Misc #18830] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-06-16* 2022-06-16 [ci skip]git
2022-06-15Add imemo types to global namespace in lldb helpersJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/6020
2022-06-15Remove unnecessary conditionNobuyoshi Nakada
`no_blockarg` is called for non-null `node` only.
2022-06-15[rubygems/rubygems] Revert "Support running specs with asdf version manager"David Rodríguez
This reverts commit https://github.com/rubygems/rubygems/commit/4b2d09af5bc7. https://github.com/rubygems/rubygems/commit/90ca7a7163
2022-06-15[rubygems/rubygems] Support running specs with asdf version managerDavid Rodríguez
The `asdf-ruby` plugin sets `RUBYLIB` to require some code to reshim after installing gems. This interferes with our specs. Reset that, but leave any "internal" entries in places, because the ruby-core test setup also uses RUBYLIB. https://github.com/rubygems/rubygems/commit/4b2d09af5b
2022-06-15Update bundled gems list at 2022-06-15git
2022-06-14MJIT: Add a test for Process.waitall handlingTakashi Kokubun
2022-06-15[ruby/fileutils] [DOC] More on cp_r (https://github.com/ruby/fileutils/pull/87)Burdette Lamar
* More on cp_r https://github.com/ruby/fileutils/commit/82a2b62578
2022-06-15* 2022-06-15 [ci skip]git
2022-06-15[ruby/psych] Fix libyaml download failure rescue under minirubyAlan Wu
I tried to build Ruby on a system without libyaml today and realized that my attempt from <https://github.com/ruby/psych/pull/557> doesn't fix the error in <https://github.com/ruby/psych/issues/552>. I still got the same `LoadError` from `digest` which stopped the build. Since `LoadError` is not a `StandardError`, a plain `rescue` doesn't catch it. Catch `LoadError` explicitly instead and reduce the scope of the `begin` block. I tested this change in a Ruby build on macOS without libyaml installed and confirmed that `make` continues with a warning instead of aborting: *** Following extensions are not compiled: psych: Could not be configured. It will not be installed. ... This should address <https://bugs.ruby-lang.org/issues/18790>. https://github.com/ruby/psych/commit/251289ba83
2022-06-14YJIT: On-demand executable memory allocation; faster boot (#5944)Alan Wu
This commit makes YJIT allocate memory for generated code gradually as needed. Previously, YJIT allocates all the memory it needs on boot in one go, leading to higher than necessary resident set size (RSS) and time spent on boot initializing the memory with a large memset(). Users should no longer need to search for a magic number to pass to `--yjit-exec-mem` since physical memory consumption should now more accurately reflect the requirement of the workload. YJIT now reserves a range of addresses on boot. This region start out with no access permission at all so buggy attempts to jump to the region crashes like before this change. To get this hardening at finer granularity than the page size, we fill each page with trapping instructions when we first allocate physical memory for the page. Most of the time applications don't need 256 MiB of executable code, so allocating on-demand ends up doing less total work than before. Case in point, a simple `ruby --yjit-call-threshold=1 -eitself` takes about half as long after this change. In terms of memory consumption, here is a table to give a rough summary of the impact: | Peak RSS in MiB | -eitself example | railsbench once | | :-------------: | ---------------: | --------------: | | before | 265 | 377 | | after | 11 | 143 | | no YJIT | 10 | 101 | A new module is introduced to handle allocation bookkeeping. `CodePtr` is moved into the module since it has a close relationship with the new `VirtualMemory` struct. This new interface has a slightly smaller surface than before in that marking a region as writable is no longer a public operation. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-06-14[ruby/fileutils] [DOC] More on paths and lists ↵Burdette Lamar
(https://github.com/ruby/fileutils/pull/86) * More on paths and lists https://github.com/ruby/fileutils/commit/c3d92d34f4
2022-06-14ripper: Check if anonymous parameters defined [Bug #18828]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6016
2022-06-14Add placeholder to let braces matchNobuyoshi Nakada
2022-06-13Move String RVALUES between poolsMatt Valentine-House
And re-embed any strings that can now fit inside the slot they've been moved to Notes: Merged: https://github.com/ruby/ruby/pull/5986
2022-06-13Drop MinGW support of MJIT (#6012)Takashi Kokubun
[Feature #18824] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-06-14* 2022-06-14 [ci skip]git
2022-06-14[ruby/fileutils] [DOC] Clarify path arguments ↵Burdette Lamar
(https://github.com/ruby/fileutils/pull/85) https://github.com/ruby/fileutils/commit/5f9ef9ddc8
2022-06-13[ruby/fileutils] [DOC] Enhanced Rdoc (https://github.com/ruby/fileutils/pull/84)Burdette Lamar
Treats: ::chown_R ::touch ::commands ::options ::have_option? ::options_of ::collect_method https://github.com/ruby/fileutils/commit/5df0324f52