diff options
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -999,6 +999,20 @@ send CALL_METHOD(ci); } +DEFINE_INSN +opt_str_freeze +(VALUE str) +() +(VALUE val) +{ + if (BASIC_OP_UNREDEFINED_P(BOP_FREEZE, STRING_REDEFINED_OP_FLAG)) { + val = str; + } + else { + val = rb_funcall(rb_str_resurrect(str), idFreeze, 0); + } +} + /** @c optimize @e Invoke method without block, splat |