summaryrefslogtreecommitdiff
path: root/opcode.pl
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-08-28 15:35:57 +0100
committerNicholas Clark <nick@ccl4.org>2010-08-28 15:35:57 +0100
commit903fd87c2fde69d5e919253206007158c6a3a2b5 (patch)
treed93bfef9ec03ae9ec1ceafb61875ed236c4c4b03 /opcode.pl
parent95ddc6755c1ff41d06e5afc2212c85f918ebcd28 (diff)
downloadperl-903fd87c2fde69d5e919253206007158c6a3a2b5.tar.gz
Remove OA_RETINTEGER, unused since 2002 (commit e7311069df54baa6)
This returns us to 8 flag bits, and restores OCSHIFT and OASHIFT to 8 and 12 Previously these were 9 and 13, and effectively PL_opargs[] was using 33 of 32 bits, relying on the ugly hack that no 5 argument builtin had an optional 5th argument, hence the (13 + 5 * 4)th bit was always zero. is effectively 33 bits.
Diffstat (limited to 'opcode.pl')
-rwxr-xr-xopcode.pl8
1 files changed, 4 insertions, 4 deletions
diff --git a/opcode.pl b/opcode.pl
index 1b8c688c4d..e90c929b8a 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -348,8 +348,8 @@ my %opflags = (
'f' => 2, # fold constants
's' => 4, # always produces scalar
't' => 8, # needs target scalar
- 'T' => 8 | 256, # ... which may be lexical
- 'i' => 16, # always produces integer
+ 'T' => 8 | 16, # ... which may be lexical
+ 'i' => 0, # always produces integer (unused since e7311069)
'I' => 32, # has corresponding int op
'd' => 64, # danger, unknown side effects
'u' => 128, # defaults to $_
@@ -358,8 +358,8 @@ my %opflags = (
my %OP_IS_SOCKET;
my %OP_IS_FILETEST;
my %OP_IS_FT_ACCESS;
-my $OCSHIFT = 9;
-my $OASHIFT = 13;
+my $OCSHIFT = 8;
+my $OASHIFT = 12;
for my $op (@ops) {
my $argsum = 0;