aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add `--bugreport-path` optionNobuyoshi Nakada2023-09-254-9/+26
| | | | It has precedence over the environment variable `RUBY_BUGREPORT_PATH`.
* Add "piping bug reports to a program" to the manual pageNobuyoshi Nakada2023-09-251-0/+9
|
* Test bug_reportNobuyoshi Nakada2023-09-251-2/+3
|
* Invoke the command when RUBY_BUGREPORT_PATH starts with `|`Nobuyoshi Nakada2023-09-254-14/+125
|
* Add `rb_w32_uspawn_process`Nobuyoshi Nakada2023-09-252-5/+29
|
* Add `RUBY_BUGREPORT_PATH` to the manual pageNobuyoshi Nakada2023-09-251-0/+33
|
* Test bug_reportNobuyoshi Nakada2023-09-252-0/+21
|
* Extract `expand_report_argument`Nobuyoshi Nakada2023-09-251-39/+56
|
* Redirect to RUBY_BUGREPORT_PATH fileNobuyoshi Nakada2023-09-252-13/+230
|
* Abort dumping when output failedNobuyoshi Nakada2023-09-252-110/+159
|
* Dump backtraces to an arbitrary streamNobuyoshi Nakada2023-09-259-236/+265
|
* [ruby/yarp] Fix crashes in parsing block argumentsHaldun Bayhantopcu2023-09-251-0/+3
| | | | https://github.com/ruby/yarp/commit/e1f2fde775
* [rubygems/rubygems] Allow standalone mode to work on a Windows edge caseDavid Rodriguez2023-09-251-1/+8
| | | | | | | | | | | | | | | | | | | | | If a gem is located in a different drive than the Gemfile, standalone mode will fail to generate the `bundler/setup` script, failing with an error like ``` ArgumentError: different prefix: "C:/" and "D:/a/rubygems/rubygems/bundler/tmp/2/bundled_app/bundle/bundler" C:/hostedtoolcache/windows/Ruby/3.0.5/x64/lib/ruby/3.0.0/pathname.rb:528:in `relative_path_from' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:58:in `gem_path' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:33:in `block (2 levels) in paths' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:32:in `map' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:32:in `block in paths' ``` I'm fixing this by falling back to using a full path in this case. This was caught by a failing spec, so I'm not adding new specs. https://github.com/rubygems/rubygems/commit/3cb9b9ab7a
* Bump actions/checkout from 4.0.0 to 4.1.0dependabot[bot]2023-09-2517-19/+19
| | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/3df4ab11eba7bda6032a0b82a6bb43b11571feac...8ade135a41bc03ea155e62e844d188df1ea18608) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* [DOC] Correction for doc guide + TOC fix in File (#8505)Burdette Lamar2023-09-242-9/+14
|
* Add rb_hash_free for the GC to usePeter Zhu2023-09-243-6/+10
|
* Add hash_st_freePeter Zhu2023-09-241-2/+8
|
* Refactor to use ripper_new_yylval2yui-knk2023-09-241-5/+1
|
* Fix test thread leakageNobuyoshi Nakada2023-09-241-6/+10
|
* The first arg of NEW_OPT_ARG is always 0yui-knk2023-09-242-3/+3
|
* [Bug #19901]Adam Hess2023-09-232-0/+13
| | | | | | fix leak in module clone Co-authored-by: Peter Zhu <peter@peterzhu.ca>
* Fix memory leak in Hash#rehash for ST hashesPeter Zhu2023-09-232-8/+24
| | | | | | We need to free the old ST table in Hash#rehash. Co-authored-by: Adam Hess <adamhess1991@gmail.com>
* Improve VCS::GIT#format_changelog addessing [ci skip]Nobuyoshi Nakada2023-09-231-12/+20
|
* Ignore rbs test failuresTakashi Kokubun2023-09-231-1/+1
| | | | | | | | | | | For some reason, it's been failing only on YJIT, but apparently it's reproducible on the interpreter as well. So it's not related to YJIT. rbs marked rbs tests on Ruby master as allow_failures https://github.com/ruby/rbs/pull/1536, so it's known to not work on Ruby master. We should revert this once we fix the flaky test failure on Ruby master.
* Improve performance of include? by 5-10xHartley McGuire2023-09-231-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rails uses IPAddr#include? to evaluate what it should use as the client's remote ip by filtering potential ips against a trusted list of internal ips. In a _very_ minimal app, #include? was showing up in a profile as ~1% of request time. The issue is that #include? was converting itself and the other value passed in to ranges of IPAddr. This mean as a worst case (where other is a non-IPAddr, like a String) then there would be 5 IPAddr instances created (other -> IPAddr, and two each for the conversions to ranges). However, wrapping the begin and end values as IPAddr is not needed because they are necessarily fixed addresses already. This patch extracts the logic for getting the begin_addr and end_addr from the #to_range method so that they can be used in #include? without having to instantiate so many IPAddr. Benchmark: ```ruby net1 = IPAddr.new("192.168.2.0/24") net2 = IPAddr.new("192.168.2.100") net3 = IPAddr.new("192.168.3.0") net4 = IPAddr.new("192.168.2.0/16") Benchmark.ips do |x| x.report("/24 includes address") { net1.include? net2 } x.report("/24 not includes address") { net1.include? net3 } x.report("/16 includes /24") { net4.include? net1 } x.report("/24 not includes /16") { net1.include? net4 } x.compare! end ``` Before: ``` Comparison: /24 not includes /16: 175041.3 i/s /24 not includes address: 164933.2 i/s - 1.06x (± 0.00) slower /16 includes /24: 163881.9 i/s - 1.07x (± 0.00) slower /24 includes address: 163558.4 i/s - 1.07x (± 0.00) slower ``` After: ``` Comparison: /24 not includes /16: 2588364.9 i/s /24 not includes address: 1474650.7 i/s - 1.76x (± 0.00) slower /16 includes /24: 1461351.0 i/s - 1.77x (± 0.00) slower /24 includes address: 1425463.5 i/s - 1.82x (± 0.00) slower ```
* Try to fix compilation on m68kPeter Zhu2023-09-221-1/+1
| | | | | | | | | | | | | | | | | | | Compilation is failing on m68k-linux with: ``` ./include/ruby/internal/static_assert.h:51:46: error: static assertion failed: "sizeof_method_def: offsetof(rb_method_definition_t, body)==8" 51 | # define RBIMPL_STATIC_ASSERT0 __extension__ _Static_assert | ^~~~~~~~~~~~~~ ./include/ruby/internal/static_assert.h:70:5: note: in expansion of macro 'RBIMPL_STATIC_ASSERT0' 70 | RBIMPL_STATIC_ASSERT0(expr, # name ": " # expr) | ^~~~~~~~~~~~~~~~~~~~~ ./internal/static_assert.h:13:24: note: in expansion of macro 'RBIMPL_STATIC_ASSERT' 13 | # define STATIC_ASSERT RBIMPL_STATIC_ASSERT | ^~~~~~~~~~~~~~~~~~~~ ./method.h:203:1: note: in expansion of macro 'STATIC_ASSERT' 203 | STATIC_ASSERT(sizeof_method_def, offsetof(rb_method_definition_t, body)==8); | ^~~~~~~~~~~~~ ```
* [YARP] Use the integer base flag (#8476)Kevin Newton2023-09-221-11/+33
| | | Use the integer base flag
* [ruby/yarp] Check class name to be a constant path node or a constant read nodeHaldun Bayhantopcu2023-09-222-0/+12
| | | | https://github.com/ruby/yarp/commit/fd7c44f13f
* Resync yarp (#8498)Jemma Issroff2023-09-224-5/+30
| | | | | | | | | * [YARP] Reject numbered parameters in block parameters * [YARP] Do not allow BEGIN except the toplevel --------- Co-authored-by: Haldun Bayhantopcu <haldun@github.com>
* [ruby/yarp] Introduce YP_TOKEN_METHOD_NAMEHaldun Bayhantopcu2023-09-226-11/+39
| | | | https://github.com/ruby/yarp/commit/e855bf415c
* [YARP] Remove minor instances of rb_intern (#8497)Jemma Issroff2023-09-221-3/+3
|
* Magical wait to get rid of deadlock on macOSNobuyoshi Nakada2023-09-221-0/+4
|
* [ruby/yarp] use `yp_statements_node_body_length` a little bit moreNathan Froyd2023-09-221-2/+6
| | | | https://github.com/ruby/yarp/commit/65d8816178
* [ruby/stringio] [DOC] Fix linkBurdette Lamar2023-09-221-1/+1
| | | | | | (https://github.com/ruby/stringio/pull/65) https://github.com/ruby/stringio/commit/e3ea087d04
* [ruby/yarp] Fix listener leave event orderKevin Newton2023-09-222-36/+71
| | | | https://github.com/ruby/yarp/commit/1e6e264836
* [ruby/prettyprint] [DOC] Link fixesBurdetteLamar2023-09-221-2/+2
| | | | https://github.com/ruby/prettyprint/commit/f1f583c827
* [Bug #19896]Adam Hess2023-09-226-73/+54
| | | | | | | | | fix memory leak in vm_method This introduces a unified reference_count to clarify who is referencing a method. This also allows us to treat the refinement method as the def owner since it counts itself as a reference Co-authored-by: Peter Zhu <peter@peterzhu.ca>
* [ruby/irb] Page show_source's outputStan Lo2023-09-222-12/+19
| | | | | | (https://github.com/ruby/irb/pull/719) https://github.com/ruby/irb/commit/3cedc5cb62
* [ruby/yarp] Create arguments when necessaryHaldun Bayhantopcu2023-09-221-0/+3
| | | | https://github.com/ruby/yarp/commit/123332f255
* [YARP] Suppress constant redefinition warningNobuyoshi Nakada2023-09-221-1/+7
| | | | | | | ``` <compiled>:1: warning: already initialized constant Bar test/yarp/compiler_test.rb:139: warning: previous definition of Bar was here ```
* [ruby/zlib] Add truffleruby-head in CIBenoit Daloze2023-09-221-1/+3
| | | | | | | * The latest release does not have this fix: https://github.com/oracle/truffleruby/commit/c77f8bb35db084c99d1f5b14748267866004222e https://github.com/ruby/zlib/commit/8abc80b994
* Directly free structure managed by imemo tmpbufyui-knk2023-09-225-49/+26
| | | | | | | | | NODE_ARGS, NODE_ARYPTN, NODE_FNDPTN manage memory of their structure by imemo tmpbuf Object. However rb_ast_struct has reference to NODE. Then these memory can be freed directly when rb_ast_struct is freed. This commit reduces parser's dependency on CRuby functions.
* [YARP] Implement ConstantPathTargetNodeMatt Valentine-House2023-09-212-2/+110
| | | | Co-Authored-By: kddnewton <kevin.newton@shopify.com>
* [ruby/pstore] [DOC] Link fixesBurdetteLamar2023-09-211-4/+4
| | | | https://github.com/ruby/pstore/commit/3f328a1e0e
* Update default gems list at 2df00640ff098a305eacee48cf2c77 [ci skip]git2023-09-211-0/+1
|
* [ruby/openssl] Ruby/OpenSSL 3.2.0Kazuki Yamaguchi2023-09-213-2/+42
| | | | https://github.com/ruby/openssl/commit/6b3dd6a372
* [ruby/openssl] Update README and gemspec descriptionKazuki Yamaguchi2023-09-211-2/+2
| | | | | | | | | | | | * Reword the description in README for more clarity. * Add a compatibility matrix of our stable branches and explain the maintenance policy. * Remove the obsolete paragraph for how to use the gem in Ruby 2.3, which is no longer supported. https://github.com/ruby/openssl/commit/7691034fcb
* [rubygems/rubygems] Reduce allocations when parsing lockfileSamuel Giddins2023-09-211-21/+26
| | | | | | | | | | | | | | | | ``` ==> memprof.after.txt <== Total allocated: 673.08 kB (7644 objects) Total retained: 107.35 kB (1018 objects) ==> memprof.before.txt <== Total allocated: 739.12 kB (9140 objects) Total retained: 138.61 kB (1695 objects) ``` Savings will scale by the number of lines in the lockfile https://github.com/rubygems/rubygems/commit/f6abf4439c
* [ruby/yarp] encourage the compiler to compile `lex_keyword` more efficientlyNathan Froyd2023-09-211-44/+43
| | | | https://github.com/ruby/yarp/commit/f7bb139e2f
* [YARP] Add tests for popped instructions (#8494)Jemma Issroff2023-09-212-201/+102
|