| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
(https://github.com/ruby/net-http/pull/83)
https://github.com/ruby/net-http/commit/1ea5004098
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the frozen check happened on `RCLASS_ORIGIN(self)`, which
can return an iclass. The frozen check is supposed to respond to objects
that users can call methods on while iclasses are hidden from users.
Other mutation methods like Module#{define_method,alias_method,public}
don't do this. Check frozen status on the module itself.
Fixes [Bug #19164] and [Bug #19166].
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* YJIT: Reorder branches for Fixnum opt_case_dispatch
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
* YJIT: Don't support too large values
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix 32 and 16 bit register store in YJIT
Co-Authored-By: Takashi Kokubun <takashikkbn@gmail.com>
* Remove an unnecessary diff
* Reuse an rm_num_bits result
* Use u16::MAX instead
* Update the link
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* Just use sturh for 16 bits
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
|
|
|
|
|
|
| |
The MarkDown parser in RDoc requires 4 columns indentation for
paragraphs following list items. Otherwise, the following paragraphs
are not interpreted as the part of the preceeding list item,
|
| |
|
| |
|
|
|
|
| |
https://github.com/ruby/delegate/commit/2a91436284
|
| |
|
|
|
|
|
| |
Technically we shouldn't see Qfalse now, but RTEST also compiles down to
just one branch anyways. Pretty contrived issue, but easy to fix.
|
|
|
|
|
|
|
|
|
| |
rb_class_superclass
struct_ivar_get recently started using rb_class_superclass to
resolve super instead of RCLASS_SUPER. This change made
Qnil a possible case we need to return from within the
struct_ivar_get for loop.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Calling `String#scan` without a block creates an incomplete MatchData
object whose `RMATCH(match)->str` is Qfalse. Usually this object is not
leaked, but it was possible to pull it by using ObjectSpace.each_object.
This change hides the internal MatchData object by using rb_obj_hide.
Fixes [Bug #19159]
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/e1679fa7e4
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/fe0159de2f
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/0b9dde5ab4
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we essentially never freed block even after invalidation.
Their reference count never reached zero for a couple of reasons:
1. `Branch::block` formed a cycle with the block holding the branch
2. Strong count on a branch that has ever contained a stub never
reached 0 because we increment the `.clone()` call for
`BranchRef::into_raw()` didn't have a matching decrement.
It's not safe to immediately deallocate blocks during
invalidation since `branch_stub_hit()` can end up
running with a branch pointer from an invalidated branch.
To plug the leaks, we wait until code GC or global invalidation and
deallocate the blocks for iseqs that are definitely not running.
|
|
|
|
|
|
| |
When we run global invalidation for TracePoints or code GC, we clear out
all blocks in our assumptions table but we don't deallocate the backing
buffers. Let's reclaim some memory during these rare events.
|
|
|
|
|
|
| |
HashSet::clear() doesn't deallocate the backing buffer and shrink the
capacity. Replace with a 0-capcity set instead so we reclaim some memory
each code GC.
|
| |
|
|
|
|
| |
https://github.com/ruby/irb/commit/e0ec5e1bd8
|
|
|
|
| |
https://github.com/ruby/un/commit/b08aeb9c48
|
| |
|
|
|
|
| |
It seems to slow down optcarrot. I'll revisit this later.
|
|
|
|
| |
There's no mjit_compile.inc, so no need to use this prefix anymore.
|
|
|
|
| |
The distinction doesn't make much difference today.
|
|
|
|
| |
It's no longer about the compiler logic itself.
|
|
|
|
|
|
| |
(https://github.com/ruby/irb/pull/461)
https://github.com/ruby/irb/commit/367797bb05
|
| |
|
|
|
|
|
|
|
|
|
| |
```
$ ruby tool/sync_default_gems.rb syntax_suggest
Sync ruby/syntax_suggest
```
https://github.com/ruby/syntax_suggest/pull/161
|
| |
|
| |
|
|
|
|
| |
builtin seems to be not handling this correctly.
|
| |
|
| |
|
| |
|
|
|
|
| |
Extract new gems then remove outdated gem directories.
|
| |
|
| |
|