Branch: refs/heads/davem/rc_stack2
  Home:   https://github.com/Perl/perl5
  Commit: 71cb155c51db3d871f75f8cee9d3d584596f9378
      
https://github.com/Perl/perl5/commit/71cb155c51db3d871f75f8cee9d3d584596f9378
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M pp.c
    M pp_ctl.c
    M pp_hot.c
    M pp_sys.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap nullary pp() fns

Remove the temporary wrappers from most of the pp() functions which
take zero arguments from the stack (but which may well return
arguments).

Only the simple nullary OPs have been unwrapped in this commit; more
complex ones will have their own commit.


  Commit: 03a64f1cf5e02bc5b363228a6a16ee4411f4d4f1
      
https://github.com/Perl/perl5/commit/03a64f1cf5e02bc5b363228a6a16ee4411f4d4f1
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M doop.c
    M embed.fnc
    M hv.c
    M pp.c
    M pp_hot.c
    M proto.h

  Log Message:
  -----------
  make RC-stack-aware: unwrap rv2av etc pp fns

Remove the temporary wrappers from a set of pp() functions which
handle retrieving the whole contents of an array or hash. These needed
to be done as one commit because there's a lot of shared static
functions etc that all need to be changed at the same time.

The unwrapped pp() functions are:

    do_kv        (a.k.a. pp_keys, pp_values)
    pp_rv2sv
    pp_padrange
    pp_padav
    pp_padhv
    pp_rv2av     (a.k.a. pp_rv2hv)
    pp_lvavref

In addition the following static or non-public functions were fixed and
changed:

    Perl_hv_pushkv
    S_padhv_rv2hv_common  - it's now responsible for popping arg
    Perl_softref2xv       - its signature has changed.


  Commit: 9f480e1758aa73fc320bc8d7e7a8498312a05c39
      
https://github.com/Perl/perl5/commit/9f480e1758aa73fc320bc8d7e7a8498312a05c39
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M pp.c
    M pp_hot.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap unary pp() fns

Remove the temporary wrappers from many of the pp() functions which
take a single argument from the stack.

Only the simple unary OPs have been unwrapped in this commit; more
complex ones will come later.


  Commit: 7bc913e2dbdf6733b1f777da6293d24d6d0efcbf
      
https://github.com/Perl/perl5/commit/7bc913e2dbdf6733b1f777da6293d24d6d0efcbf
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M builtin.c
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap builtin pp() fns

Remove the temporary wrappers from the pp() functions which
implement some of the functionality of the builtin:: namespace.

All of these had to be done as a single commit, because a couple
of XS functions which implement many of the builtin subs need to be made
RC-stack-aware at the same time as all the associated pp() functions,
since those pp() functions are tail-called by the XS functions.


  Commit: 63b07e5cbb57d49204ee8864f27fc36b0f770931
      
https://github.com/Perl/perl5/commit/63b07e5cbb57d49204ee8864f27fc36b0f770931
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-02 (Sat, 02 Sep 2023)

  Changed paths:
    M pp.c
    M pp_ctl.c
    M pp_hot.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap binary pp() fns

Remove the temporary wrappers from many of the pp() functions which
take two arguments from the stack.

Only the simpler binary OPs have been unwrapped in this commit; more
complex ones will come later.


Compare: https://github.com/Perl/perl5/compare/71cb155c51db%5E...63b07e5cbb57

Reply via email to