summaryrefslogtreecommitdiff
path: root/doop.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2016-01-04 09:16:52 +0000
committerDavid Mitchell <davem@iabyn.com>2016-02-03 09:19:21 +0000
commit1c23e2bdad29ff1daf6392412fffae9341795834 (patch)
tree2870d0000ec000d13e363c8a74ed81f224e261fa /doop.c
parent263e0548e81a5558c883eb43d9a72c5f20f67741 (diff)
downloadperl-1c23e2bdad29ff1daf6392412fffae9341795834.tar.gz
make gimme consistently U8
The value of gimme stored in the context stack is U8. Make all other uses in the main core consistent with this. My primary motivation on this was that the new function cx_pushblock(), which I gave a 'U8 gimme' parameter, was generating warnings where callers were passing I32 gimme vars to it. Rather than play whack-a-mole, it seemed simpler to just uniformly use U8 everywhere. Porting/bench.pl shows a consistent reduction of about 2 instructions on the loop and sub benchmarks, so this change isn't harming performance.
Diffstat (limited to 'doop.c')
-rw-r--r--doop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/doop.c b/doop.c
index dbf26d62a1..892cd07f4e 100644
--- a/doop.c
+++ b/doop.c
@@ -1238,7 +1238,7 @@ Perl_do_kv(pTHX)
HV * const keys = MUTABLE_HV(POPs);
HE *entry;
SSize_t extend_size;
- const I32 gimme = GIMME_V;
+ const U8 gimme = GIMME_V;
const I32 dokv = (PL_op->op_type == OP_RV2HV || PL_op->op_type == OP_PADHV);
/* op_type is OP_RKEYS/OP_RVALUES if pp_rkeys delegated to here */
const I32 dokeys = dokv || (PL_op->op_type == OP_KEYS);