| Age | Commit message (Collapse) | Author |
|
|
|
The current Markdown implementation of RDoc requires list contents
to be indented 4 columns except for the first paragraph.
Maybe fixed as other implementations in the future.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5216
|
|
`fcopyfile` appends `src` to `to` and then truncates `to` to it's
original size.
|
|
https://github.com/rubygems/rubygems/commit/141ef4cb9a
|
|
bundler
https://github.com/rubygems/rubygems/commit/a62d00c5e8
|
|
https://github.com/rubygems/rubygems/commit/49317d8beb
|
|
is used
https://github.com/rubygems/rubygems/commit/7079de16fa
|
|
Follow up for 6bca410ae8b16238d02c868ce8fa1af13a5c4460
[ci skip]
Notes:
Merged: https://github.com/ruby/ruby/pull/5215
|
|
|
|
As of [1] and [2], YJIT has enough support for out of memory conditions
to pass these two basic tests.
OOM code paths are prone to bugs since they are rarely exercised in
common workloads. We might want to add CI runs that stress test these
code paths. Maybe outside of GitHub Actions for capacity reasons.
[1]: f41b4d44f95978dfa97af04af00055dc3fbf7978
[2]: b5b6ab4194f16e96ee5004288cc469ac1bca41a3
Notes:
Merged: https://github.com/ruby/ruby/pull/5214
|
|
It results in a circular dependency when `--with-ruby-pc=ruby.pc`
is given. [ci skip]
|
|
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension library, so that separate dummy recipe is not
needed.
* Add a dummy recipe for rubyspec.h before the rubyspec running
recipe, so that the dependency of extensions do not fire the
latter.
|
|
|
|
Previously, YJIT assumed that basic blocks never consume more than
1 KiB of memory. This assumption does not hold for long Ruby methods
such as the one in the following:
```ruby
eval(<<RUBY)
def set_local_a_lot
#{'_=0;'*0x40000}
end
RUBY
set_local_a_lot
```
For low `--yjit-exec-mem-size` values, one basic block could exhaust the
entire buffer.
Introduce a new field `codeblock_t::dropped_bytes` that the assembler
sets whenever it runs out of space. Check this field in
gen_single_block() to respond to out of memory situations and other
error conditions. This design avoids making the control flow graph of
existing code generation functions more complex.
Use POSIX shell in misc/test_yjit_asm.sh since bash is expanding
`0%/*/*` differently.
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/5209
|
|
Notes:
Merged-By: jhawthorn <john@hawthorn.email>
|
|
This block of code already wraps file operations with
`SharedHelpers.filesystem_access`, which rescues and re-raises more
friendly errors. Also, I'm not fully sure creating a temporary directory
can end up raising an `Errno::EACCES` error from reading `tmpdir`
sources. Finally, this rescue block apparently leads to some false
positives when firewall is blocking the ruby executable on Windows, or
at least that's what we've got reported.
In any case, I think it's best to let the original error be raised.
https://github.com/rubygems/rubygems/commit/f7dbe54404
|
|
On Rails we're seeing a lot of exits for ivars in the Active Record
tests. In trying to track them down it was hard to find what code is
exiting.
This change adds a counted exit for when an object is "megamorphic". In
these cases there are too many specializations in the Ruby code so YJIT
exits.
Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org
Notes:
Merged: https://github.com/ruby/ruby/pull/5197
|
|
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
Refactor function names for consistency. Function with name xyz_page
should have a corresponding function named xyz_plane.
Notes:
Merged: https://github.com/ruby/ruby/pull/5204
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5091
Merged-By: nobu <nobu@ruby-lang.org>
|
|
* Adding links to literals and Kernel
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
The test was taking 10 seconds on my machine and did timeout
on CI once.
Notes:
Merged: https://github.com/ruby/ruby/pull/5205
|
|
https://github.com/rubygems/rubygems/commit/06b4a7994d
|
|
Since we no longer have multiple global sources, each top level dependency is
always pinned to a single source, so it makes little sense to talk about
adding or removing a source. Instead, source changes always mean to
change the source one or more dependencies are pinned to. This logic can
now be much simpler.
https://github.com/rubygems/rubygems/commit/f1d33fa0df
|
|
We have two representations of a source. Once used for sorting, which
should not depend on the source's state, but solely on its static
information, like remotes. Another one used for error and informational
messages, which should properly inform about the exact state of the
source when the message is printed.
This commit makes the latter be the default implementation of `to_s`, so
that error and informational messages are more accurate by default.
https://github.com/rubygems/rubygems/commit/b5f2b88957
|
|
Otherwise we hide some useful message about dependency source changes.
https://github.com/rubygems/rubygems/commit/c926673c5b
|
|
https://github.com/rubygems/rubygems/commit/6f1b5f68de
|
|
Somehow this is trying to relax frozen mode constraints for path
sources. It doesn't make sense to me and it's not covered by any spec so
I'm killing it.
https://github.com/rubygems/rubygems/commit/17c978e161
|
|
It makes the code more consistent with the above line.
https://github.com/rubygems/rubygems/commit/f28d05a548
|
|
https://github.com/rubygems/rubygems/commit/11193be3f1
|
|
https://github.com/rubygems/rubygems/commit/d047b8935d
|
|
|
|
|
|
|
|
* Lazily create singletons on instance_{exec,eval}
Previously when instance_exec or instance_eval was called on an object,
that object would be given a singleton class so that method
definitions inside the block would be added to the object rather than
its class.
This commit aims to improve performance by delaying the creation of the
singleton class unless/until one is needed for method definition. Most
of the time instance_eval is used without any method definition.
This was implemented by adding a flag to the cref indicating that it
represents a singleton of the object rather than a class itself. In this
case CREF_CLASS returns the object's existing class, but in cases that
we are defining a method (either via definemethod or
VM_SPECIAL_OBJECT_CBASE which is used for undef and alias).
This also happens to fix what I believe is a bug. Previously
instance_eval behaved differently with regards to constant access for
true/false/nil than for all other objects. I don't think this was
intentional.
String::Foo = "foo"
"".instance_eval("Foo") # => "foo"
Integer::Foo = "foo"
123.instance_eval("Foo") # => "foo"
TrueClass::Foo = "foo"
true.instance_eval("Foo") # NameError: uninitialized constant Foo
This also slightly changes the error message when trying to define a method
through instance_eval on an object which can't have a singleton class.
Before:
$ ruby -e '123.instance_eval { def foo; end }'
-e:1:in `block in <main>': no class/module to add method (TypeError)
After:
$ ./ruby -e '123.instance_eval { def foo; end }'
-e:1:in `block in <main>': can't define singleton (TypeError)
IMO this error is a small improvement on the original and better matches
the (both old and new) message when definging a method using `def self.`
$ ruby -e '123.instance_eval{ def self.foo; end }'
-e:1:in `block in <main>': can't define singleton (TypeError)
Co-authored-by: Matthew Draper <matthew@trebex.net>
* Remove "under" argument from yield_under
* Move CREF_SINGLETON_SET into vm_cref_new
* Simplify vm_get_const_base
* Fix leaf VM_SPECIAL_OBJECT_CONST_BASE
Co-authored-by: Matthew Draper <matthew@trebex.net>
Notes:
Merged-By: jhawthorn <john@hawthorn.email>
|
|
recommended section.
https://github.com/rubygems/rubygems/commit/de6552ac30
|
|
ObjectSpace.trace_object_allocations can crash when auto-compaction is
enabled.
Notes:
Merged: https://github.com/ruby/ruby/pull/5202
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5203
Merged-By: XrXr
|
|
Use in_keyword_case_scope?
Return fast
https://github.com/ruby/irb/commit/8acc7f8dc7
|
|
I pushed reline#389 for when convert-meta is not turned on in .inputrc.
Alt+D in irb also needs to be set to the keycode for not using convert-meta.
https://github.com/ruby/irb/commit/328eddf851
|
|
Fix bug infinite loop when pasting multilines fo code in Ruby 2.6.
This is not reproduced in Ruby 2.7.
Changes added in https://github.com/ruby/irb/pull/242/files#diff-612b926e42ed78aed1a889ac1944f7d22229b3a489cc08f837a7f75eca3d3399R155 are also reflected in Ruby 2.6.
https://github.com/ruby/irb/commit/0a77f75bf0
|
|
Checked in the previous line.
https://github.com/ruby/reline/commit/bf774c0f2c
|
|
|
|
References are being updated correctly, so this is no longer necessary
Notes:
Merged: https://github.com/ruby/ruby/pull/5198
|
|
https://github.com/ruby/reline/commit/c07b0ace6a
|
|
fix https://github.com/ruby/reline/issues/384
If `$TERM` is `vt102`, there are no `kend`, `khome`, `civis`, or `cnorm` in capabilities.
`TerminfoError` is raised in `Reline::Terminfo.tigetstr(capname)`, so it is rescued if it does not exist.
https://github.com/ruby/reline/commit/c9f5112702
|
|
Cache downloaded external libraries/gems, which are expected not
changed so frequently.
Also sometimes downloading from zlib returns the current time as
the date header in unexpected format, and checksums mismatch at
that time.
Notes:
Merged: https://github.com/ruby/ruby/pull/5201
Merged-By: nobu <nobu@ruby-lang.org>
|
|
|