| Age | Commit message (Collapse) | Author |
|
This commit adds a check for T_NONE in rb_gc_mark_weak, just like
gc_mark_ptr. This will help debugging.
|
|
|
|
- Signal names can be symbols, as stated above.
- Supported signals and those values are platform dependent.
- Key sequences to send signal are configurable.
- Fix description of signal 0.
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
Notes:
Merged: https://github.com/ruby/ruby/pull/8367
Merged-By: nobu <nobu@ruby-lang.org>
|
|
```
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:16: warning: ambiguous first argument; put parentheses or a space even after `+' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:17: warning: ambiguous first argument; put parentheses or a space even after `-' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:28: warning: ambiguous first argument; put parentheses or a space even after `+' operator
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/yarp/compiler_test.rb:29: warning: ambiguous first argument; put parentheses or a space even after `-' operator
```
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230905T063003Z.log.html.gz
|
|
```
[ 3463/25719] JSONGeneratorTest#test_string_ext_included_calls_super/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/json/json_generator_test.rb:411: warning: method redefined; discarding old included
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/json/json_generator_test.rb:399: warning: previous definition of included was here
```
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230905T063003Z.log.html.gz
|
|
https://github.com/flori/json/commit/7f9c29038d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8360
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
https://github.com/ruby/rdoc/commit/0d10f460eb
|
|
https://github.com/ruby/rdoc/commit/a61b777df0
|
|
not mentioned in call-seq
This allows RDoc to better generate documentation for methods
following the Ruby core documentation guide (which omits aliases
in call-seq in most cases). This makes documentation for methods
defined in C more similar to methods defined in Ruby. For methods
defined in Ruby, the method description of the aliased method is
already not used (you have to explicitly document the alias to
use it).
Internally, this adds AnyMethod#has_call_seq? and #skip_description?,
and updates Darkfish to:
* only show the method name if there is a call-seq for the method,
but the call-seq omits the method
* to omit the method description if the method is an alias or has
aliases and has a call-seq that does not include the method
See discussion in https://github.com/ruby/ruby/pull/7316 for
details.
https://github.com/ruby/rdoc/commit/e3688de49b
|
|
https://github.com/ruby/rdoc/commit/ed91c4b784
|
|
This test sometimes fails with:
```
1) Failure:
TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2751]:
<0> expected but was
<1>.
```
I'm not sure why, so add some debug info.
|
|
|
|
|
|
This reverts commit 7e0f5df2f99693267d61636d23da47f79924e9d5.
https://bugs.ruby-lang.org/issues/19857#note-7
|
|
We don't need to remove the write-barrier protected status after
splicing an array. We can simply add it to the rememberset for marking
during the next GC.
The benchmark illustrates the performance impact on minor GC:
```
require "benchmark"
arys = 1_000_000.times.map do
ary = Array.new(50)
ary.insert(1, 3)
ary
end
4.times { GC.start }
puts(Benchmark.measure do
1000.times do
GC.start(full_mark: false)
end
end)
```
This branch:
```
1.309910 0.004342 1.314252 ( 1.314580)
```
Master branch:
```
54.376091 0.219037 54.595128 ( 54.742996)
```
Notes:
Merged: https://github.com/ruby/ruby/pull/8350
|
|
`c-call` and `c-return events no longer pass the nearest Ruby method
binding.
Notes:
Merged: https://github.com/ruby/ruby/pull/8364
|
|
- Clarify the class of event parameters
- Represent event names as strings
- Update the example to show the above
Notes:
Merged: https://github.com/ruby/ruby/pull/8364
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8364
|
|
* Add failing test.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8361
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8359
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8357
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8356
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
https://github.com/ruby/yarp/commit/1ce1817e84
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
because the previous commit did not fix it.
https://github.com/ruby/ruby/actions/runs/6054915979/job/16433070185#step:9:155
https://github.com/ruby/yarp/commit/8c9e4c1f15
|
|
https://github.com/ruby/yarp/commit/885d731cf5
|
|
Previously we used the next character following the found prefix to
determine if the match ended on a broken character.
This had caused surprising behaviour when a valid character was followed
by a UTF-8 continuation byte.
This commit changes the behaviour to instead look for the end of the
last character in the prefix.
[Bug #19784]
Co-authored-by: ywenc <ywenc@github.com>
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/8348
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8348
|
|
https://github.com/ruby/yarp/commit/ef14ae66e4
|
|
that do not exist in the ruby/ruby side.
This resurrects a line that had existed prior to #8329.
|
|
https://github.com/ruby/yarp/commit/b48067b067
|
|
The test sometimes fails with:
```
1) Failure:
TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2749]:
<0> expected but was
<1>.
```
I think there's a page with an object that needs finalization, so run
GC to clear that object.
|
|
Notes:
Merged-By: jemmaissroff
|
|
https://github.com/ruby/yarp/commit/e4af2b3bc2
|
|
https://github.com/ruby/yarp/commit/bd7fc2c946
|
|
https://github.com/ruby/yarp/commit/bd0b421504
|
|
|
|
https://github.com/ruby/yarp/commit/b6164a76d9
|
|
The test sometimes fails with:
```
1) Failure:
TestProcess#test_warmup_run_major_gc_and_compact [test/ruby/test_process.rb:2712]:
<2> expected but was
<3>.
```
|
|
Notes:
Merged-By: jemmaissroff
|
|
code
(https://github.com/ruby/yarp/pull/1380)
This commit adds the node type and the node flags as comments to
the AST templated code.
https://github.com/ruby/yarp/commit/f603f2037c
|
|
Closes https://github.com/ruby/yarp/pull/1367
https://github.com/ruby/yarp/commit/b1ab54f526
|
|
Essentially, this change updates `yp_unescape_calculate_difference` to
not create syntax errors, and we rely entirely on
`yp_unescape_manipulate_string` to report syntax errors.
To do that, this PR adds another (!) parameter to `unescape`:
`yp_list_t *error_list`. When present, `unescape` reports syntax
errors (and otherwise does not).
However, an edge case that needed to be addressed is reporting syntax
errors in this case:
?\u{1234 2345}
In a string context, it's possible to have multiple codepoints by
doing something like `"\u{1234 2345}"`; however, in the character
literal context, this is a syntax error -- only a single codepoint is
allowed.
Unfortunately, when `yp_unescape_manipulate_string` is called, there's
nothing to indicate that we are in a "character literal" context and
that only a single codepoint is valid.
To make this work, this PR:
- introduces a new static utility function in yarp.c,
`yp_char_literal_node_create_and_unescape`, which is called when
we're parsing `YP_TOKEN_CHARACTER_LITERAL`
- introduces a new (unexported) function,
`yp_unescape_manipulate_char_literal` which does the same thing as
`yp_unescape_manipulate_string` but tells `unescape` that only a
single codepoint is expected
https://github.com/ruby/yarp/commit/f6a65840b5
|
|
We move all pooled pages to free pages at the start of incremental
marking, so we shouldn't run incremental marking only when we have run
out of free pages. This causes incremental marking to always complete
in a single step.
Notes:
Merged: https://github.com/ruby/ruby/pull/8230
|
|
Prior to this commit, we were incorrectly popping callers and receivers
on CallNodes. We shouldn't pop any of these as they might have
side effects.
Notes:
Merged-By: jemmaissroff
|