aboutsummaryrefslogtreecommitdiffstats
path: root/version.h
Commit message (Collapse)AuthorAgeFilesLines
* merge revision(s) ↵v2_7_2nagachika2020-10-011-1/+1
| | | | | | | | | | | | 0168094da28c146062db22e69cbd9316418310f9,cdef17096c03099f17ecf0af51f43faa0944f96d,b7d86e330c76b4f9615511307e1c40f4f2937c83: Use libSystem.dylib instead of libm.dylib and libc.dylib Because macOS 11.0(Big Sur) was removed libc and libm from `/usr/lib`. libSystem.dylib is also symlink. Use libSystem.B.dylib Workaroud for macOS Big Sur(11.0)
* merge revision(s) ↵nagachika2020-10-011-1/+1
| | | | | | | | | | | | | | | | | 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,e8edc34f0abe176b24975a1fed1f2c3782f0a252: [Backport #16807] Use a linked list to eliminate imemo tmp bufs for managing local tables This patch changes local table memory to be managed by a linked list rather than via the garbage collector. It reduces allocations from the GC and also fixes a use-after-free bug in the concurrent-with-sweep compactor I'm working on. Remove unused struct member I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0, and it's making the size of RVALUE be too big. I'm sorry! orz
* bump teeny version to 2.7.2.nagachika2020-10-011-2/+2
|
* merge revision(s) ↵nagachika2020-10-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d732bc51bdbfe7d66038731d42e01a511d13b5f8,633a1f15d8228236094ddee12e4e169d655ec49e,95f387f61a4a4ea92635da760b7de5b1e09bb84e,528a3a17977aa1843a26630c96635c3cb161e729,261569d4aac440f25de588cca365163ecf1124a2,e4a9e926f0fe0acf2fbe61da6e075a95d34be066,318be1cb2f9c6f04403c063a5618c6267012ee51,e1855100e46040e73630b378974c17764e0cccee,9cfa811b0f209d714f89fe0de6778c71f77556c7,b68dab866724aacc1cbc6b7d5e1f555dec092346: [Backport #17202] Revert "Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)""" This reverts commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5. It turned out that the change fails to build on macOS https://rubyci.org/logs/rubyci.s3.amazonaws.com/osx1014/ruby-master/log/20200304T074503Z.fail.html.gz ``` + make 'TESTS=--hide-skip -v fiddle' RUBYOPT=-w test-all dyld: lazy symbol binding failed: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace dyld: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace make: *** [yes-test-all] Abort trap: 6 ``` [ruby/fiddle] Use ffi_closure_free if available [ruby/fiddle] ffi_closure_free is available in the bundled libffi [ruby/fiddle] use ffi_closure_alloc only with 3.2 or later [ruby/fiddle] always use ffi_closure_alloc on Windows Fixed a typo Show libffi version only if set ext/fiddle/extconf.rb: check if ffi_closure_alloc is available to define HAVE_FFI_CLOSURE_ALLOC. The macro is used in closure.c, so have_func check is needed. If pkg-config is not installed, extconf.rb fails to detect the version of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system libffi version is >= 3.2. If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with 528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not defined. This resulted in this deprecation warning: https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz ``` compiling closure.c closure.c: In function 'initialize': closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ In file included from ./fiddle.h:42, from closure.c:1: /usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here 334 | ffi_prep_closure (ffi_closure*, | ^~~~~~~~~~~~~~~~ ``` Do not try ffi_closure_alloc if libffi is <= 3.1 Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and Fedora CIs have started failing with SEGV. Try to avoid ffi_closure_alloc on those environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1 ver is [3, 1, 0] which is not less then or equal to [3, 1]
* merge revision(s) ↵nagachika2020-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f96216df8dfd2d1e206150572912289f4dda7386,0091fac1d8de07e86fef8315ba77609bed9dd7f5,04c704c5c967ea9bded6bf645439fe59c7d9f7d6,23655e6de5ee989feb8c65c7061fe9a71579dc54,7cb8904a12c850ee30dcd67817fa2f9dc3fee813,41168f69fbeb32cfc88210911d62e419b8116589,87f6154bb4c67ca77ee353bb1fe25a922036c0e5: [Backport #17202] Remove "All Rights Reserved." from Copyright statement. Patch assembly so that it aligns properly Removed trailing spaces [ci skip] Fix build error on Apple silicon macOS This patch will fix following build error on macOS 11.0 + Xcode 12 beta. ``` $ ./configure $ make V=1 BASERUBY = /Users/watson/.rbenv/shims/ruby --disable=gems CC = clang -fdeclspec LD = ld LDSHARED = clang -fdeclspec -dynamiclib CFLAGS = -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -fstack-protector-strong -Wl,-pie -framework Security -framework Foundation SOLIBS = -lpthread -ldl -lobjc LANG = ja_JP.UTF-8 LC_ALL = LC_CTYPE = MFLAGS = Apple clang version 12.0.0 (clang-1200.0.22.19) Target: arm64-apple-darwin20.0.0 Thread model: posix InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin clang -fdeclspec -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -o cont.o -c cont.c In file included from cont.c:19: ./coroutine/ucontext/Context.h:32:5: error: 'getcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] getcontext(&context->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:37:6: note: 'getcontext' has been explicitly marked deprecated here int getcontext(ucontext_t *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:51:5: error: 'makecontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] makecontext(&context->state, (void(*)(void))coroutine_trampoline, 2, (void*)start, (void*)context); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:38:6: note: 'makecontext' has been explicitly marked deprecated here void makecontext(ucontext_t *, void (*)(), int, ...) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHI... ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:59:5: error: 'swapcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] swapcontext(&current->state, &target->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:40:6: note: 'swapcontext' has been explicitly marked deprecated here int swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_... ^ 3 errors generated. make: *** [cont.o] Error 1 ``` Extract correct processor name for ARM64 Macs Prefix export symbol prefix to coroutine_transfer Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)"" This reverts commit efd641ffab34e433a8d8a7d78914576f2425aa90. This changeset seems to be needed to suppress a warning on Ubuntu 20.04 https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20200304T033004Z.log.html.gz ``` closure.c:264:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 264 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ ``` I guess there was a reason why the commit was reverted (maybe some CIs failed?), so try it again.
* merge revision(s) ↵nagachika2020-09-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07786edd66f59a529d6febb2e0fe901782991755,1917afa34bca55ba1ea578234132b7e4479ea3c9,0c611d7f4fce67c64bee4815f263c55ef15561c4: test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h On some environments that uses OpenSSL 1.1.1h, the two tests now fail. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z.fail.html.gz https://github.com/ruby/ruby/runs/1159288773?check_suite_focus=true ``` 1) Failure: TestNetHTTPS#test_get [/data/data/com.termux/files/home/cb/tmp/build/20200924T062352Z/ruby/test/net/http/test_https.rb:47]: <"0\x82\x03\xED0\x82\x02\xD5\xA0\x03..."> expected but was <"0\x82\x03\xE30\x82\x02\xCB\xA0\x03...">. ``` Not sure why, but verify_callback now seems to receive only SERVER_CERT but not CA_CERT. It would be good to investigate the issue furthermore, but tentatively, I want to stop the failures. test/net/http/test_https.rb: the order of verify_callback seems to vary ... depending upon the environment. test/net/http/test_https.rb: The test logic was buggy The expected certs must be `[CA_CERT, SERVER_CERT]` before 1.1.1g and `[SERVER_CERT]` after 1.1.1h.
* merge revision(s) d23d2f3f6fbb5d787b0dd80675c489a692be23e2:nagachika2020-09-291-1/+1
| | | | | | | | [ruby/webrick] Make it more strict to interpret some headers Some regexps were too tolerant. https://github.com/ruby/webrick/commit/8946bb38b4
* merge revision(s) 996af2ce086249e904b2ce95ab2fcd1de7d757be: [Backport ↵nagachika2020-09-291-1/+1
| | | | | | | | #16345] [Backport #17000] Disable deprecation warning by the default [Feature #16345] And `-w` option turns it on.
* merge revision(s) df14c758fc705c49c2aaf4c9276a8f7229438fbf: [Backport #17181]nagachika2020-09-291-2/+2
| | | | | | | | | Make hash returned by Hash#transform_values not have a default This sets an explicit default of nil. There is probably a better approach of removing the default. Fixes [Bug #17181]
* bump patchlevel to 128nagachika2020-09-201-2/+2
|
* Skip bundler spec using irb with simulated JRuby environment.nagachika2020-09-171-2/+2
|
* bump patchlevel to 126nagachika2020-09-161-2/+2
|
* bump patchlevel to 125nagachika2020-09-151-2/+2
|
* spec/ruby/core/file/utime_spec.rb: far future timestamp may be trancatedYusuke Endoh2020-09-091-2/+2
| | | | | | | | | | | | | | | | | | Under some Ext4 filesystem settings, a timestamp is limited up to 0x37fffffff (2446-05-10). https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Timestamps > Therefore, timestamps should not overflow until May 2446. Actually the spec fails under one of our CI environments, like: ``` 1) File.utime allows Time instances in the far future to set mtime and atime FAILED Expected 2446 == 559444 to be truthy but was false ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200208T180002Z.fail.html.gz
* Run a TracePoint test in an insolated processnagachika2020-09-071-1/+1
| | | | | to prevent a random failure like http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287
* * 2020-09-07 [ci skip]git2020-09-071-1/+1
|
* merge revision(s) ff5e66034006a875125581114cce19d46843b32a: [Backport #17015]nagachika2020-09-061-1/+1
| | | | | Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`.
* merge revision(s) 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7: [Backport #17149]nagachika2020-09-061-1/+1
| | | | | | | | Trace :return of builtin methods using opt_invokebuiltin_delegate_leave insn. Since Ruby 2.7, :return of methods using builtin have not been traced properly.
* merge revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814: [Backport ↵nagachika2020-09-061-2/+2
| | | | | | | | #16603] [Backport #17141] Check type of empty keyword [Bug #16603] Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
* bump patchlevel to 119nagachika2020-09-051-3/+3
|
* merge revision(s) 8e189df32cacef4b21e357a590d349330532baf5: [Backport #17013]nagachika2020-08-071-2/+2
| | | | Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`.
* merge revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]nagachika2020-08-011-1/+1
| | | | | | | | Fixed `defined?` against protected method call Protected methods are restricted to be called according to the class/module in where it is defined, not the actual receiver's class. [Bug #16931]
* bump up patchlevel for a332e8a0ddad90c540c6c52f0db2a45e5955a23dnagachika2020-08-011-3/+3
|
* merge revision(s) 1b4d406e3a04032b6d01e92b6d184a16945c6ac3: [Backport ↵nagachika2020-07-261-1/+1
| | | | | | | | #16498] [Backport #16914] Hash#transform_values should return a plain new Hash [Bug #16498]
* partially merge revision adf709a78534c1483ba851ccb0490464ca31503c: [Backport ↵nagachika2020-07-261-1/+1
| | | | | | | | | | | | #16801] Classes made from Struct should have default new singleton method. Co-authored-by: Yusuke Endoh mame@ruby-lang.org Co-authored-by: John Hawthorn john@hawthorn.email Co-authored-by: Adam Hess HParker@github.com Co-authored-by: Jose Cortinas jacortinas@gmail.com Co-authored-by: Jean Boussier jean.boussier@gmail.com
* merge revision(s) ↵nagachika2020-07-261-2/+2
| | | | | | | | | | | | | | | | | | | | a0bc3f2a1c2c98f225612101cb4e1ea1a6813546,75a0447c15a7ab017bd4240c2a9cc69b134b80b9,f1699314147bad2cf5550cc582693424fdbc2510: [Backport #16846] Suppress C4267 "possible loss of data" warnings Suppress C4267 "possible loss of data" warnings Just cast down explicitly. win32ole: separate global variable declarations and definitions https://gcc.gnu.org/gcc-10/changes.html#c > * GCC now defaults to `-fno-common`. As a result, global > variable accesses are more efficient on various targets. In > C, global variables with multiple tentative definitions now > result in linker errors. With `-fcommon` such definitions are > silently merged during linking.
* merge revision(s) 5e81e8675a020ecd493620a4ff38db8fcf4b972a: [Backport #16780]nagachika2020-07-251-1/+1
| | | | | | Ignore exceptions when closing data connections [Bug #16780] Patch by koshigoe (Masataka SUZUKI). Thanks!
* merge revision(s) cbe4f75ef802f13d05f94e42274b65a062bd3666: [Backport #16834]nagachika2020-07-251-1/+1
| | | | | | | | Fix rb_profile_frame_classpath to handle module singletons Right now `SomeClass.method` is properly named, but `SomeModule.method` is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes profiling annoying.
* merge revision(s) 71c166e11e761dcaaa943f9b94da38f86ada1bdb: [Backport #16854]nagachika2020-07-251-1/+1
| | | | Fixed argument forwarding in reserved word method [Bug #16854]
* merge revision(s) 08529a61153e5c40f57a65272211357511d6e6db: [Backport #16798]nagachika2020-07-251-1/+1
| | | | Compare environment variable names in those manor [Bug #16798]
* merge revision(s) 2f1895fa15386fb3cdc91c5604171290828b9da8: [Backport #16767]nagachika2020-07-251-2/+2
| | | | Fixed formatted substring expansion [Bug #16767]
* merge revision(s) 927308108cced69cae478798004524b9a5d2f252: [Backport #16764]nagachika2020-07-231-1/+1
| | | | Fix source location of autoloaded constant [Bug #16764]
* merge revision(s) da05c1552ee519d8f180b48d97148d28501acb35: [Backport #16749]nagachika2020-07-231-1/+1
| | | | Update to ruby/spec@cc7b9e5
* merge revision(s) 72c02aa4b79731c7f25c9267f74b347f1946c704: [Backport #16662]nagachika2020-07-231-1/+1
| | | | | | | Moved not-implemented method tests [Bug #16662] Test not-implemented method with the dedicated methods, instead of platform dependent features.
* merge revision(s) b23fd59cbb3f097bcd559d0c85a86ff7a1eeeb7e: [Backport #16501]nagachika2020-07-231-1/+1
| | | | | | | | | | | | | | | marshal.c: Support dump and load of a Hash with the ruby2_keywords flag It is useful for a program that dumps and load arguments (like drb). In future, they should deal with both positional arguments and keyword ones explicitly, but until ruby2_keywords is deprecated, it is good to support the flag in marshal. The implementation is similar to String's encoding; it is dumped as a hidden instance variable. [Feature #16501]
* merge revision(s) e04418bb16cd99b4a4402e7457d3bdc967284f98: [Backport #16830]nagachika2020-07-231-1/+1
| | | | | | | | [ruby/uri] Check if DN exists https://bugs.ruby-lang.org/issues/16830 https://github.com/ruby/uri/commit/b4bf8c1217
* merge revision(s) a2be428c5fec31b8adbd5ac087e7637ddf7e54d0: [Backport #16826]nagachika2020-07-231-1/+1
| | | | | | Fix ObjectSpace::WeakMap#key? to work if the value is nil * Fixes [Bug #16826]
* merge revision(s) 579645d9f870fa4116dcd3200bbbb6e2c0b7f400: [Backport #17033]nagachika2020-07-231-1/+1
| | | | Fixed infinite loop at error in printing cause [Bug #17033]
* merge revision(s) 99a9c3fe2eaab8157765d792dc871da6daea0327: [Backport #17024]nagachika2020-07-231-1/+1
| | | | Fixed yday and wday with timezone [Bug #17024]
* merge revision(s) 2ecfb88ee50510955acd3ae9fc94a5f109e7f109: [Backport #16918]nagachika2020-07-231-1/+1
| | | | | | | | | Correctly remove temporary directory if path yielded is mutated Another approach would be to freeze the string, but that could cause backwards compatibility issues. Fixes [Bug #16918]
* merge revision(s) ↵nagachika2020-07-231-2/+2
| | | | | | | | | | 5a79d8e0507cd143100bf928a88a59a8b5a5bca6,160511d851375f7cb922faae3a9310633187f51f: [Backport #16925] Fix error raised by Net::HTTPResponse#inflater if the block raises * See https://bugs.ruby-lang.org/issues/13882#note-6 Quarantine specs which fail frequently with CHECK_LEAKS=true
* merge revision(s) ↵nagachika2020-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf1a6771f305ea286a3ae575676924551c03e857,c1463625555b061a2b94c3b6c5581730b482a285: [Backport #17012] [Backport #17014] Fix non-numeric exclusive Range#minmax bug The implementation of Range#minmax added in d5c60214c45 causes the following incorrect behaviour: ('a'...'c').minmax => ["a", ["a", "b"]] instead of ('a'...'c').minmax => ["a", "b"] This is because the C implementation of Range#minmax (range_minmax) directly delegates to the C implementation of Range#min (range_min) and Range#max (range_max), without changing the execution context. Range#max's C implementation (range_max), when given a non-numeric exclusive range, delegates to super, which is meant to call Enumerable#max. However, because range_max is called directly by range_minmax, super calls Enumerable#minmax instead, causing the incorrect nesting. Perhaps it is possible to change the execution context in an optimized manner, but the simplest solution seems to be to just explicitly delegate from Range#minmax to Range#min and Range#max. Use static variables in Range#minmax
* merge revision(s) 0ba27259d390e902139c0e2e94b9d18ef227748e: [Backport #16940]nagachika2020-07-191-1/+1
| | | | | | | | | Fix crashes in the peephole optimizer on OpenBSD/sparc64 These crashes are due to alignment issues, casting ADJUST to INSN and then accessing after the end of the ADJUST. These patches come from Stefan Sperling <stsp@apache.org>, who reported the issue.
* merge revision(s) 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618: [Backport #17023]nagachika2020-07-191-1/+1
| | | | | | | | | | | | | | | | Only marked objects should be considered movable Ruby's GC is incremental, meaning that during the mark phase (and also the sweep phase) programs are allowed to run. This means that programs can allocate objects before the mark or sweep phase have actually completed. Those objects may not have had a chance to be marked, so we can't know if they are movable or not. Something that references the newly created object might have called the pinning function during the mark phase, but since the mark phase hasn't run we can't know if there is a "pinning" relationship. To be conservative, we must only allow objects that are not pinned but also marked to move.
* merge revision(s) 26c179d7e7e7ae0eb21050659c3e8778358230ab: [Backport #17026]nagachika2020-07-191-2/+2
| | | | | | | | | | Check argument to ObjectSpace._id2ref Ensure that the argument is an Integer or implicitly convert to, before dereferencing as a Bignum. Addressed a regression in b99833baec2. Reported by u75615 at https://hackerone.com/reports/898614
* bump patchlevel to 93nagachika2020-07-181-2/+2
|
* OpenSSL 1.1.1 introduces a new '.include' directive. Update our confignagachika2020-07-111-2/+2
| | | | | | | | | | | | | | | | parser to support that. As mentioned in the referenced GitHub issue, we should use the OpenSSL API instead of implementing the parsing logic ourselves, but it will need backwards-incompatible changes which we can't backport to stable versions. So continue to use the Ruby implementation for now. References: https://github.com/ruby/openssl/issues/208 https://github.com/ruby/openssl/pull/216 The original patch was written by Kazuki Yamaguchi <k@rhe.jp> and the patch for ruby_2_7 branch was prepared by Vít Ondruch.
* bump patchlevel: merge commits: 5c2508060b79b4299a18d05511d3530ad14b1b7a ↵nagachika2020-07-101-2/+2
| | | | 2480ef904c66812cf366e5d9bc8a9c3c20bbf271 47720e2255f34ecad49763c66a7ea02a55a3f60a
* merge revision(s) ↵nagachika2020-07-091-1/+1
| | | | | | | | 87ad5ea729735ff6b8f1ac0bb3aad2aedd6f716e,9745e90197f129708986803e8913fb151862478a: Skip jit_test on some new RubyCI envs for now Propagate JIT skip to all tests
* merge revision(s) 21d8e6924844d592ff2d5a2e7309457eb92e66f6:nagachika2020-07-091-2/+2
| | | | | | | | disable to show the maximum number of threads. On Deiban 9 environment, the thread tests failed and this maximum threads information can finish up the machine resources. To check it, I turned-off showing this information.