Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/logger/commit/34c0ba8baa
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
|
|
https://github.com/ruby/logger/commit/16556d06d1
|
|
install output
The lockfile is completely ignored in inline mode, yet the previous
output would suggest it wasn't.
https://github.com/rubygems/rubygems/commit/763125a745
|
|
The other sources use `options` which reads better.
https://github.com/rubygems/rubygems/commit/a672f9d602
|
|
Try to fix `make install without root privilege` failures on snapshot CIs.
example: https://github.com/ruby/actions/actions/runs/2315349280
|
|
This implements the getblockparam instruction.
There are two cases we need to handle depending on whether or not
VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM is set in the environment flag.
When the modified flag is unset, we need to call rb_vm_bh_to_procval to
get a proc from our passed block, save the proc in the environment, and
set the modified flag.
In the case that the modified flag is set we are able to just use the
existing proc in the environment.
One quirk of this is that we need to call jit_prepare_routine_call early
and ensure we update PC and SP regardless of the branch taken, so that
we have a consistent SP offset at the start of the next instruction.
We considered using a chain guard to generate these two paths
separately, but decided against it because it's very common to see both
and the modified case is basically a subset of the instructions in the
unmodified case.
This includes tests for both getblockparam and getblockparamproxy which
was previously missing a test.
Notes:
Merged: https://github.com/ruby/ruby/pull/5881
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5904
|
|
|
|
Before this commit we were accidentally clobbering RAX. Additionally,
since this function had RAX hardcoded then the function may not have
worked with registers other than RAX.
Co-authored-by: John Hawthorn <john@hawthorn.email>
Notes:
Merged-By: jhawthorn <john@hawthorn.email>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5879
|
|
Note this change is only for `configure.ac`, not for Windows using
`win32/configure.bat`.
```
$ ./configure --help | grep mkmf
--enable-mkmf-verbose enable verbose in mkmf
```
Run the following command to enable the mkmf verbose mode.
```
$ ./configure --enable-mkmf-verbose
$ grep MKMF_VERBOSE config.status
S["MKMF_VERBOSE"]="1"
```
In this mkmf verbose mode, when compiling a native extension, the
`rake compile` prints the compiling commands such as
"gcc -I. <...> path/to/file" instead of "compiling path/to/file".
```
$ git clone https://github.com/deivid-rodriguez/byebug.git
$ cd byebug
$ bundle install --standalone
$ bundle exec rake compile
...
gcc -I. <...> path/to/file
...
```
Notes:
Merged: https://github.com/ruby/ruby/pull/5879
|
|
given scheme
* Also add docs and mention current limitations.
* For reference, https://stackoverflow.com/a/3641782/388803 mentions the
valid characters in schemes.
https://github.com/ruby/uri/commit/4346daac75
|
|
URI::Generic#{user,password} return the encoded values, which are
not that useful if you want to do authentication with them.
Automatic decoding by default would break backwards compatibility.
Optional automatic decoding via a keyword to URI.parse would
require threading the option through at least 3 other methods, and
would make semantics confusing (user= takes encoded or unencoded
password?) or require more work. Thus, adding this as a separate
method seemed the simplest approach.
Unfortunately, URI lacks a method for correct decoding. Unlike in
www form components, + in earlier parts of the URI such as the
userinfo section is treated verbatim and not as an encoded space.
Add URI.#{en,de}code_uri_component methods, which are almost the
same as URI.#{en,de}code_www_form_component, but without the
special SP => + handling.
Implements [Feature #9045]
https://github.com/ruby/uri/commit/16cfc4e92f
|
|
The module here is called `URI`, so it's probably reasonable to expect a requirement for the path to be RFC3986-compliant, but on the other hand, the class is called `File`, so it might be reasonable to expect that a path produced by e.g. the `File` class would be consumable by its `build` method (this fails if the filename contains e.g. a space).
https://github.com/ruby/uri/commit/ef79789b83
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5902
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5903
|
|
co-authored-by: Peter Zhu <peter@peterzhu.ca>
Notes:
Merged: https://github.com/ruby/ruby/pull/5901
|
|
https://github.com/ruby/fileutils/commit/4771925fee
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
|
|
https://github.com/ruby/fileutils/commit/a0ea474214
|
|
https://github.com/ruby/rdoc/commit/521c9ebd29
|
|
|
|
For string concat, see if compile-time encoding of strings matches.
If so, use simple buffer string concat at runtime. Otherwise, use
encoding-checking string concat.
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
co-authored-by: Peter Zhu <peter@peterzhu.ca>
co-authored-by: Stan Lo <stan001212@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/5899
|
|
https://github.com/ruby/fileutils/commit/c38fd02372
|
|
https://github.com/ruby/fileutils/commit/7b60f2d63b
|
|
|
|
Previously we were removing not installable specs. However, if those are
the only ones, that would result in a bad error message. If we still
choose them as a last resort, Bundler will later check metadata right
before installing a give a proper error.
This is a regression of https://github.com/rubygems/rubygems/commit/565549260be5 and the
fix is to revert that commit.
https://github.com/rubygems/rubygems/commit/bc18912257
|
|
The follow a tweak on the yank message.
https://github.com/rubygems/rubygems/commit/f6817bfe58
|
|
https://github.com/rubygems/rubygems/commit/66eae0ef1d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5897
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|
|
|
|
|
|
https://github.com/ruby/psych/commit/8533be8fe7
|
|
We don't need to allocate a new page in gc_sweep_finish_size_pool.
It can be allocated when needed.
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
Some size pools may not have any pages/slots, so total_slots is 0. This
causes a divide-by-zero in the calculation. This commit adds a special
case to catch the case when total_slots is 0 and returns the number of
pages for heap_init_slots.
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
If the size pool has no or few pages/slots, then min_free_slots will
be a very small number (or even 0). Then the heap won't be eligible to
grow, causing GC thrashing or infinite loops.
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
Size pools with no pages won't be swept so gc_sweep_finish_size_pool
will never be called on it, but gc_sweep_finish_size_pool must be called
to grow the size pool.
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
Depending on alignment, the last bitmap plane may not used. Then it will
appear as if all of the objects on that plane is unmarked, which will
cause a buffer overrun when we try to free the object. This commit
changes the loop to calculate the number of planes used
(bitmap_plane_count).
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
Having more size pools will allow us to allocate larger objects
through Variable Width Allocation.
I have attached some benchmark results below.
Discourse:
On Discourse, we don't see much change in response times. We do see
a small reduction in RSS.
Branch RSS: 377.8 MB
Master RSS: 396.3 MB
railsbench:
On railsbench, we don't see a big change in RPS or p99 performance.
We see a small increase in RSS.
Branch RPS: 815.38
Master RPS: 811.73
Branch p99: 1.69 ms
Master p99: 1.68 ms
Branch RSS: 90.6 MB
Master RSS: 89.4 MB
liquid:
We don't see a significant change in liquid performance.
Branch parse & render: 29.041 I/s
Master parse & render: 29.211 I/s
Notes:
Merged: https://github.com/ruby/ruby/pull/5885
|
|
https://github.com/rubygems/rubygems/commit/531d6b5fee
|
|
|
|
https://github.com/ruby/net-http/commit/992d07cb41
|
|
|
|
https://github.com/ruby/io-wait/commit/f59d1d12e0
|
|
|
|
https://github.com/ruby/stringio/commit/64f225bf00
|
|
|
|
https://github.com/ruby/stringio/commit/b79152d08f
|