Commit graph

74871 commits

Author SHA1 Message Date
Nobuyoshi Nakada
c87b3ee671 [ruby/rdoc] Use Tempfile
0b9dde5ab4
2022-12-01 02:36:20 +09:00
Nobuyoshi Nakada
d752cf7601 Use class methods of File over Kernel.open and IO.read 2022-12-01 02:28:49 +09:00
Alan Wu
a0b0365e90 YJIT: Deallocate struct Block to plug memory leaks
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.
2022-11-30 12:23:50 -05:00
Alan Wu
b30248f74a YJIT: Deallocate when assumptions tables are empty
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.
2022-11-30 12:23:50 -05:00
Alan Wu
03f1e6a2aa YJIT: Fix IseqPayload::pages memory bloat
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.
2022-11-30 12:23:50 -05:00
Nobuyoshi Nakada
817193104d
Enable to dispatch Code scanning [ci skip] 2022-11-30 20:03:54 +09:00
Nobuyoshi Nakada
d532d27507 [ruby/irb] Use class methods of File over Kernel.open
e0ec5e1bd8
2022-11-30 10:18:57 +00:00
Nobuyoshi Nakada
cf3b305c43 [ruby/un] wait_writable: close opened file
b08aeb9c48
2022-11-30 10:09:17 +00:00
Hiroshi SHIBATA
c8bfbbc25e
Removed documentation for incomplete option about [Feature #17134] 2022-11-30 17:20:38 +09:00
Takashi Kokubun
d0c0d7fa5b MJIT: Revert FL_EXIVAR check optimization
It seems to slow down optcarrot. I'll revisit this later.
2022-11-29 22:35:26 -08:00
Takashi Kokubun
a1d70f5b12 MJIT: Rename mjit_compile_attr to mjit_sp_inc
There's no mjit_compile.inc, so no need to use this prefix anymore.
2022-11-29 21:45:34 -08:00
Takashi Kokubun
7a2b1364ef MJIT: Merge mjit_unit.h into mjit_c.h
The distinction doesn't make much difference today.
2022-11-29 21:34:46 -08:00
Takashi Kokubun
ecc15bc94a MJIT: Rename mjit_compiler.c to mjit_c.c
It's no longer about the compiler logic itself.
2022-11-29 21:26:59 -08:00
Takashi Kokubun
9a84971315 [ruby/irb] Make sure ls doesn't return an array
(https://github.com/ruby/irb/pull/461)

367797bb05
2022-11-30 04:52:33 +00:00
git
062c5a9e6b Update default gems list at d6e91784ab [ci skip] 2022-11-30 03:59:46 +00:00
schneems
d6e91784ab Update SyntaxSuggest to use angle brackets >
```
$ ruby tool/sync_default_gems.rb syntax_suggest
Sync ruby/syntax_suggest
```

https://github.com/ruby/syntax_suggest/pull/161
2022-11-30 12:58:47 +09:00
Yusuke Endoh
33a9a7fd8d Mention Exception#detailed_message in NEWS.md 2022-11-30 11:35:44 +09:00
Yusuke Endoh
4e13f5b579 Mention Regexp.timeout= in NEWS.md 2022-11-30 11:34:02 +09:00
Takashi Kokubun
bbed2269bc Fix unused variable warnings
builtin seems to be not handling this correctly.
2022-11-29 12:46:26 -08:00
Takashi Kokubun
3e4d1a1dd1
YJIT: Skip checking interrupt_mask (#6825) 2022-11-29 10:09:32 -05:00
yui-knk
67ae3e9738 Add a test case for argument forwarding 2022-11-29 18:23:00 +09:00
Nobuyoshi Nakada
ed4b5c4f21
Extract outdate-bundled-gems.rb 2022-11-29 18:12:43 +09:00
Nobuyoshi Nakada
8e3ac264df
Fix dependencies of outdate-bundled-gems
Extract new gems then remove outdated gem directories.
2022-11-29 18:12:43 +09:00
Nobuyoshi Nakada
aacaa2ec5e
Refine outdate-bundled-gems 2022-11-29 18:12:43 +09:00
Takashi Kokubun
f19deef323 MJIT: Move Primitive helpers to mjit_c.rb 2022-11-29 00:47:25 -08:00
Takashi Kokubun
27f34eeb5a MJIT: Self-contain extern declarations
I'm trying to get rid of mjit_compiler.c, and this helps that migration.
2022-11-29 00:23:51 -08:00
Takashi Kokubun
8a0acbea4c MJIT: Refactor CDHASH handling
Converting a CDHASH into a safe Hash is a lot of work, but retrieving
just values is much easier.
2022-11-29 00:12:33 -08:00
Takashi Kokubun
44165df121 MJIT: Cache an ISeq pointer instance
to obviate one rb_funcall. This also removes rb_ptr as refactoring.
2022-11-28 23:53:33 -08:00
Takashi Kokubun
2329cbeb5b MJIT: Merge exivar guards as well
obviating status->merge_ivar_guards_p as refactoring
2022-11-28 23:32:27 -08:00
Takashi Kokubun
322e546f60 MJIT: Remove an unused field
This has not been used since recent shape-related changes.
2022-11-28 22:46:20 -08:00
yui-knk
8be62f06c8 Remove ruby2_keywords related to args forwarding
This was introduced by b609bdeb53
to suppress warnings. However these warngins were deleted by
beae6cbf0f. Therefore these codes
are not needed anymore.
2022-11-29 15:39:56 +09:00
Takashi Kokubun
bb6f933d51 MJIT: Get rid of is_entries copy
MJIT worker no longer exists, so we don't need this safeguard anymore.
2022-11-28 22:03:16 -08:00
Takashi Kokubun
9c13fc614c
MJIT: Make it parsable by Solargraph (#6827)
* Revert "Revert "MJIT: Make it parsable by Solargraph""

This reverts commit 8e18761da1.

* Call rb_gc_register_mark_object
2022-11-28 21:33:55 -08:00
Takashi Kokubun
acb76663ba MJIT: Rename mjit_compiler.h to mjit_c.h
because it exists primarily for generating mjit_c.rb.
2022-11-28 21:23:14 -08:00
Shugo Maeda
74bdf09215
Add tests for [Feature #19134]
https://bugs.ruby-lang.org/issues/19134?next_issue_id=19133&prev_issue_id=19135#note-4
2022-11-29 14:18:16 +09:00
git
4db429d211 Update default gems list at 4f8c6711dd [ci skip] 2022-11-29 04:59:09 +00:00
Takashi Kokubun
4f8c6711dd [ruby/erb] Version 4.0.2
8c8ff1551b
2022-11-29 04:58:29 +00:00
Takashi Kokubun
129d208f9a [ruby/erb] Fix line numbers after multi-line <%#
(https://github.com/ruby/erb/pull/42)

526885923e
2022-11-29 04:56:03 +00:00
Shugo Maeda
b5726892d0 Use rbs HEAD for [Feature #19134] 2022-11-29 11:22:09 +09:00
Shugo Maeda
a0e4dc52b0 Use idFWD_* instead of ANON_*_ID 2022-11-29 11:22:09 +09:00
Shugo Maeda
4fc668a4f3 Allow ** in def foo(...)
[Feature #19134]
2022-11-29 11:22:09 +09:00
Burdette Lamar
ee49fe5d34 [ruby/net-http] Enhanced RDoc for header Range
(https://github.com/ruby/net-http/pull/82)

a26f62a2e5
2022-11-28 23:33:15 +00:00
moenodedev
579c8cb01c [rubygems/rubygems] Remove pointer to RVM documentation
7467019d87
2022-11-28 23:20:59 +00:00
Maxime Chevalier-Boisvert
8a74361b41
Update yjit.md to mention RUBY_YJIT_ENABLE 2022-11-28 16:45:42 -05:00
git
612b528c8a Update default gems list at d13de3a62e [ci skip] 2022-11-28 18:45:17 +00:00
Takashi Kokubun
d13de3a62e [ruby/irb] Version 1.5.1
f9507923fa
2022-11-28 18:44:36 +00:00
Takashi Kokubun
c5279db75f [ruby/irb] Fix the debug.gem force-loader for Ruby 3.2
(https://github.com/ruby/irb/pull/458)

* Fix the debug.gem force-loader for Ruby 3.2

* Support 1.7.0dev format as well
2022-11-28 18:42:59 +00:00
Yusuke Endoh
f3ad68dd16 [ruby/optparse] Fix the test failure i ruby/ruby
```
$ make test-all TESTS=test/optparse/
...

[148/178] TestOptionParserDidYouMean#test_raise_unknown = 0.00 s
  1) Failure:
TestOptionParserDidYouMean#test_raise_unknown [/home/mame/work/ruby/test/optparse/test_optparse.rb:106]:
<["--bar"]> expected but was
<[]>.
```

In the old test/unit (bundled in ruby/ruby), when a test class inherits from
another test class, the child class runs all the tests defined in the parent
class.
However, it looks like the new test/unit does not do so. This is because the
test failure does not occur in ruby/optparse.

As a tentative solution, this changes the option names in TestOptionParser to
avoid the name conflict with TestOptionParserDidYouMean.

fee86ef7a4
2022-11-28 16:20:40 +00:00
Nobuyoshi Nakada
b649850d4a
Force to update revision.h after the source updated [ci skip] 2022-11-28 23:36:58 +09:00
Nobuyoshi Nakada
0bfb185654 [ruby/optparse] Add raise_unknown flag
(https://github.com/ruby/optparse/pull/38)

12529653cd
2022-11-28 14:24:06 +00:00