summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-23[ruby/irb] Hint debugger command in irb:rdbg sessionStan Lo
(https://github.com/ruby/irb/pull/768) When user enters irb:rdbg session, they don't get the same hint that the `debug` gem provides, like ``` (rdbg) n # next command ``` This means that users may accidentally execute commands when they want to retrieve the value of a variable. So this commit adds a Reline output modifier to add a simiar hint: ``` irb:rdbg(main):002> n # debug command ``` It is not exactly the same as `debug`'s because in this case the importance is to help users distinguish between value evaluation and debugger command execution. https://github.com/ruby/irb/commit/fdf24de851
2023-11-23[ruby/irb] Fix failure of more command with -R optionhogelog
(https://github.com/ruby/irb/pull/781) https://github.com/ruby/irb/commit/7d6849e44e
2023-11-22YJIT: Avoid a register spill on arm64 (#9014)Takashi Kokubun
2023-11-22Implement TracePoint on VWAPeter Zhu
2023-11-22[ruby/irb] Require prism >= 0.18.0 (MatchWriteNode#targets andtomoya ishida
CaseMatchNode) (https://github.com/ruby/irb/pull/778) https://github.com/ruby/irb/commit/943c14b12e
2023-11-22YJIT: add an extra btest for shape too complex (#9013)Maxime Chevalier-Boisvert
Following Jean Boussier's comment that some shape bugs were not caught by our tests, I'm trying to improve our test coverage a tiny bit.
2023-11-23[wasm] Upload install directory as artifact to GitHub ActionsYuta Saito
2023-11-23[wasm] Build baseruby from the same revision for cross-compilingYuta Saito
> Note that on cross compiling BASERUBY should be the same version of the building ruby. > https://github.com/ruby/ruby/wiki/Developer-How-To#prerequisite
2023-11-23[wasm] Update binaryen to version 113Yuta Saito
2023-11-23[wasm] Update wasmtime to version 15Yuta Saito
2023-11-23[wasm] Update wasi-sdk to version 20Yuta Saito
2023-11-22Embed ThreadGroup objectJean Boussier
These are rare but embedding them is trivial and make them fit in a 40B slot.
2023-11-23[wasm] Use xmalloc/xfree for jmpbuf allocation to trigger GC properlyYuta Saito
`rb_vm_tag_jmpbuf_{init,deinit}` are safe to raise exception since the given tag is not yet pushed to `ec->tag` or already popped from it at the time, so `ec->tag` is always valid and it's safe to raise exception when xmalloc fails.
2023-11-22Fix off-by-one with RubyVM::Shape.exhaust_shapesAlan Wu
Previously, the method left one shape available (MAX_SHAPE_ID) when called without arguments.
2023-11-23[wasm] Avoid malloc during longjmpYuta Saito
`longjmp` can be called to raise `NoMemoryError` or to trigger GC when `malloc` fails to allocate memory in `ruby_xmalloc` family. In such case, `malloc` call in `longjmp` will fail again, and Asyncify unwinding operation corrupts the memory space by using the failed pointer as Asyncify buffer. This commit uses statically allocated buffer to avoid such situation.
2023-11-22[wasm] Fix Asyncify loop exit condition for normal return (#9007)Yuta Saito
[wasm] Fix Asyncify loop exit condition for normal return Stop calling `asyncify_stop_unwind` when the main function returns without any unwinding. In the era when Asyncify buffers were allocated on the stack, the `top` and `end` fields were remained in the stack space even after the main function returned, so buffer-overflow check in the `asyncify_stop_unwind` function passed. But now, the `top` and `end` fields are part of the jump buffer allocated on the heap and they are deallocated with `free` when the corresponding VM tag is popped. So, the buffer-overflow check in the `asyncify_stop_unwind` function failed when the main fuction returned without any unwinding, and we have to break the asyncify loop before calling `asyncify_stop_unwind`. Related commit: https://github.com/ruby/ruby.wasm/commit/bc46b12b127e4b6625a100f373504ed5ea45ae66
2023-11-22.travis.yml: Drop s390x temporarily.Jun Aruga
The builds are not starting. You can check the Travis status on the ticket, <https://bugs.ruby-lang.org/issues/20013>.
2023-11-22Get rid of flatten_memo_data_typeJean Boussier
We can use an hidden Hash instead, it's simpler, triggers write barriers, handle compaction, etc.
2023-11-22[ruby/prism] Check void values in singleton class (`class <<`)TSUYUSATO Kitsune
Follow up the ruby/ruby#8917 change. https://github.com/ruby/prism/commit/f6bac4d3bf
2023-11-22[ruby/prism] Add new doc to gemspecKevin Newton
https://github.com/ruby/prism/commit/99dfca6c1d
2023-11-22[ruby/prism] Join range checks into the main parse_expression switchKevin Newton
https://github.com/ruby/prism/commit/ed4523464b
2023-11-22[ruby/prism] Fix associativity of binary range with begin-less rangeTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/1828 https://github.com/ruby/prism/commit/22c0640e48
2023-11-22[ruby/prism] Combine expression checks into a single switchKevin Newton
https://github.com/ruby/prism/commit/825d5d7bd4
2023-11-22[ruby/prism] Remove TODOTSUYUSATO Kitsune
https://github.com/ruby/prism/commit/d6d718487d
2023-11-22[ruby/prism] Reject statements at non-statement posisionsTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/1547 https://github.com/ruby/prism/commit/cdb643aeab
2023-11-22[ruby/prism] Add and use pm_parser_local_depth_constant_idTSUYUSATO Kitsune
https://github.com/ruby/prism/pull/1877#discussion_r1398974248 https://github.com/ruby/prism/commit/0f545fe636
2023-11-22[ruby/prism] Allow `&` forwarding in a method having `...` parameterTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/1839 https://github.com/ruby/prism/commit/5784ab749f
2023-11-22Implement dir on VWAPeter Zhu
2023-11-22[prism] Add cp949 targets to common.mkKevin Newton
2023-11-22[ruby/prism] Add `CP949` encodingheyogrady
https://github.com/ruby/prism/commit/9e78dfdf69
2023-11-22Embed File::Stat objectsJean Boussier
They are very short lived and fit in a 160B slot.
2023-11-22Implement Write Barriers on TracePointPeter Zhu
2023-11-22.travis.yml: Allow failures for s390x.Jun Aruga
https://app.travis-ci.com/github/ruby/ruby/builds/267410310
2023-11-22[ruby/prism] Add KOI8-U encodingPatrick O'Grady
(https://github.com/ruby/prism/pull/1906) * Add test for KOI8-U * Rename koi8 char_width function - Rename function for use with any KOI8-based encoding * Add KOI8-U encoding * Add encoding to encoding.md https://github.com/ruby/prism/commit/6cad4552f7
2023-11-22[rubygems/rubygems] Fix universal lockfiles regressionDavid Rodriguez
If a platform specific variant would not match the current Ruby, we would still be considering it compatible with the initial resolution and adding its platform to the lockfile, but we would later fail to materialize it for installation due to not really being compatible. Fix is to only add platforms for variants that are also compatible with current Ruby and RubyGems versions. https://github.com/rubygems/rubygems/commit/75d1290843
2023-11-22[ruby/prism] Move CallNode#name field between receiver and argumentsBenoit Daloze
* The same order as in source code. * CallOrWriteNode, CallOperatorWriteNode, CallAndWriteNode already have the correct order so it was also inconsistent with them. https://github.com/ruby/prism/commit/4434e4bc22
2023-11-22[ruby/irb] Rescue Exception, ignore warning in completiontomoya ishida
doc_namespace (https://github.com/ruby/irb/pull/777) https://github.com/ruby/irb/commit/c2f671611a
2023-11-22Embed exec_arg objectsJean Boussier
They are very ephemeral, so avoiding the malloc churn is desirable.
2023-11-22Remove unneccesary defines in enumeratorMatt Valentine-House
2023-11-22Remove unneccesary memsize functions in enumeratorMatt Valentine-House
2023-11-22VWA Embed the rest of the data objects in EnumeratorMatt Valentine-House
2023-11-22[ruby/resolv] IPv6: update to_s method to be RFC5952 compliantJohn Bond
(https://github.com/ruby/resolv/pull/25) * IPv6: update to_s method to be RFC5952 compliant I noticed that the resolv library does not honour RFC 5952 Section 4.2.2. in relation to textural representation of ipv6 addresses: The symbol "::" MUST NOT be used to shorten just one 16-bit 0 field. For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but 2001:db8::1:1:1:1:1 is not correct. Fixes https://github.com/ruby/resolv/pull/24 https://github.com/ruby/resolv/commit/5efcd6ed70 Co-authored-by: Sorah Fukumori <sora134@gmail.com>
2023-11-22objspace_dump.c: dump call cache ids with dump_append_idJean Boussier
Not all `ID` have an associated string. Fixes a SEGFAULT in ObjectSpace.dump_all spec.
2023-11-22Speedup test_shape.rbJean Boussier
Many tests start by exhausting all shapes, which is a slow process. By exposing a method to directly move the bump allocator forward we cut test runtime in half. Before: ``` Finished tests in 1.544756s ``` After: ``` Finished tests in 0.759733s, ```
2023-11-22Update bundled gems list as of 2023-11-21git
2023-11-22Prevent a compiler warning: ‘zi’ may be used uninitializedYusuke Endoh
2023-11-21[ruby/prism] Add SPLAT flag on ArrayNode indicating if it contains splat ↵Jemma Issroff
element(s) This commit puts a SPLAT flag on any ArrayNodes which contain SplatNode elements https://github.com/ruby/prism/commit/2fc1e7f181
2023-11-21[PRISM] Rename flag to CONTAINS_KEYWORD_SPLATJemma Issroff
We need to do this change first on ruby/ruby before merging to ruby/prism to avoid breaking ruby/ruby CI
2023-11-21[ruby/open3] [DOC] Open3 doc (https://github.com/ruby/open3/pull/21)Burdette Lamar
https://github.com/ruby/open3/commit/3bdb402b18
2023-11-21[ruby/prism] Remove handling OptionalNodeField in set_newline_flagHiroya Fujinami
template (https://github.com/ruby/prism/pull/1905) https://github.com/ruby/prism/commit/6f7cbc1ca9