Branch: refs/heads/davem/rc3
  Home:   https://github.com/Perl/perl5
  Commit: 8f6713e525a992c8cc1d80b7b69e23f774511f64
      
https://github.com/Perl/perl5/commit/8f6713e525a992c8cc1d80b7b69e23f774511f64
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M pod/perlguts.pod
    M proto.h

  Log Message:
  -----------
  add rpp_replace_at() API function


  Commit: 095a29e2f15f1a44478dbc10f08c84d65126fb02
      
https://github.com/Perl/perl5/commit/095a29e2f15f1a44478dbc10f08c84d65126fb02
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M pod/perlguts.pod
    M proto.h

  Log Message:
  -----------
  add rpp_context() API function


  Commit: f4b013698fc3e7fe5257dd84c5035c2c6ad5bb62
      
https://github.com/Perl/perl5/commit/f4b013698fc3e7fe5257dd84c5035c2c6ad5bb62
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

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

  Log Message:
  -----------
  make RC-stack-aware: unwrap startmatch and misc

Remove the temporary wrappers from these pp() functions:

    pp_smartmatch
    pp_i_eq
    pp_eq
    pp_seq
    pp_match

They had to be treated as one group since pp_smartmatch() tail calls
the other four pp() functions.


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

  Changed paths:
    M pp_hot.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_padsv_store()

Remove the temporary wrapper from this unary pp() function.
It should have been done at the same time as all the other hot unary
ops, but I missed it.


  Commit: 554348a381d77da3906783513ba5c92514e60b9d
      
https://github.com/Perl/perl5/commit/554348a381d77da3906783513ba5c92514e60b9d
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M embed.fnc
    M pp_hot.c
    M pp_sys.c
    M proto.h

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_print(),tied_method

Remove the temporary wrapper from pp_print().

Also, update Perl_tied_method() to support both ref-counted-stack and
non-ref-counted-stack callers. Initially pp_print() is the only RC
caller of it.

Perl_tied_method() was a bit of mess: undocumented and confusing.
So also add some more code comments, and rename one of its parameters
from 'sp' to 'mark' to better reflect that it points to the base of the
argument list, not to the top.


  Commit: 4df9f3a6ed6e265beae78f1587af0e88d3df76ad
      
https://github.com/Perl/perl5/commit/4df9f3a6ed6e265beae78f1587af0e88d3df76ad
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: pp_anonlist, pp_av2arylen

Remove the temporary wrapper from pp_anonlist() and update it to directly
work in a refcounted-stack environment.

In addition, fix a bug in (the already unwrapped) pp_av2arylen(),
which only manifests itself in PERL_RC_STACK environments.

In particular, this expression in lvalue context was triggering a
premature free of the array:

    [1..10]->$#*

Basically pp_av2arylen() pops the AV off the stack and replaces it
with an SV with PERL_MAGIC_arylen which points back to the AV (and vice
versa). The link back is weak, so nothing actually keeps the AV alive;
previously, something else like the temps stack was keeping AV alive.

So swap the weak/strong mg_ptrs around to make the problem go away.


  Commit: 3a3935e9c065e343f6d4797520373bad06118154
      
https://github.com/Perl/perl5/commit/3a3935e9c065e343f6d4797520373bad06118154
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap: pp_(kv)[ah]slice

Remove the temporary wrappers from:
    pp_aslice()
    pp_hslice()
    pp_kvaslice()
    pp_kvhslice()


  Commit: 1716877ea558fe18073150130dbc706690e9b99b
      
https://github.com/Perl/perl5/commit/1716877ea558fe18073150130dbc706690e9b99b
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp_hot.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_join()

Remove the temporary wrapper from pp_join()


  Commit: 796a53cc6619718a889d594fe4edc1a06c49c6b3
      
https://github.com/Perl/perl5/commit/796a53cc6619718a889d594fe4edc1a06c49c6b3
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_push()

Remove the temporary wrapper from pp_push()


  Commit: e30412b2d1da8efb398b47e41cbb378539aad80e
      
https://github.com/Perl/perl5/commit/e30412b2d1da8efb398b47e41cbb378539aad80e
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_list()

Remove the temporary wrapper from pp_list()


  Commit: 0a1a265d01c2b41e7711ca41f535694a24be27a3
      
https://github.com/Perl/perl5/commit/0a1a265d01c2b41e7711ca41f535694a24be27a3
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_unshift()

Remove the temporary wrapper from pp_unshift()


  Commit: 546242130877389de930b18d0c815b1d6993f71b
      
https://github.com/Perl/perl5/commit/546242130877389de930b18d0c815b1d6993f71b
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_refgen()

Remove the temporary wrapper from pp_refgen()


  Commit: 2559024c1da43be0ea37c8240f09d402f0c82acc
      
https://github.com/Perl/perl5/commit/2559024c1da43be0ea37c8240f09d402f0c82acc
  Author: David Mitchell <da...@iabyn.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M pp.c

  Log Message:
  -----------
  make RC-stack-aware: unwrap pp_anonhash()

Remove the temporary wrapper from pp_anonhash()


Compare: https://github.com/Perl/perl5/compare/8f6713e525a9%5E...2559024c1da4

Reply via email to