summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-13fixes more clippy warnings (#6543)Jimmy Miller
* fixes more clippy warnings * Fix x86 c_callable to have doc_strings Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-10-13Make op_ext an optional for code clarity (#6542)Jimmy Miller
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-10-13Only expose Ruby Shape API if VM_CHECK_MODE is enabledAaron Patterson
2022-10-13YJIT: No need to fill to get UDF on ARM64Alan Wu
On ARM64, all zeros is already undefined, so we don't need to do extra work to fill new memory with undefined instructions. Notes: Merged: https://github.com/ruby/ruby/pull/6536
2022-10-13Prevent wrong integer expansionYusuke Endoh
`(attr_index + 1)` leads to wrong integer expansion on 32-bit machines (including Solaris 10 CI) because `attr_index_t` is uint16_t. http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20221013T080004Z.fail.html.gz ``` 1) Failure: TestRDocClassModule#test_marshal_load_version_2 [/export/home/users/chkbuild/cb-gcc/tmp/build/20221013T080004Z/ruby/test/rdoc/test_rdoc_class_module.rb:493]: <[doc: [doc (file.rb): [para: "this is a comment"]]]> expected but was <[doc: [doc (file.rb): [para: "this is a comment"]]]>. 2) Failure: TestRDocStats#test_report_method_line [/export/home/users/chkbuild/cb-gcc/tmp/build/20221013T080004Z/ruby/test/rdoc/test_rdoc_stats.rb:460]: Expected /\#\ in\ file\ file\.rb:4/ to match "The following items are not documented:\n" + "\n" + " class C # is documented\n" + "\n" + " # in file file.rb\n" + " def m1; end\n" + "\n" + " end\n" + "\n" + "\n". 3) Failure: TestRDocStats#test_report_attr_line [/export/home/users/chkbuild/cb-gcc/tmp/build/20221013T080004Z/ruby/test/rdoc/test_rdoc_stats.rb:91]: Expected /\#\ in\ file\ file\.rb:3/ to match "The following items are not documented:\n" + "\n" + " class C # is documented\n" + "\n" + " attr_accessor :a # in file file.rb\n" + "\n" + " end\n" + "\n" + "\n". ``` Notes: Merged: https://github.com/ruby/ruby/pull/6541
2022-10-13[ruby/uri] Fix splitting relative URINobuyoshi Nakada
https://github.com/ruby/uri/commit/ffbab83de6
2022-10-13Add missing `f.resume` to fiber test. (#6539)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-13Skip utime example with Intel C Compiler suiteHiroshi SHIBATA
2022-10-13Raise ArgumentError with empty host url again.Hiroshi SHIBATA
Fixup dd5118f8524c425894d4716b787837ad7380bb0d Co-authored-by: Koichi Sasada <ko1@atdot.net> Notes: Merged: https://github.com/ruby/ruby/pull/6538
2022-10-13Revert "FreeBSD make uses the target under srcdir [ci skip]"Nobuyoshi Nakada
This reverts commit 751ffb276f658518c6fe06461a9d3d1c136c7d5d, which caused build failures on other platforms.
2022-10-13FreeBSD make uses the target under srcdir [ci skip]Nobuyoshi Nakada
2022-10-13URI.parse should set empty string in host instead of nilNARUSE, Yui
2022-10-12YJIT: Set RUST_BACKTRACE=1 in every Cirrus script (#6526)Takashi Kokubun
* YJIT: Set RUST_BACKTRACE=1 in every Cirrus script * YJIT: Print $CIRRUS_ENV correctly It looks like $CIRRUS_ENV is cleaned up at every script. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-10-12Unwrap shape id as unsigned intAaron Patterson
Shape IDs are unsigned. This commit unwraps the shape id as an unsigned int, which will automatically raise an argument error and also eliminate a compilation warning. Notes: Merged: https://github.com/ruby/ruby/pull/6535
2022-10-12Initialize shape attr index also in non-markable CCNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6532
2022-10-12file2lastrev.rb: Refactor VCS directory searchNobuyoshi Nakada
Search VCS directory after other options are in effective, i.e., `--srcdir=nonexitent --suppress_not_found` options, as well as the reverse order case, should print the current date only and exit successfully.
2022-10-12Adjust indents [ci skip]Nobuyoshi Nakada
2022-10-12Suppress a "warning: method redefined" in test/ruby/test_method.rbYusuke Endoh
2022-10-12Suppress warnings in test/ruby/test_ast.rbYusuke Endoh
The tests for error tolerance printed some warnings. This change suppresses them.
2022-10-12Do not read cached_id from callcache on stackYusuke Endoh
The inline cache is initialized by vm_cc_attr_index_set only when vm_cc_markable(cc). However, vm_getivar attempted to read the cache even if the cc is not vm_cc_markable. This caused a condition that depends on uninitialized value. Here is an output of valgrind: ``` ==10483== Conditional jump or move depends on uninitialised value(s) ==10483== at 0x4C1D60: vm_getivar (vm_insnhelper.c:1171) ==10483== by 0x4C1D60: vm_call_ivar (vm_insnhelper.c:3257) ==10483== by 0x4E8E48: vm_call_symbol (vm_insnhelper.c:3481) ==10483== by 0x4EAD8C: vm_sendish (vm_insnhelper.c:5035) ==10483== by 0x4C62B2: vm_exec_core (insns.def:820) ==10483== by 0x4DD519: rb_vm_exec (vm.c:0) ==10483== by 0x4F00B3: invoke_block (vm.c:1417) ==10483== by 0x4F00B3: invoke_iseq_block_from_c (vm.c:1473) ==10483== by 0x4F00B3: invoke_block_from_c_bh (vm.c:1491) ==10483== by 0x4D42B6: rb_yield (vm_eval.c:0) ==10483== by 0x259128: rb_ary_each (array.c:2733) ==10483== by 0x4E8730: vm_call_cfunc_with_frame (vm_insnhelper.c:3227) ==10483== by 0x4EAD8C: vm_sendish (vm_insnhelper.c:5035) ==10483== by 0x4C6254: vm_exec_core (insns.def:801) ==10483== by 0x4DD519: rb_vm_exec (vm.c:0) ==10483== ``` In fact, the CI on FreeBSD 12 started failing since ad63b668e22e21c352b852f3119ae98a7acf99f1. ``` gmake[1]: Entering directory '/usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby' /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:924:in `complete': undefined method `complete' for nil:NilClass (NoMethodError) from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1816:in `block in visit' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1815:in `reverse_each' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1815:in `visit' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1847:in `block in complete' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1846:in `catch' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1846:in `complete' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1640:in `block in parse_in_order' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1632:in `catch' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1632:in `parse_in_order' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1626:in `order!' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1732:in `permute!' from /usr/home/chkbuild/chkbuild/tmp/build/20221011T163003Z/ruby/lib/optparse.rb:1757:in `parse!' from ./ext/extmk.rb:359:in `parse_args' from ./ext/extmk.rb:396:in `<main>' ``` This change adds a guard to read the cache only when vm_cc_markable(cc). It might be better to initialize the cache as INVALID_SHAPE_ID when the cc is not vm_cc_markable. Notes: Merged: https://github.com/ruby/ruby/pull/6530
2022-10-12[ruby/psych] Fix missing `abort` callNobuyoshi Nakada
https://github.com/ruby/psych/commit/de2b98c7b7 Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2022-10-12[ruby/psych] Abandon when libyaml is not foundNobuyoshi Nakada
https://github.com/ruby/psych/commit/0b89eda398
2022-10-12[DOC] Replace the external URIs to docs with rdoc-refNobuyoshi Nakada
2022-10-12sync_default_gems: Replace the URIs to be redirectedNobuyoshi Nakada
The reference generated by using RDoc without the proper `--page-dir` option (or `.rdoc_options`) file may contain `/doc/`. Since these URIs are redirected by the server now, replace such URIs with the corresponding rdoc-refs too.
2022-10-12[DOC] Replace the external URIs to docs with rdoc-refNobuyoshi Nakada
2022-10-12sync_default_gems: Add rdoc-ref command to testNobuyoshi Nakada
2022-10-12sync_default_gems: Replace the external URIs to docs with rdoc-refNobuyoshi Nakada
2022-10-12sync_default_gems: Should match with the beginning of the stringsNobuyoshi Nakada
`git status -z` result is NUL-separated, and can contain newline characters.
2022-10-12Simplify implementation of scheduler `io_read` and `io_write`. (#6527)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-12Add :ssl_min_version and :ssl_max_version optionsKazuki Yamaguchi
Replace :ssl_version option with these two new options. These provide access to OpenSSL::SSL::SSLContext#{min,max}_version=, which is the recommended way to specify SSL/TLS protocol versions.
2022-10-12Improvements to IO::Buffer implementation and documentation. (#6525)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-11Implement optimize send in yjit (#6488)Jimmy Miller
* Implement optimize send in yjit This successfully makes all our benchmarks exit way less for optimize send reasons. It makes some benchmarks faster, but not by as much as I'd like. I think this implementation works, but there are definitely more optimial arrangements. For example, what if we compiled send to a jump table? That seems like perhaps the most optimal we could do, but not obvious (to me) how to implement give our current setup. Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> * Attempt at fixing the issues raised by @XrXr * fix allowlist * returns 0 instead of nil when not found * remove comment about encoding exception * Fix up c changes * Update assert Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> * get rid of unneeded code and fix the flags * Apply suggestions from code review Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> * rename and fix typo Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-10-11Make inline cache reads / writes atomic with object shapesJemma Issroff
Prior to this commit, we were reading and writing ivar index and shape ID in inline caches in two separate instructions when getting and setting ivars. This meant there was a race condition with ractors and these caches where one ractor could change a value in the cache while another was still reading from it. This commit instead reads and writes shape ID and ivar index to inline caches atomically so there is no longer a race condition. Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-10-11Revert "Revert "This commit implements the Object Shapes technique in CRuby.""Jemma Issroff
This reverts commit 9a6803c90b817f70389cae10d60b50ad752da48f.
2022-10-11[rubygems/rubygems] Bump rb-sysdependabot[bot]
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.30 to 0.9.31. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.30...v0.9.31) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/4ad57bacea
2022-10-11[rubygems/rubygems] Bump rb-sys in ↵dependabot[bot]
/test/rubygems/test_gem_ext_cargo_builder/custom_name Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.30 to 0.9.31. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.30...v0.9.31) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/476490d529
2022-10-11[DOC] use the local rdoc reference than the external URINobuyoshi Nakada
2022-10-11[ruby/open-uri] Remove unused files from the packagesNobuyoshi Nakada
https://github.com/ruby/open-uri/commit/b2d9efbaf8
2022-10-11Ignore failure to set nonblock mode. (#6524)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-10object.c: rb_eql returns int not VALUEJean Boussier
It works, but assumes `Qfalse == 0`, which is true today but might not be forever. Notes: Merged: https://github.com/ruby/ruby/pull/6508
2022-10-10Reuse `with_warning_string_from` macroS.H
Notes: Merged: https://github.com/ruby/ruby/pull/6471 Merged-By: nobu <nobu@ruby-lang.org>
2022-10-10Ignore excessive precisionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6522
2022-10-10* expand tabs. [ci skip]git
Tabs were expanded because the file did not have any tab indentation in unedited lines. Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
2022-10-10Should use dedecated function `Check_Type`Nobuyoshi Nakada
2022-10-10Add MatchData#deconstruct/deconstruct_keysVladimir Dementyev
Notes: Merged: https://github.com/ruby/ruby/pull/6216
2022-10-09Do not set `$!` to `SyntaxError` when error tolerantNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6517
2022-10-09Extract `assert_error_tolerant`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6519
2022-10-09Allow abbreviated dump options with additional optionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6518
2022-10-09Set AST prettyprint width to 80 explicitlyNobuyoshi Nakada
`PrettyPrint` results depend on the `COLUMNS` environment variable by default.
2022-10-09Remove unused macroyui-knk
NEW_PREEXE has not been used since 52a5f76e8b1ab02ee6e259a7cff9e8c5475744e8 Notes: Merged: https://github.com/ruby/ruby/pull/6516