Skip to content

Commit

Permalink
Create three new (currently-unimplemented) ops
Browse files Browse the repository at this point in the history
OP_MULTIPARAM, OP_PARAMTEST and OP_PARAMSTORE
  • Loading branch information
leonerd committed Dec 4, 2024
1 parent 3a1c1e0 commit 70f1c38
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 2 deletions.
1 change: 1 addition & 0 deletions ext/Opcode/Opcode.pm
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ invert_opset function.
rv2hv helem hslice kvhslice each values keys exists delete
aeach akeys avalues multideref argelem argdefelem argcheck
multiparam paramtest paramstore
preinc i_preinc predec i_predec postinc i_postinc
postdec i_postdec int hex oct abs pow multiply i_multiply
Expand Down
3 changes: 3 additions & 0 deletions lib/B/Op_private.pm

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 22 additions & 1 deletion opcode.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion opnames.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions pp.c
Original file line number Diff line number Diff line change
Expand Up @@ -7809,6 +7809,21 @@ PP(pp_argcheck)
return NORMAL;
}

PP(pp_multiparam)
{
croak("TODO pp_multiparam");
}

PP(pp_paramtest)
{
croak("TODO pp_paramtest");
}

PP(pp_paramstore)
{
croak("TODO pp_paramstore");
}

PP_wrapped(pp_isa, 2, 0)
{
dSP;
Expand Down
3 changes: 3 additions & 0 deletions pp_proto.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions regen/opcodes
Original file line number Diff line number Diff line change
Expand Up @@ -601,3 +601,7 @@ methstart method start ck_null +
initfield initialise field ck_null +

classname class name ck_classname 0t

multiparam signature processing ck_null +
paramtest signature argument value test ck_null |
paramstore signature parameter default expression ck_null 1

0 comments on commit 70f1c38

Please sign in to comment.