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