| Age | Commit message (Collapse) | Author |
|
[Bug #21626]
|
|
It is experimental yet and is disabled currently.
Notes:
Merged: https://github.com/ruby/ruby/pull/12462
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12438
|
|
The fiber pool allocations form a singly-linked list, so when we're
running with RUBY_FREE_AT_EXIT we need to walk the linked list freeing
each element, otherwise it can be detected as a memory leak.
Notes:
Merged: https://github.com/ruby/ruby/pull/12405
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12383
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12176
|
|
Use PR_SET_VMA_ANON_NAME to set human-readable names for anonymous
virtual memory areas mapped by `mmap()` when compiled and run on Linux
5.17 or higher. This makes it convenient for developers to debug mmap.
Notes:
Merged: https://github.com/ruby/ruby/pull/12119
|
|
28a1c4f33e3349a98c04b8e068d9c674eb936064 seems to call an improper
ensure clause. [Bug #20655]
Than fixing it properly, I bet it would be much better to simply revert
that commit. It reduces the unneeded complexity. Jumping into a block
called by a C function like Hash#each with callcc is user's fault.
It does not need serious support.
Notes:
Merged: https://github.com/ruby/ruby/pull/11254
|
|
Many places call ruby_mimmalloc then MEMZERO. This can be reduced by
using ruby_mimcalloc instead.
|
|
* Improve consistency of `Fiber.current.raise`.
|
|
non-blocking by default. (#10481)
|
|
This reverts commit dfa0897de89251a631a67460b941cd24a14c9b55.
This commit accidentally included some change in `parse.h`. Reverting
and re-applying the relevant changes.
|
|
|
|
Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does _NOT_ set
ec->machine.stack_end on the saved EC, so that the code in
`rb_execution_context_mark` does not mark it; instead, the stack marking
is done in `cont_mark`.
Instead, we can set ec->machine.stack_end, and skip out on doing the
stack marking separately in `cont_mark`; that way, all machine stack
marking shares the same code (which does the nescessary ASAN things).
[Bug #20310]
|
|
Followup: https://github.com/ruby/ruby/pull/10017
[Feature #13557]
|
|
callcc's implementation is fundamentally incompatible with ASAN. Since
callcc is deprecated and almost never used, it's probably OK to disable
callcc when ruby is compiled with ASAN.
[Bug #20273]
|
|
|
|
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.
|
|
Mostly just fixing RDoc's incorrect treatment of `+`
|
|
explain
|
|
when the RUBY_FREE_ON_SHUTDOWN environment variable is set, manually free memory at shutdown.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Peter Zhu <peter@peterzhu.ca>
|
|
* YJIT: Cancel on-stack jit_return on invalidation
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
* Use RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P
---------
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
|
|
To fix https://github.com/ruby/ruby/actions/runs/6581593578/job/17881779994
|
|
Contrary to my initial assumption, rb_threadptr_root_fiber_setup() is
called for each Ractor, not just once at boot. I changed the place to
call rb_jit_cont_init() to avoid calling it multiple times.
|
|
|
|
* Skip RBS test.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
|
|
I have not seen any problems with this code, but this ensures the invariant.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Introduce experimental support for explicitly specifying the `advice` value provided to `madvise` when releasing the fiber stack.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
if cont is NULL.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7462
|
|
|
|
Also avoid allocations when looking up `Fiber#storage` if not needed.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
[Feature #19425]
Notes:
Merged: https://github.com/ruby/ruby/pull/7273
|
|
* References to Scheduler (was outdated to SchedulerInterface)
* References between new methods (storage, [], []=)
* Storage's call-sequence (rendered confusingly)
Notes:
Merged: https://github.com/ruby/ruby/pull/6985
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6974
|
|
* Especially around Enumerator.
Notes:
Merged: https://github.com/ruby/ruby/pull/6974
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6972
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6972
|
|
* See https://bugs.ruby-lang.org/issues/19078#note-30
Notes:
Merged: https://github.com/ruby/ruby/pull/6972
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6721
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6635
|
|
when it fails to allocate a new page.
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|