Spent last week picking some quick and low-hanging fruit off my TODO list. None really took long enough to individually itemise, but it produced the following list of commits. 35a2929 OP_SASSIGN: make op_first==op_last for UNOP 614f2ce undef $0 shouldn't warn about $0 81b96c3 OP_MULTIDEREF: ignore customised delete/exists 850e14d Cwd.xs: avoid blib better while building 92683b8 Porting/bench.pl: explain what PUT means 9420b26 Eliminate xpad_cop_seq from _xnvu union 80e5abf S_sv_2iuv_common(): optimise single digit strings 032736a pp_leaveloop(): rename local vars e9fb18e padrange, aelemfast: use label for private bits e1e2637 OP_AVHVSWITCH: make op_private bits 0..1 symbolic 17b0bd7 fixup some AV API pod descriptions. 8944d2e perldelta for PADOFFSET changes d12be05 make PL_ pad vars be of type PADOFFSET d081a35 make PADOFFSET be SSizet_t f2949f4 remove a bunch of XXX's from pad.c 4e785f2 pad.c comments: clarify PERL_PADSEQ_INTRO be294d8 add a test for gv_try_downgrade() 5debce0 fix builds under USE_PAD_RESET One commit that is marginally interesting is the "optimise single digit strings" ones. When perl tries to get the numeric value of a string (as in e.g. @a = split; $total += $a[0]) the conversion code has to handle whitespace, negatives, floating, Inf, Nan etc, which is all quite complex. However, it will be quite common that the string is just a single char like "0" or "1". That commit says: if the string is of length 1 and is a digit, just immediately return SvPVX(sv)[0] - '0'. This is *lot* quicker. 2016/09/26 3:00 miscellaneous fixups 2016/09/27 5:51 miscellaneous fixups 2016/09/28 3:05 miscellaneous fixups 2016/09/29 0:22 process p5p mailbox 2:16 miscellaneous fixups 3:52 [perl #125792] [2 PATCHES] sassign is wrongly declared as BASEOP SUMMARY: 3:52 [perl #125792] [2 PATCHES] sassign is wrongly declared as BASEOP 14:12 miscellaneous fixups 0:22 process p5p mailbox ------ 18:26 TOTAL (HH::MM) -- Justice is when you get what you deserve. Law is when you get what you pay for.Thread Previous