aycabta
28e9344fa4
[ruby/irb] Change StdioInputMethod#eof? to non-blocking
...
This fixes --inf-ruby-mode.
0e4a818955
2020-12-23 22:08:30 +09:00
aycabta
129ecb43e5
[ruby/irb] Fix error_message for assert_dynamic_prompt
...
b12dfb6298
2020-12-23 21:26:25 +09:00
aycabta
31bd172185
[ruby/irb] Suppress "shadowing outer" warning
...
8b83fbef69
2020-12-23 21:26:25 +09:00
Hiroshi SHIBATA
684649ea05
[ruby/psych] Bump version to 3.3.0
...
0abce07b90
2020-12-23 19:53:21 +09:00
Hiroshi SHIBATA
8259d88938
[ruby/psych] Skip test_ractor.rb with ruby/psych repo
...
Because ruby/psych still uses minitest. minitest didn't support
assert_ractor provided by test suite of ruby/ruby repo.
7da26358f1
2020-12-23 19:45:54 +09:00
Kenta Murata
aad88cc10b
[ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old Ruby
...
9f3e90ad10
2020-12-23 18:32:24 +09:00
Kenta Murata
aa856d5077
[ruby/date] Fix envutil for old Ruby
...
57e25c406a
2020-12-23 18:19:26 +09:00
Nobuyoshi Nakada
313d63c2ac
Use rb_init_identtable instead of direct use of rb_hashtype_ident
2020-12-23 18:06:27 +09:00
Koichi Sasada
e052d07163
Revert "need to clear blocking cnt at fork (child process)"
...
This reverts commit 0dd4896175
.
It breaks the tests on RUBY_DEBUG=1.
2020-12-23 16:55:36 +09:00
Takashi Kokubun
81a8d1cf09
Skip checking ROBJECT_EMBED
...
when we already check ROBJECT_NUMIV(self) is larger than
ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
of instance variables for the same object doesn't decrease.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml
before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969
) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux]
last_commit=Skip checking ROBJECT_EMBED
Calculating -------------------------------------
before --jit after --jit
Optcarrot 3000 frames 102.34091772397872 102.77738408379015 fps
103.37784821624231 105.46530219076179
104.39567016876369 106.43712452152215
105.31782092252713 106.54986150067481
```
2020-12-22 23:50:43 -08:00
Takashi Kokubun
dbb4f19969
Allow inlining Integer#-@ and #~
...
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)'
before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175
) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux]
last_commit=Allow inlining Integer#-@ and #~
Calculating -------------------------------------
before --jit after --jit
mjit_comp(1) 44.006M 70.417M i/s - 40.000M times in 0.908967s 0.568042s
mjit_uminus(1) 44.333M 68.422M i/s - 40.000M times in 0.902255s 0.584603s
Comparison:
mjit_comp(1)
after --jit: 70417331.4 i/s
before --jit: 44005980.4 i/s - 1.60x slower
mjit_uminus(1)
after --jit: 68422468.8 i/s
before --jit: 44333371.0 i/s - 1.54x slower
```
2020-12-22 22:32:19 -08:00
Marc-Andre Lafortune
daec109f42
[ruby/psych] Optimize cache with compare_by_identity
...
Using `compare_by_identity` gives a 4x performance boost on cache hits.
Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189
2020-12-23 01:08:38 -05:00
Marc-Andre Lafortune
c5a445d577
[ruby/psych] Make Ractor-ready.
...
Config is Ractor-local.
Benchmarking reveals that using `Ractor.local_storage` for storing cache
is similar to accessing a constant (~15% slower).
2020-12-23 01:08:38 -05:00
Marc-Andre Lafortune
3ee0ad9190
[ruby/psych] Don't use instance variables directly for config
2020-12-23 01:08:38 -05:00
Marc-Andre Lafortune
d1963adae8
[ruby/psych] Avoid methods depending on bindings
...
Improves Ractor-readiness.
2020-12-23 01:08:38 -05:00
Marc-Andre Lafortune
0eb94dae4a
[ruby/psych] Freeze constants.
...
Improves Ractor-readiness.
2020-12-23 01:08:38 -05:00
Koichi Sasada
0dd4896175
need to clear blocking cnt at fork (child process)
2020-12-23 14:41:44 +09:00
Hiroshi SHIBATA
5cf25c55a6
Update version for Ractor-safe extensions
2020-12-23 14:03:54 +09:00
Hiroshi SHIBATA
61bd28b836
[ruby/date] Workaround for non-ruby repository like ruby/date, flori/json
...
1ff7fa2d80
2020-12-23 13:53:40 +09:00
Nobuyoshi Nakada
8a1e12499b
Ensure non-literal expressions shareable if leteral
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
c0a2d95cf3
Update rb_ractor_ensure_shareable
...
* Fixed use of rb_ractor_shareable_p
* Raise Ractor::IsolationError
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
b2aa21b868
Split the test
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
d1c7db9d00
Added assertions
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
0c450b8647
begin ... end
is not a literal
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
e70206f570
Added dedicated helper methods
2020-12-23 13:50:42 +09:00
Nobuyoshi Nakada
7a094146e6
Changed shareable literal semantics [Feature #17397 ]
...
When `literal`, check if the literal about to be assigned to a
constant is ractor-shareable, otherwise raise `Ractor::Error` at
runtime instead of `SyntaxError`.
2020-12-23 13:50:42 +09:00
Hiroshi SHIBATA
f14aaa2b12
Guard < Ruby 3.0 for the repositories of default gems.
2020-12-23 13:44:47 +09:00
Koichi Sasada
7e44ade565
ruby_single_main_ractor should be clear before warn
...
rb_warn can produce T_HASA object and it should not use
transient heap.
2020-12-23 13:39:48 +09:00
Marc-Andre Lafortune
02233ed024
Adapt tool/search-cgvars.rb for MacOS
2020-12-22 22:25:41 -05:00
Marc-Andre Lafortune
3df3b47187
Add tool/search-cgvars.rb, thanks @ko1
2020-12-22 22:25:41 -05:00
Kazuhiro NISHIYAMA
082114da05
[DOC] Add doc to sharing_detection= [ci skip]
...
Before:
```
$ ri sharing_detection=
= .sharing_detection=
(from ruby core)
=== Implementation from PP
------------------------------------------------------------------------
sharing_detection=(b)
------------------------------------------------------------------------
Returns the sharing detection flag as a boolean value. It is false by
default.
```
After:
```
$ ri sharing_detection=
= .sharing_detection=
(from ruby core)
=== Implementation from PP
------------------------------------------------------------------------
sharing_detection=(b)
------------------------------------------------------------------------
Sets the sharing detection flag to b.
```
2020-12-23 11:13:50 +09:00
Hiroshi SHIBATA
339227363c
Merge RubyGems 3.2.3 and Bundler 2.2.3
2020-12-23 10:17:41 +09:00
Nobuyoshi Nakada
733ed1e184
ripper: fix bad label parameter handling [Bug #17425 ]
2020-12-23 09:56:35 +09:00
Marc-Andre Lafortune
cd63f0358f
[ruby/etc] Make Ractor safe
2020-12-22 19:46:07 -05:00
Marc-Andre Lafortune
3286380ebc
[ruby/etc] Refactor locks using mutex API
2020-12-22 19:46:07 -05:00
Kenta Murata
9636d14f6f
[memory_view] Acquire VM lock while running exported_object_registry_free
...
exported_object_registry is freed at exit, so this change is just in case.
2020-12-23 09:24:55 +09:00
Kenta Murata
01ab29cc28
[memory_view] Make some rb_memroy_view_t members const
2020-12-23 09:24:55 +09:00
Kenta Murata
db0385d657
[memory_view] Remove needless use of StringValueCStr
2020-12-23 09:24:54 +09:00
Kenta Murata
b3ea828c8e
[memory_view] Add mdview_release_view for test
2020-12-23 09:24:54 +09:00
Kenta Murata
74652e640a
[memory_view][fiddle] Rename len to byte_size in rb_memory_view_t
2020-12-23 09:24:53 +09:00
Kenta Murata
05014dcb88
[memory_view][fiddle] Use bool for boolean return value
2020-12-23 09:05:07 +09:00
Marcus Stollsteimer
74a3569b59
NEWS: fix typos and grammar
2020-12-22 23:20:14 +01:00
aycabta
841d22ea47
[ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly
...
Co-authored-by: manga_osyo <manga.osyo@gmail.com>
Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>
c59a9be82f
a7922da16b
2020-12-23 06:06:07 +09:00
Takeru Naito
be5faa2519
[ruby/irb] Make it possible to use measure even if it is installed as gem
...
Include the file that implements this command in the irb gem.
Co-Authored-By: scivola <scivola@users.noreply.github.com>
d8dfea5b57
2020-12-23 06:06:07 +09:00
Sutou Kouhei
32849dc1bb
fiddle: Update to 1.0.5
2020-12-23 05:49:52 +09:00
Marc-Andre Lafortune
228fa3ac6e
NEWS: Mention deprecation warnings not being shown by default
2020-12-22 13:48:13 -05:00
Marc-Andre Lafortune
fd745cc92c
NEWS: group keyword arguments related items together
2020-12-22 13:48:13 -05:00
Marc-Andre Lafortune
5a6d27fe22
NEWS: combine $SAFE and $KCODE, move lower
2020-12-22 13:48:13 -05:00
Marc-Andre Lafortune
1bd7427f29
NEWS: move error handling at end of section
2020-12-22 13:48:13 -05:00
Delton Ding
f1591b3858
Add verbose nil in testing
2020-12-23 03:27:14 +09:00