| Age | Commit message (Collapse) | Author |
|
Popped was slightly inaccurate for ConstantNodes and leading to issues
if there was content after a ConstantNode. This fix doesn't pop
any ConstantWriteNode values.
Notes:
Merged-By: jemmaissroff
|
|
If we are in a minor GC and the object to mark is old, then the old
object should already be marked and cannot be reclaimed in this GC cycle
so we don't need to add it to the weak refences list.
Notes:
Merged: https://github.com/ruby/ruby/pull/8304
|
|
https://github.com/ruby/yarp/commit/7b090bc23d
|
|
* Consistent with ClassVariableWriteNode, ConstantWriteNode, InstanceVariableWriteNode, GlobalVariableWriteNode.
* Fixes desugaring of local variable with operators.
https://github.com/ruby/yarp/commit/9a66737775
|
|
* Consistent with ClassVariableWriteNode, ConstantWriteNode, InstanceVariableWriteNode, LocalVariableWriteNode.
* Fixes desugaring of global variable with operators.
https://github.com/ruby/yarp/commit/fb5a53fc0b
|
|
without a temporary variable
* See https://github.com/ruby/yarp/pull/1329#discussion_r1310775433 for details.
https://github.com/ruby/yarp/commit/f0fdcba0c3
|
|
https://github.com/ruby/yarp/commit/a39147736e
|
|
https://github.com/rubygems/rubygems/commit/98da5b9826
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8349
|
|
Use `COMPILE_OPTION_DEFAULT` if nothing to change.
Notes:
Merged: https://github.com/ruby/ruby/pull/8349
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8349
|
|
call
Allow compstmt in the first argument of command call wrapped with parenthesis
like following arguments with parenthesis.
Notes:
Merged: https://github.com/ruby/ruby/pull/8347
|
|
file
(https://github.com/ruby/yarp/pull/1371)
* refactor: move EOF check into yp_unescape_calculate_difference
parser_lex is a bit more readable when we can rely on that behavior
* fix: octal and hex digits at the end of a file
Previously this resulted in invalid memory access.
* fix: unicode strings at the end of a file
Previously this resulted in invalid memory access.
* Unterminated curly-bracket unicode is a syntax error
https://github.com/ruby/yarp/commit/21cf11acb5
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8343
|
|
Now that gc_mark_values and rb_gc_mark_values are identical, we should
remove one.
Notes:
Merged: https://github.com/ruby/ruby/pull/8341
|
|
This is an internal only function not exposed to the C extension API.
It's only use so far is from rb_vm_mark, where it's used to mark the
values in the vm->trap_list.cmd array.
There shouldn't be any reason why these cannot move.
This commit allows them to move by updating their references during the
reference updating step of compaction.
To do this we've introduced another internal function
rb_gc_update_values as a partner to rb_gc_mark_values.
This allows us to refactor rb_gc_mark_values to not pin
Notes:
Merged: https://github.com/ruby/ruby/pull/8341
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
https://github.com/ruby/yarp/commit/eb3c6eb928
|
|
Move last node case outside for loop.
Notes:
Merged-By: jemmaissroff
|
|
* [YARP] Implement SourceNodes (File, Line, Encoding)
Notes:
Merged-By: jemmaissroff
|
|
(https://github.com/ruby/irb/pull/704)
1. The newer versions of rdoc requires pysch 4.0+, which could break apps
using Ruby 3.0 or 2.7. #703 has more detailed explanation on this.
2. We actually don't use any version-specific rdoc APIs. So having a version
requirement is not necessary atm.
https://github.com/ruby/irb/commit/3e6ba78c42
|
|
getblockparamproxy for "ifunc" behaves identically to iseq, in just
pushing rb_block_param_proxy.
Notes:
Merged: https://github.com/ruby/ruby/pull/8300
|
|
OpenBSD and Solaris behave differently here.
Linux does deliver the empty packet, which is questionable
as it's undistinguishable from a closed connection.
It seems that OpenBSD and Solaris simply drop it.
We could test the platform before doing the assertion, but
it would likely be fragile, and the entire web recommend
to not ever send an empty packet, so the value of this
assertion is low.
Notes:
Merged: https://github.com/ruby/ruby/pull/8338
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
(https://github.com/ruby/irb/pull/702)
Reline 0.3.8 reduces the chance of having a deadlock with the debugger
while using the new `irb:rdbg` integration.
https://github.com/ruby/irb/commit/9b8c56b7d4
|
|
The old algorithm could calculate an undercount for the initial pages
due to two issues:
1. It did not take into account that some heap pages will have one less
slot due to alignment. It assumed that every heap page would be able
to be fully filled with slots. Pages that are unaligned with the slot
size will lose one slot. The new algorithm assumes that every page
will be unaligned.
2. It performed integer division, which truncates down. This means that
the number of pages might not actually satisfy the number of slots.
This can cause the heap to grow in `gc_sweep_finish_size_pool` after
allocating all of the allocatable pages because the total number of
slots would be less than the initial configured number of slots.
Notes:
Merged: https://github.com/ruby/ruby/pull/8333
|
|
Notes:
Merged-By: peterzhu2118 <peter@peterzhu.ca>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7144
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7144
|
|
https://github.com/ruby/shellwords/commit/b45de514ab
|
|
|
|
Query evaluation ran out of Java heap frequently since CodeQL 2.14.3.
Notes:
Merged: https://github.com/ruby/ruby/pull/8337
|
|
These messages are expected:
- `cat-file -e` at newly added entries.
- `commit --amend` when all changes removed.
Notes:
Merged: https://github.com/ruby/ruby/pull/8329
|
|
Changes to `ext/yarp/extconf.rb` are detected as conflicts now, and
ignored.
Notes:
Merged: https://github.com/ruby/ruby/pull/8329
|
|
The "bundler" directory at the top-level will be removed by more
generic rule for top-level new entries.
Notes:
Merged: https://github.com/ruby/ruby/pull/8329
|
|
- Filter out files to be ignored first, then resolve conflicts.
- Add "added by gem" files, instead of hard-code paths to add.
- Remove gem specific patterns covered by more generic rules.
Notes:
Merged: https://github.com/ruby/ruby/pull/8329
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8329
|
|
This commit changes RUBY_GC_HEAP_INIT_SIZE_{40,80,160,320,640}_SLOTS to
RUBY_GC_HEAP_{0,1,2,3,4}_INIT_SLOTS. This is easier to use because the
user does not need to determine the slot sizes (which can vary between
32 and 64 bit systems). They now just use the heap names
(`GC.stat_heap.keys`).
Notes:
Merged: https://github.com/ruby/ruby/pull/8335
|
|
https://github.com/ruby/yarp/commit/5d9b048971
|
|
* [YARP] Compile ProgramNode as ScopeNode
Notes:
Merged-By: jemmaissroff
|
|
Notes:
Merged-By: jemmaissroff
|
|
* [YARP] Fixed several popped instructions
* [YARP] Correctly compiling class path
Notes:
Merged-By: jemmaissroff
|
|
We don't need to pass in a destination pointer _and_ a write_to_str
boolean flag.
https://github.com/ruby/yarp/commit/347cb29ebb
|
|
Also, a similar test and fix for interpolated regular expressions.
This snippet:
<<-A.g//,
A
/{/, ''\
previously created a regular expression node with inverted start and
end:
RegularExpressionNode(14...13)((14...15), (15...21), (12...13), ", ''", 0),
which failed an assertion during serialization.
After this change:
RegularExpressionNode(12...15)((14...15), (15...21), (12...13), ", ''", 0),
Found by the fuzzer.
https://github.com/ruby/yarp/commit/5fef572f95
|
|
The snippet added in this commit previously resulted in a CallNode
with inverted start and end locations:
> AssocNode(15...13)(
> CallNode(15...13)(
StringNode(15...17)((15...16), (16...16), (16...17), ""),
nil,
(12...13),
nil,
ArgumentsNode(12...13)([MissingNode(12...13)()]),
nil,
nil,
0,
"/"
),
MissingNode(13...13)(),
(13...13)
),
which failed an assertion during serialization.
After this change, it looks better:
> AssocNode(12...13)(
> CallNode(12...17)(
StringNode(15...17)((15...16), (16...16), (16...17), ""),
nil,
(12...13),
nil,
ArgumentsNode(12...13)([MissingNode(12...13)()]),
nil,
nil,
0,
"/"
),
MissingNode(13...13)(),
(13...13)
),
Found by the fuzzer.
https://github.com/ruby/yarp/commit/040aa63ad6
|
|
The presence of the heredocs in this snippet with invalid syntax:
for <<A + <<B
A
B
causes the MissingNode to have a location after other nodes in the
list, resulting in a StatementsNode with inverted start and end
locations:
[ForNode(0...14)(
MultiWriteNode(4...7)([InterpolatedStringNode(4...7)((4...7), [], (14...16))], nil, nil, nil, nil),
MissingNode(16...16)(),
> StatementsNode(16...14)(
[MissingNode(16...16)(), InterpolatedStringNode(10...13)((10...13), [], (16...18)), MissingNode(13...14)()]
),
(0...3),
(16...16),
nil,
(14...14)
)]
which failed an assertion during serialization.
With this fix, the node's locations are:
[ForNode(0...14)(
MultiWriteNode(4...7)([InterpolatedStringNode(4...7)((4...7), [], (14...16))], nil, nil, nil, nil),
MissingNode(16...16)(),
> StatementsNode(10...16)(
[MissingNode(16...16)(), InterpolatedStringNode(10...13)((10...13), [], (16...18)), MissingNode(13...14)()]
),
(0...3),
(16...16),
nil,
(14...14)
)]
Found by the fuzzer.
https://github.com/ruby/yarp/commit/09bcedc05e
|
|
https://github.com/ruby/yarp/commit/db925f2b88
|
|
https://github.com/ruby/yarp/commit/4c76f4a0c0
|
|
https://github.com/ruby/yarp/commit/440cf93a70
|
|
https://github.com/ruby/yarp/commit/087f367847
|