diff options
Diffstat (limited to 'lib/ruby_vm/mjit/code_block.rb')
-rw-r--r-- | lib/ruby_vm/mjit/code_block.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/ruby_vm/mjit/code_block.rb b/lib/ruby_vm/mjit/code_block.rb index b4cc3d721c..ad91f53404 100644 --- a/lib/ruby_vm/mjit/code_block.rb +++ b/lib/ruby_vm/mjit/code_block.rb @@ -37,6 +37,15 @@ module RubyVM::MJIT start_addr end + def with_addr(addr) + old_write_pos = @write_pos + @write_pos = addr - @mem_block + @comments.delete(addr) # TODO: clean up old comments for all overwritten insns? + yield + ensure + @write_pos = old_write_pos + end + private def write_addr |