diff options
| author | Max Bernstein <ruby@bernsteinbear.com> | 2025-07-30 12:29:59 -0400 |
|---|---|---|
| committer | Max Bernstein <tekknolagi@gmail.com> | 2025-07-30 10:36:15 -0700 |
| commit | 1b700c56d8556eaba0b6b9a637a0df8d91d603a2 (patch) | |
| tree | 8485fb1509511216ec69990792ab4ed88b3907ce | |
| parent | 8c73b103cd268ee081d7c688c48c7073acc80eea (diff) | |
ZJIT: Don't make unnecessary Cow
| -rw-r--r-- | zjit/src/hir.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/zjit/src/hir.rs b/zjit/src/hir.rs index e5d4f031a3..2031b9fdba 100644 --- a/zjit/src/hir.rs +++ b/zjit/src/hir.rs @@ -734,18 +734,18 @@ impl<'a> std::fmt::Display for InsnPrinter<'a> { Insn::Defined { op_type, v, .. } => { // op_type (enum defined_type) printing logic from iseq.c. // Not sure why rb_iseq_defined_string() isn't exhaustive. - use std::borrow::Cow; + write!(f, "Defined ")?; let op_type = *op_type as u32; - let op_type = if op_type == DEFINED_FUNC { - Cow::Borrowed("func") + if op_type == DEFINED_FUNC { + write!(f, "func")?; } else if op_type == DEFINED_REF { - Cow::Borrowed("ref") + write!(f, "ref")?; } else if op_type == DEFINED_CONST_FROM { - Cow::Borrowed("constant-from") + write!(f, "constant-from")?; } else { - String::from_utf8_lossy(unsafe { rb_iseq_defined_string(op_type).as_rstring_byte_slice().unwrap() }) + write!(f, "{}", String::from_utf8_lossy(unsafe { rb_iseq_defined_string(op_type).as_rstring_byte_slice().unwrap() }))?; }; - write!(f, "Defined {op_type}, {v}") + write!(f, ", {v}") } Insn::DefinedIvar { self_val, id, .. } => write!(f, "DefinedIvar {self_val}, :{}", id.contents_lossy().into_owned()), Insn::GetIvar { self_val, id, .. } => write!(f, "GetIvar {self_val}, :{}", id.contents_lossy().into_owned()), |
