diff options
| author | Max Bernstein <max.bernstein@shopify.com> | 2025-02-07 10:36:07 -0500 |
|---|---|---|
| committer | Takashi Kokubun <takashikkbn@gmail.com> | 2025-04-18 21:52:57 +0900 |
| commit | e60f84af0bb32686617c5be1c69dba555201d1bb (patch) | |
| tree | 4d610758486daa223c59dc332102e39064503a21 | |
| parent | d0ee9bcd70db5fd5a59ce9ea2cd284990ab5f1fa (diff) | |
Add putself
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/13131
| -rw-r--r-- | zjit/src/ir.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/zjit/src/ir.rs b/zjit/src/ir.rs index b891a7713f..b221ec728e 100644 --- a/zjit/src/ir.rs +++ b/zjit/src/ir.rs @@ -75,6 +75,7 @@ pub struct CallInfo { #[derive(Debug)] pub enum Insn { // SSA block parameter. Also used for function parameters in the function's entry block. + PutSelf, Param { idx: usize }, StringCopy { val: Opnd }, @@ -346,6 +347,7 @@ pub fn iseq_to_ssa(iseq: *const rb_iseq_t) -> Function { let insn_id = fun.push_insn(block, Insn::StringCopy { val }); state.push(Opnd::Insn(insn_id)); } + YARVINSN_putself => { state.push(Opnd::Insn(fun.push_insn(block, Insn::PutSelf))); } YARVINSN_intern => { let val = state.pop(); let insn_id = fun.push_insn(block, Insn::StringIntern { val }); |
