| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
On 32-bit systems, we must store the shape ID in the gen_ivtbl to not
lose the shape. If we directly store the ST table into the generic
ivar table, then we lose the shape. This makes it impossible to
determine the shape of the object and whether it is too complex or not.
|
|
|
|
We weren't taking in to account that objects with generic IV tables
could go "too complex" in the IV set code. This commit takes that in to
account and also ensures FL_EXIVAR is set when a geniv object
transitions to "too complex"
Co-Authored-By: Jean Boussier <byroot@ruby-lang.org>
|
|
|
|
There is a handful of call sites where we may transition to
OBJ_TOO_COMPLEX_SHAPE if we just ran out of shapes, but that
weren't handling it properly.
|
|
This commit implements compilation for the PostExeuctionNode by
using the ScopeNode to create child iseqs where appropriate.
|
|
https://github.com/rubygems/rubygems/commit/8d51390ca4
|
|
|
|
https://github.com/ruby/prism/commit/fa108b8626
|
|
https://github.com/ruby/prism/commit/6e5556dbdf
|
|
https://github.com/ruby/prism/commit/7dbb8c7e3e
|
|
|
|
|
|
|
|
For static analysis, it’s better to keep unused literal nodes.
If simply change `block_append` to fall through, both "unused literal ignored"
and "possibly useless use of a literal in void context" warnings
are shown for the same line. But it’s verbose then remove
"unused literal ignored" warning.
This kind of optimization is already implemented on compile.c.
`compile_block` calls `iseq_compile_each0` with `popped = 1` when NODE_BLOCK
has next.
|
|
|
|
Currently, we do not have an amd64 job that runs with YJIT disabled
and runs the full check task. Most amd64 jobs implicitly have YJIT
enabled, even though --enable-yjit was not specified. This makes it
easier to determine whether a problem is YJIT-related or not by
reviewing CI logs.
|
|
Add a new API rb_profile_thread_frames(), which is essentialy a
per-thread version of rb_profile_frames().
While the original rb_profile_frames() always returns results about the
current active thread obtained by GET_EC(), this new API takes a Thread
to be profiled as an argument.
This should come in handy when profiling I/O-bound programs such as
webapps, since this new API allows us to learn about Threads performing
I/O (which do not have the GVL).
Profiling worker threads (such as Sidekiq workers) may be another
application.
Implements [Feature #10602]
Co-authored-by: Mike Perham <mike@perham.net>
|
|
|
|
|
|
|
|
|
|
|
|
Fixes ruby/prism#1648
|
|
|
|
(https://github.com/ruby/irb/pull/743)
* Use IRB's own doc for doc dialog tests
* Run doc dialog tests for older Rubies too
* Remove unnecessary CI setups
https://github.com/ruby/irb/commit/97a2b86f0a
|
|
|
|
|
|
|
|
instead of assert.
It's better because assert_equal prints the values when it fails.
https://github.com/ruby/rdoc/commit/91d40ce8f8
|
|
https://github.com/ruby/prism/commit/e44a9ae742
|
|
Do not use a variable as a format string. Also we usually don't
expect non-ascii data in C string literals.
|
|
https://github.com/ruby/prism/commit/bd4d248fd6
|
|
|
|
|
|
This reverts commit d434765faead1583ca9008bb579067a288085b93.
|
|
|
|
https://github.com/ruby/prism/commit/4a7be1fc50
|
|
* Add notes.
* When you see Travis issue, please check the link below.
https://github.com/ruby/ruby/wiki/CI-Servers#travis-ci
* Added the following random failure.
The ppc64le failure has been happening randomly in Travis focal/jammy.
TestRDocGeneratorJsonIndex#test_generate fails randomly.
https://app.travis-ci.com/github/ruby/ruby/jobs/612380961#L2900
* Update the comments.
* Remove empty lines in nested YAML elements aligning with other parts.
|
|
To avoid unintentional new failures. Feel free to enable it again when the case
is unstable.
|
|
We want to align the used build flags with RubyCI ppc64le Ubuntu jammy server
as much as possible to avoid Travis specific issues.
Still keep the -O1 for only arm32 due to the following issue.
https://bugs.ruby-lang.org/issues/19981
|
|
Seeing the recent successes on RubyCI ppc64le Ubuntu jammy servers, it's time
to upgrade Travis ppc64le to jammy.
http://rubyci.s3.amazonaws.com/ppc64le/ruby-master/recent.html
Upgrade the gcc version to the latest version 11.4.0 to align the gcc
version used in the RubyCI ppc64le server's gcc version.
|
|
The existing comment generation was hard to read and was making a lot of string manipulation. However, ERB files are already designed to do string manipulation, so we can use that instead.
So, instead of doing a split and a map, I opted to use the `#each_line` method to iterate over the lines of the file.
Also, in order to add an optional space padding at the beginning of the line, I opted to pad it with a space and to then right trim it. This makes sure that no space is left behind if the line is empty, but a space is added if the line is not empty.
https://github.com/ruby/prism/commit/5736711e70
|
|
|
|
https://github.com/ruby/net-http/commit/f4951dc42a
|