diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-07-14 18:45:41 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-07-14 18:45:41 -0700 |
commit | c55d2e076a02daf604c28e6725a61c1495171552 (patch) | |
tree | ec292262586d8bbfa424ce9ff04b8bb0530ddbcf /perly.y | |
parent | 09fe0e743e8130220807fdb2c6fc2817bcd6433c (diff) | |
download | perl-c55d2e076a02daf604c28e6725a61c1495171552.tar.gz |
perly.y: Remove use of latefree from package foo {}
It is not necessary for the op containing the sv containing the name
of the package to last until the end of the block. Perl_package can
free the op immediately, as the only information it needs from it it
copies to the sv in PL_curstname. The version number can be treated
the same way.
Diffstat (limited to 'perly.y')
-rw-r--r-- | perly.y | 9 |
1 files changed, 0 insertions, 9 deletions
@@ -466,15 +466,9 @@ barestmt: PLUGSTMT } | PACKAGE WORD WORD '{' remember { - int save_3_latefree = $3->op_latefree; - $3->op_latefree = 1; package($3); - $3->op_latefree = save_3_latefree; if ($2) { - int save_2_latefree = $2->op_latefree; - $2->op_latefree = 1; package_version($2); - $2->op_latefree = save_2_latefree; } } stmtseq '}' @@ -482,9 +476,6 @@ barestmt: PLUGSTMT /* a block is a loop that happens once */ $$ = newWHILEOP(0, 1, (LOOP*)(OP*)NULL, (OP*)NULL, block_end($5, $7), (OP*)NULL, 0); - op_free($3); - if ($2) - op_free($2); TOKEN_GETMAD($4,$$,'{'); TOKEN_GETMAD($8,$$,'}'); if (PL_parser->copline > (line_t)IVAL($4)) |