Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YJIT: Fix false object collection when setting ivar #7718

Merged
merged 3 commits into from
Apr 14, 2023

Commits on Apr 14, 2023

  1. YJIT: Fix false object collection when setting ivar

    Previously, setinstancevariable could generate code that calls
    `rb_ensure_iv_list_size()` without first updating `cfp->sp`. This means
    in the event that a GC start from within said routine the top few
    objects would not be marked, causing them to be falsly collected.
    
    Call `jit_prepare_routine_call()` first.
    
    [Bug #19601]
    XrXr committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    dd419f3 View commit details
    Browse the repository at this point in the history
  2. YJIT: Remove duplicate asm.spill_temps()

    `jit_prepare_routine_call()` calls it, and there is another call above on line 2302.
    
    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
    XrXr and k0kubun committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    7c27493 View commit details
    Browse the repository at this point in the history
  3. RJIT: Skip a YJIT test

    Despite applying a fix to RJIT similar to the YJIT fix, this test still
    crashes RJIT.
    XrXr committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    237f738 View commit details
    Browse the repository at this point in the history