summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-19[ruby/etc] [DOC] Markup string literalsNobuyoshi Nakada
https://github.com/ruby/etc/commit/a8801e07d1
2022-06-19[ruby/etc] [DOC] Fix reference to different moduleNobuyoshi Nakada
https://github.com/ruby/etc/commit/ea51739974
2022-06-19[ruby/etc] [DOC] UpdateNobuyoshi Nakada
System-dependent feature macros are automatically detected by extconf.rb, and are not used by users. https://github.com/ruby/etc/commit/e7343b4e69
2022-06-18[Bug #18813] Warn when autoload has to lookup in parent namespaceJean Boussier
This is a verbose mode only warning. Notes: Merged: https://github.com/ruby/ruby/pull/6038
2022-06-18Show gcc version if too old, and move to GCC block [ci skip]Nobuyoshi Nakada
2022-06-18Disable maybe-uninitialized warning for gcc 4Nobuyoshi Nakada
It often shows false positive warnings (at least in 4.8). Newer versions work well and we can check correct warnings.
2022-06-18Extract `protect_page_body` to fix mismatched bracesNobuyoshi Nakada
2022-06-17tool/extlibs.rb: Use Exception#message for older rubiesAlan Wu
This script runs with BASERUBY, which can be as old as 2.2.x. Exception#full_message is new in 2.5.0. I saw a NoMethodError on the AppVeyor CI where BASERUBY is 2.4.6: https://ci.appveyor.com/project/ruby/ruby/builds/43870654/job/kae4uo2xbhuhqmdw#L121
2022-06-17YJIT: Update note about symbol prefixes [ci skip]Alan Wu
2022-06-17YJIT: Use binwrite to write exit locationsJohn Hawthorn
Notes: Merged: https://github.com/ruby/ruby/pull/6035
2022-06-18* 2022-06-18 [ci skip]git
2022-06-18Disable Mach exception handlers when read barriers in placeKJ Tsanaktsidis
The GC compaction mechanism implements a kind of read barrier by marking some (OS) pages as unreadable, and installing a SIGBUS/SIGSEGV handler to detect when they're accessed and invalidate an attempt to move the object. Unfortunately, when a debugger is attached to the Ruby interpreter on Mac OS, the debugger will trap the EXC_BAD_ACCES mach exception before the runtime can transform that into a SIGBUS signal and dispatch it. Thus, execution gets stuck; any attempt to continue from the debugger re-executes the line that caused the exception and no forward progress can be made. This makes it impossible to debug either the Ruby interpreter or a C extension whilst compaction is in use. To fix this, we disable the EXC_BAD_ACCESS handler when installing the SIGBUS/SIGSEGV handlers, and re-enable them once the compaction is done. The debugger will still trap on the attempt to read the bad page, but it will be trapping the SIGBUS signal, rather than the EXC_BAD_ACCESS mach exception. It's possible to continue from this in the debugger, which invokes the signal handler and allows forward progress to be made. Notes: Merged: https://github.com/ruby/ruby/pull/5991
2022-06-17Reuse an interned stringNobuyoshi Nakada
Repeating to intern the same string is just redundant, as interned strings for the same content are always the same object until it gets collected. Notes: Merged: https://github.com/ruby/ruby/pull/6034 Merged-By: nobu <nobu@ruby-lang.org>
2022-06-17Remove unused function declarationPeter Zhu
iseq_alloc is not used in compile.c. It is also a static function declared in iseq.c so it's not accessible in compile.c.
2022-06-17[ruby/fileutils] [DOC] Revisions for module-level doc ↵Burdette Lamar
(https://github.com/ruby/fileutils/pull/90) * Revisions for module-level doc https://github.com/ruby/fileutils/commit/dcbad90a1f
2022-06-17[ci skip][lldb] Fix array length representation with USING_RVARGCMatt Valentine-House
This commit makes `rp` report the correct array length in lldb. When USING_RVARGC is set we use 7 bits of the flags to store the array len rather than the usual 2, so they need to be part of the mask when calculating the length in lldb. When calculating whether rvargc is enabled I've used the same approach that's used by `GC.using_rvargc?` which is to detect whether there is more than one size pool in the current objspace. Notes: Merged: https://github.com/ruby/ruby/pull/6033
2022-06-17Debug TestThreadInstrumentationJean Boussier
It previously failed with: ``` 1) Failure: TestThreadInstrumentation#test_thread_instrumentation_fork_safe [/home/runner/work/ruby/ruby/src/test/-ext-/thread/test_instrumentation_api.rb:50]: <5> expected but was <4>. ``` Suggesting one `EXIT` event wasn't fired or processed. Adding an assetion on `Thead#status` may help figure out what is wrong. Notes: Merged: https://github.com/ruby/ruby/pull/6032
2022-06-17[rubygems/rubygems] Unset ENV set by official Ruby docker imagesDavid Rodríguez
So that it does not interfere with our specs. https://github.com/rubygems/rubygems/commit/1029714e21
2022-06-17[rubygems/rubygems] Bring TODO message up to dateDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e07dba0923
2022-06-17[rubygems/rubygems] Remove part of comment that fell out of dateDavid Rodríguez
https://github.com/rubygems/rubygems/commit/272ac23aa8
2022-06-17[rubygems/rubygems] Don't modify RbConfig at all when building extensionsDavid Rodríguez
Instead, pass sitearchdir and sitelibdir directly to `make`. This also removes the need to create and use the siteconf file at all when generating makefiles. https://github.com/rubygems/rubygems/commit/dea41fa2dc
2022-06-17[rubygems/rubygems] Remove unnecessary conditionDavid Rodríguez
This variable can't be falsy. https://github.com/rubygems/rubygems/commit/b838f9a6f0
2022-06-17[rubygems/rubygems] No need to change `RbConfig::CONFIG` at allDavid Rodríguez
Only `RbConfig::MAKEFILE_CONFIG` is actually used. https://github.com/rubygems/rubygems/commit/b767cc0929
2022-06-17GVL Instrumentation API: add STARTED and EXITED eventsJean Boussier
[Feature #18339] After experimenting with the initial version of the API I figured there is a need for an exit event to cleanup instrumentation data. e.g. if you record data in a {thread_id -> data} table, you need to free associated data when a thread goes away. Notes: Merged: https://github.com/ruby/ruby/pull/6029
2022-06-17Skip failing test on FreeBSD [ci skip]Nobuyoshi Nakada
2022-06-17Using is_ascii_string to check encodingS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/5867
2022-06-17Using RBOOL in cmp_between funcS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/6017
2022-06-17Update configure.acJeremiah Gowdy
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/6025
2022-06-17Add branch protection to aarch64 targetsJeremiah Gowdy
Notes: Merged: https://github.com/ruby/ruby/pull/6025
2022-06-17Suppress code unused unless GC_CAN_COMPILE_COMPACTIONNobuyoshi Nakada
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