diff options
author | Reini Urban <rurban@x-ray.at> | 2010-12-12 16:20:33 +0100 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-12-12 12:32:51 -0800 |
commit | a4256772dd403c7ce44dc3a7f7a15da1982f8905 (patch) | |
tree | 587213a33bb7175dbaef93ed63ff924c5df4e3c4 | |
parent | 929fffa4acb2dedab3293617c11903a4914d8fdf (diff) | |
download | perl-a4256772dd403c7ce44dc3a7f7a15da1982f8905.tar.gz |
Make entertry a LOGOP, not BASEOP/UNOP
The initial parse-time UNOP is upgraded at ck_eval to an LOGOP
- op_other holding the ptr to leavetry -
which causes problems at run-time B optype inspection.
The opclass info was always wrong, the Bytecode compiler broke with 5.12.
-rw-r--r-- | opcode.h | 2 | ||||
-rwxr-xr-x | regen/opcode.pl | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -1895,7 +1895,7 @@ EXTCONST U32 PL_opargs[] = { 0x00000604, /* hintseval */ 0x00001b40, /* entereval */ 0x00001100, /* leaveeval */ - 0x00000b40, /* entertry */ + 0x00000340, /* entertry */ 0x00000400, /* leavetry */ 0x00001b00, /* ghbyname */ 0x00011400, /* ghbyaddr */ diff --git a/regen/opcode.pl b/regen/opcode.pl index bd3d55adae..fe923edd37 100755 --- a/regen/opcode.pl +++ b/regen/opcode.pl @@ -1049,7 +1049,7 @@ hintseval eval hints ck_svconst s$ entereval eval "string" ck_eval d% S leaveeval eval "string" exit ck_null 1 S #evalonce eval constant string ck_null d1 S -entertry eval {block} ck_eval d% +entertry eval {block} ck_eval d| leavetry eval {block} exit ck_null @ # Get system info. |