Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3fbcd66ed6e3ed3daaa2265d1a8a905f7ee0bade
      
https://github.com/Perl/perl5/commit/3fbcd66ed6e3ed3daaa2265d1a8a905f7ee0bade
  Author: bulk88 <[email protected]>
  Date:   2025-10-18 (Sat, 18 Oct 2025)

  Changed paths:
    M pp_hot.c

  Log Message:
  -----------
  pp_hot.c: shave off some CPU instructions in pp_const()

CC is MSVC 2022 x64 -O1. Before, 0x67 bytes long. After, 0x5E bytes long.
This savings obtained by not digging inside PL_op AKA my_perl->Iop->op_***
twice, and the CC not having save a C auto var around a function call.
I profiled Perl_pp_const() to be between #2 to #4 most executed pp_*()
function, per process on any workload. For extra details about this commit
see the GH PR associated with this commit.

There is an alternative I privately prototyped but I decided not to
finish 3/4s of the way which is creating pre/post arg eval variants of
function/macro rpp_xpush_1(). It was getting too invasive and complex by
lines of src code modified to finish, so that conceptual fix isn't done
here, and something best left for the future.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to