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 Nov 19, 2024
1 parent 09cfd17 commit 0c37d53
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 3 deletions.
3 changes: 2 additions & 1 deletion ext/Opcode/Opcode.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Opcode 1.66;
package Opcode 1.67;

use strict;

Expand Down 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 @@ -7801,6 +7801,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 @@ -596,3 +596,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 0c37d53

Please sign in to comment.