Re-compile MJIT entry on constant IC update
This commit is contained in:
parent
15cea7fd0d
commit
5576da7900
Notes:
git
2023-03-06 07:29:52 +00:00
@ -133,6 +133,12 @@ module RubyVM::MJIT
|
|||||||
list_blocks(iseq, pc).each do |block|
|
list_blocks(iseq, pc).each do |block|
|
||||||
invalidate_block(iseq, block)
|
invalidate_block(iseq, block)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# If they were the ISEQ's first blocks, re-compile MJIT entry as well
|
||||||
|
if iseq.body.iseq_encoded.to_i == pc
|
||||||
|
iseq.body.jit_func = 0
|
||||||
|
iseq.body.total_calls = 0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
@ -255,7 +261,6 @@ module RubyVM::MJIT
|
|||||||
@cb.write(branch_asm)
|
@cb.write(branch_asm)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# TODO: Reset jit_func and total_calls if it's the first block after prelude
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def list_blocks(iseq, pc)
|
def list_blocks(iseq, pc)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user