summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-24[DOC] Fix markup in HTMLNobuyoshi Nakada
Inside HTML is not markdown.
2023-12-24MN: access `timer_th.waiting` with lockKoichi Sasada
`timer_th.waiting` should be protected by `timer_th.waiting_lock`
2023-12-24Use native_thread_init_stack on cygwinDaisuke Fujimura (fd0)
2023-12-23Fix String#sub for GC compactionPeter Zhu
The test fails when RGENGC_CHECK_MODE is turned on: TestString#test_sub_gc_compact_stress = 9.42 s 1) Failure: TestString#test_sub_gc_compact_stress [test/ruby/test_string.rb:2089]: <"aaa [amp] yyy"> expected but was <"aaa [] yyy">.
2023-12-24Replicate EEXIST epoll_ctl behavior in kqueueJP Camara
* In the epoll implementation, you get an EEXIST if you try to register the same event for the same fd more than once for a particular epoll instance * Otherwise kevent will just override the previous event registration, and if multiple threads listen on the same fd only the last one to register will ever finish, the others are stuck * This approach will lead to native threads getting created, similar to the epoll implementation. This is not ideal, but it fixes certain test cases for now, like test/socket/test_tcp.rb#test_accept_multithread
2023-12-23Fix Regexp#to_s for GC compactionPeter Zhu
The test fails when RGENGC_CHECK_MODE is turned on: TestRegexp#test_to_s_under_gc_compact_stress = 13.46 s 1) Failure: TestRegexp#test_to_s_under_gc_compact_stress [test/ruby/test_regexp.rb:81]: <"(?-mix:abcd\u3042)"> expected but was <"(?-mix:\u5C78\u3030\u5C78\u3030\u5C78\u3030\u5C78\u3030\u5C78\u3030)">.
2023-12-23[DOC] Clean up doc for File#flock (#9332)Burdette Lamar
2023-12-23Remove useless `#if 1` in array.cPeter Zhu
2023-12-23Adjust indent [ci skip]Nobuyoshi Nakada
2023-12-23Fix for older set versionsNobuyoshi Nakada
`Set::VERSION` was not defined in old set.rb bundled with ruby 3.2 or earlier. Also add comment for spec/mspec/tool/remove_old_guards.rb.
2023-12-23Set 1.1 now checks subclass-ness stricterNobuyoshi Nakada
2023-12-23Make rbconfig.rb loadable from exe/rubyNobuyoshi Nakada
So that it can run without `--disable=gems` option.
2023-12-23Control the precheck for test-all by `PRECHECK_TEST_ALL`Nobuyoshi Nakada
2023-12-23Set 1.1.0 has been importedAkinori MUSHA
2023-12-23[ruby/set] Bump version to 1.1.0Akinori MUSHA
https://github.com/ruby/set/commit/d6cab5bcc8
2023-12-23[ruby/set] Use the pattern argument instead of a blockAkinori MUSHA
https://github.com/ruby/set/commit/c63047c2ce
2023-12-23[ruby/set] The arity of initialize_clone is -1 in Ruby >= 3Akinori MUSHA
https://github.com/ruby/set/commit/32a9689696
2023-12-23[ruby/set] Drop support for Ruby 2Akinori MUSHA
https://github.com/ruby/set/commit/64dad673d8
2023-12-22RJIT: Rewind $! after compilationTakashi Kokubun
2023-12-22RJIT: Prefer STDERR over $stderrTakashi Kokubun
When $stderr is redirected, you'll have no way to see why RJIT got broken. This reference must always be the actual stderr.
2023-12-22Get rid of obsoleted RJITFirstTakashi Kokubun
It was renamed from test_mjit, but we did not maintain it as test_rjit. We test RJIT very differently.
2023-12-22[DOC] RDoc for Complex (#9307)Burdette Lamar
2023-12-22FREE_AT_EXIT: Don't free main stack post-forkJohn Hawthorn
When a forked process was started in a thread, this would result in a double-free during the child process exit. RUBY_FREE_AT_EXIT=1 ./miniruby -e 'Thread.new { fork { } }.join; Process.waitpid' This is because the main thread in the forked process was not the initial VM thread, and the new thread's stack was freed as part of objectspace iteration. This change also allows rb_threadptr_root_fiber_release to run without EC being available.
2023-12-22Free default_rand_key after freeing RactorsJohn Hawthorn
Ractor's free iterates through its TLS keys so we need to keep this memory available until after Ractors are freed. Minimal reproduction: RUBY_FREE_AT_EXIT=1 ./miniruby -e rand
2023-12-22Remove EC argument from clean_hooks_checkJohn Hawthorn
This argument doesn't seem used anymore. Since we want to free these objects during VM destruction when RUBY_FREE_AT_EXIT is set they must work without an EC. This avoids a use-after-free running `RUBY_FREE_AT_EXIT=1 ./miniruby -e ''`
2023-12-23Update default gems list at 7d7a84e99fca816ec352c95965687d [ci skip]git
2023-12-23Merge RubyGems-3.5.3 and Bundler-2.5.3Hiroshi SHIBATA
2023-12-23MN: skip waiting on fiber schedulersKoichi Sasada
If the Fiber is nonblocking mode, fiber scheduler needs to handle IO events.
2023-12-23MN: skip waiting on `read_nonblock'Koichi Sasada
if the IO for `IO#read_nonblock` is not ready, it needs to return (or raise) immediately.
2023-12-23MN: skip RUBY_DESCRIPTION spec on MN enabledKoichi Sasada
2023-12-23MN: ceil timeout milli secondsKoichi Sasada
`hrrel / RB_HRTIME_PER_MSEC` floor the timeout value and it can return wrong value by `Mutex#sleep` (return Integer even if it should return nil (timeout'ed)). This patch ceil the value and the issue was solved.
2023-12-23ensure to restart antoher threadKoichi Sasada
2023-12-23MN: fix "raise on close"Koichi Sasada
Introduce `thread_io_wait_events()` to make 1 function to call `thread_sched_wait_events()`. In ``thread_io_wait_events()`, manipulate `waiting_fd` to raise an exception when closing the IO correctly.
2023-12-22RJIT: Distinguish Pointer with ArrayTakashi Kokubun
This is more convenient for accessing those fields.
2023-12-22Extract `forwarding_arg_check` functionNobuyoshi Nakada
2023-12-22Extract `arg_splat` nonterminal symbolNobuyoshi Nakada
2023-12-22.travis.yml: Try another way to be notified.Jun Aruga
I <jaruga@ruby-lang.org> haven't received the notifications since August 2022. So, try another way to be notified written on the document below. https://docs.travis-ci.com/user/notifications/#configuring-email-notifications
2023-12-22[Bug #19977] Fix (nil..nil) === x not to raise TypeErrorKouhei Yanagita
2023-12-21RJIT: Avoid retaining unrelated local variables in memoryTakashi Kokubun
2023-12-22[DOC] Fix NEWS markupKouhei Yanagita
2023-12-22Add Regexp updates to NEWS.mdTSUYUSATO Kitsune
2023-12-22[DOC] NEWS entries for Parseryui-knk
2023-12-21RJIT: Minimize string allocations in InsnCompilerTakashi Kokubun
2023-12-21RJIT: Make --rjit-trace actually workTakashi Kokubun
2023-12-21RJIT: Update bindgenTakashi Kokubun
2023-12-21RJIT: Add --rjit-trace to allow TracePoint during JITTakashi Kokubun
2023-12-21Avoid underflow of rb_yjit_live_iseq_countJohn Hawthorn
This value is only incremented when rb_iseq_translate_threaded_code is called, which doesn't happen for iseqs which result in a syntax error. This is easy to hit by running a debug build with RUBY_FREE_AT_EXIT=1, but any build and options could underflow this value by running enough evals.
2023-12-22debug.gem v1.9.1Koichi Sasada
2023-12-22coroutine/arm64: Skip saving/restoring x30 twice and use `autiasp`Yuta Saito
We don't need to save/restore x30 twice, and we can just use `ret`, which uses x30 as return address register instead of explicit `ret <reg>` instruction. This also allows us to use `autiasp` instead of `autia1716` and we can skip setting SP/LR to x16/x17. Also the size of register save area is shrunk by 16 bytes due to the removal of extra x30 save/restore.
2023-12-22coroutine/arm64/Context.S: Append PAC/BTI note section if neededYuta Saito
Fixes https://bugs.ruby-lang.org/issues/20029