Project

General

Profile

Actions

Bug #16664

closed

Backport request: MJIT unloads methods used in a main thread when calling a Fiber

Added by k0kubun (Takashi Kokubun) about 4 years ago. Updated about 4 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:97309]

Description

Problem

The following script SEGVs with ruby --disable-gems --jit-min-calls=1 --jit-max-cache=10 --jit-wait script.rb.

def a1() a2(false); a2(true) end
def a2(a) a3(a) end
def a3(a) a4(a) end
def a4(a) a5(a) end
def a5(a) a6(a) end
def a6(a) a7(a) end
def a7(a) a8(a) end
def a8(a) a9(a) end
def a9(a) a10(a) end
def a10(a)
  if a
    Fiber.new { a11 }.resume
  end
end
def a11() print('hello') end

a1

Patch

Please backport adcf0316d1ecedae2a9157ad941550e0c0fb510b. For running the test, a8dcab723316997d9e01c89d6df969edce75bdca needs to be backported first.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0