diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2025-07-22 15:49:36 -0400 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2025-07-22 18:04:28 -0400 |
| commit | 33363030e1846c9f2cdbdcc9b77c11efbda3d522 (patch) | |
| tree | 1724b16b0bcda244c80045ad77693ff0b17ad84f /include/ruby/encoding.h | |
| parent | 465b1696adb0a9e6af8623ca6caaae69b71831be (diff) | |
ZJIT: Use rb_vm_env_write() for `hir::Insn::SetLocal`
We weren't firing write barriers before when writing to imemo/env
objects. Wbcheck caught this with test/ruby/test_refinement.rb:
ruby -v: ruby 3.5.0dev (2025-07-22T17:05:58Z wbcheck 2569a80954) +ZJIT dev +PRISM +GC[wbcheck] [x86_64-linux]
WBCHECK ERROR: Missed write barrier detected!
Parent object: 0x558de9f4e6e0 (wb_protected: true)
rb_obj_info_dump: 0x0000558de9f4e6e0 T_IMEMO/<env>
Reference counts - snapshot: 3, writebarrier: 0, current: 4, missed: 1
Missing reference to: 0x558decf37c30
rb_obj_info_dump: 0x0000558decf37c30 method/UnboundMethod method
WBCHECK SUMMARY: Found 1 objects with missed write barriers (1 total violations)
Diffstat (limited to 'include/ruby/encoding.h')
0 files changed, 0 insertions, 0 deletions
