Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
constant cache
IC
is accessed by non-atomic manner and there arethread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
This patch enables it by introducing
imemo_constcache
and allocatesit by every re-fill of const cache like
imemo_callcache
.Now
IC
only has one entryIC::entry
and it points toiseq_inline_constant_cache_entry
, managed by T_IMEMO object.Now
IC
is atomic data structure sorb_mjit_before_vm_ic_update()
andrb_mjit_after_vm_ic_update()
is not needed.