mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
vm: add OP_SEND0 and OP_SSEND0 for zero-argument method calls
These opcodes use BB format instead of BBB, saving 1 byte per call. In the standard library, this saves ~790 bytes (568 SEND0 + 222 SSEND0). Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -336,6 +336,9 @@ codedump(mrb_state *mrb, const mrb_irep *irep, FILE *out)
|
||||
fprintf(out, "SSEND\t\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
print_args(c, out);
|
||||
break;
|
||||
CASE(OP_SSEND0, BB):
|
||||
fprintf(out, "SSEND0\tR%d\t:%s\n", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
break;
|
||||
CASE(OP_SSENDB, BBB):
|
||||
fprintf(out, "SSENDB\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
print_args(c, out);
|
||||
@@ -344,6 +347,9 @@ codedump(mrb_state *mrb, const mrb_irep *irep, FILE *out)
|
||||
fprintf(out, "SEND\t\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
print_args(c, out);
|
||||
break;
|
||||
CASE(OP_SEND0, BB):
|
||||
fprintf(out, "SEND0\t\tR%d\t:%s\n", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
break;
|
||||
CASE(OP_SENDB, BBB):
|
||||
fprintf(out, "SENDB\t\tR%d\t:%s\t", a, mrb_sym_dump(mrb, irep->syms[b]));
|
||||
print_args(c, out);
|
||||
|
||||
Reference in New Issue
Block a user