[Perl/perl5] 096dc4: cleanup
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: 096dc4d4f45301b5f48036c1131aa4578c2dd4cd https://github.com/Perl/perl5/commit/096dc4d4f45301b5f48036c1131aa4578c2dd4cd Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M locale.c M makedef.pl Log Message: --- cleanup
[Perl/perl5] 20b929: perldelta for fea90cfbe1f
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 20b9297558d49b1ea3a549afe4f753b148f26f99 https://github.com/Perl/perl5/commit/20b9297558d49b1ea3a549afe4f753b148f26f99 Author: Tony Cook Date: 2023-12-05 (Tue, 05 Dec 2023) Changed paths: M pod/perldelta.pod Log Message: --- perldelta for fea90cfbe1f
[Perl/perl5] fea90c: grow the tmps (mortal) stack exponentially rather ...
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: fea90cfbe1f221d50be90ca5ceb0c6c7f121e442 https://github.com/Perl/perl5/commit/fea90cfbe1f221d50be90ca5ceb0c6c7f121e442 Author: Tony Cook Date: 2023-12-05 (Tue, 05 Dec 2023) Changed paths: M scope.c Log Message: --- grow the tmps (mortal) stack exponentially rather than linearly As with the value stack and the save stack, this gives us constant amortized growth per element. After this patch the profiler shows the "SvPV_shrink_to_cur(sv)" and "sv = sv_2mortal(newSV(80))" calls in do_readline as the hotspots for the io unheated test case, using 55% of the measured time in total. Fixes #21654
[Perl/perl5] bd55a4: mktables more verbose
Branch: refs/heads/smoke-me/khw-env Home: https://github.com/Perl/perl5 Commit: bd55a40ab19b663c98f3c4e18b57be28c71ad605 https://github.com/Perl/perl5/commit/bd55a40ab19b663c98f3c4e18b57be28c71ad605 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M charclass_invlists.h M lib/unicore/Makefile M lib/unicore/mktables M lib/unicore/uni_keywords.pl M regcharclass.h M uni_keywords.h Log Message: --- mktables more verbose Commit: 9e41ef7af8c8296ce2318b55596e2587594b5d23 https://github.com/Perl/perl5/commit/9e41ef7af8c8296ce2318b55596e2587594b5d23 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm Log Message: --- BlackBox dont use rare scripts Commit: f291806148c9a09e5981db4600a26143d80f9cd3 https://github.com/Perl/perl5/commit/f291806148c9a09e5981db4600a26143d80f9cd3 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/harness Log Message: --- XXX t/harness temp tweaks Commit: f61838c07ab6566b35fec5891f0f71d0342830f0 https://github.com/Perl/perl5/commit/f61838c07ab6566b35fec5891f0f71d0342830f0 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/harness Log Message: --- XXX skip croak.t under sanitizer Commit: 46e7ceb763e1f62d98685bdb10324e27c183399e https://github.com/Perl/perl5/commit/46e7ceb763e1f62d98685bdb10324e27c183399e Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/porting/bincompat.t Log Message: --- skip bincompat.t Commit: 1a863980067368197e1e4f32c8e2e74e8a77af74 https://github.com/Perl/perl5/commit/1a863980067368197e1e4f32c8e2e74e8a77af74 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/TEST Log Message: --- XXX skip cpan testing Commit: bb0bb26d30e4a64281445d822445968e792c7e50 https://github.com/Perl/perl5/commit/bb0bb26d30e4a64281445d822445968e792c7e50 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M MANIFEST M charclass_invlists.h M dist/Tie-File/t/29a_upcopy.t M lib/unicore/mktables M lib/unicore/uni_keywords.pl M regcharclass.h A t/re/uniprops11.t A t/re/uniprops12.t A t/re/uniprops13.t A t/re/uniprops14.t A t/re/uniprops15.t A t/re/uniprops16.t A t/re/uniprops17.t A t/re/uniprops18.t A t/re/uniprops19.t A t/re/uniprops20.t A t/re/uniprops21.t A t/re/uniprops22.t A t/re/uniprops23.t A t/re/uniprops24.t M uni_keywords.h Log Message: --- XXX temp: dist/Tie-File/t/29a_upcopy.t: Up alarm Commit: 545e20b5195e459616164f1529d8dc8def9f24df https://github.com/Perl/perl5/commit/545e20b5195e459616164f1529d8dc8def9f24df Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M MANIFEST A t/uni/idstart.pl A t/uni/idstart00.t A t/uni/idstart01.t A t/uni/idstart02.t A t/uni/idstart03.t A t/uni/idstart04.t A t/uni/idstart05.t A t/uni/idstart06.t A t/uni/idstart07.t A t/uni/idstart08.t A t/uni/idstart09.t A t/uni/idstart10.t A t/uni/idstart11.t A t/uni/idstart12.t A t/uni/idstart13.t A t/uni/idstart14.t A t/uni/idstart15.t A t/uni/idstart16.t A t/uni/idstart17.t A t/uni/idstart18.t A t/uni/idstart19.t A t/uni/idstart20.t A t/uni/idstart21.t A t/uni/idstart22.t A t/uni/idstart23.t M t/uni/variables.t Log Message: --- Split t/uni/variables.t into multiple tests These can be done in parallel; otherwise this is often the test that finishes last, holding up the test suite completion. Commit: 0c09b3994e7e2f7f1d8fa4d793057b6cd79acc02 https://github.com/Perl/perl5/commit/0c09b3994e7e2f7f1d8fa4d793057b6cd79acc02 Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/test.pl Log Message: --- XXX test.pl: dont unlink temps Commit: 25b6e4f23c5d75243e7ccfd9e80a3cf1956f5d3f https://github.com/Perl/perl5/commit/25b6e4f23c5d75243e7ccfd9e80a3cf1956f5d3f Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/test.pl Log Message: --- Revert "XXX test.pl: dont unlink temps" This reverts commit 1579ce0dbce549cb594214ba27d4e2fa389f891b. Commit: 4acd191e64d8b5eca67ae30c74756866b3e654fe https://github.com/Perl/perl5/commit/4acd191e64d8b5eca67ae30c74756866b3e654fe Author: Karl Williamson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/run/locale.t Log Message: --- run/locale.t: more debug Commit: 5ef49866f20eab64a1cc9c16340f0b910da9fa61
[Perl/perl5]
Branch: refs/heads/davem/rc4 Home: https://github.com/Perl/perl5
[Perl/perl5] 08368a: document ref assignment in list context
Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 08368a773f179335566e09096be6e015368237d1 https://github.com/Perl/perl5/commit/08368a773f179335566e09096be6e015368237d1 Author: David Mitchell Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M pod/perlref.pod Log Message: --- document ref assignment in list context The 'refaliasing' feature, whereby assigning to a literal reference causes an aliasing operation (e.g. \$x = \...) didn't document what was returned if the assignment was done in list context. This commit adds a basic summary to the docs. See the thread http://nntp.perl.org/group/perl.perl5.porters/267074 for the discussion. Commit: 823fcbfd95001ebd591a4b9c0c19b0e126f22d76 https://github.com/Perl/perl5/commit/823fcbfd95001ebd591a4b9c0c19b0e126f22d76 Author: David Mitchell Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/op/lvref.t Log Message: --- add list context tests to t/op/lvref.t Codify the existing behaviour of alias list assignment in list context, e.g. = ( (\$x, \$y, \(@a)) = () ); and ( (\$x, \$y, \(@a)) = () ) = ; Whether the existing behaviour is sane is up for debate, but if if we change it, it should be a deliberate choice, not an accidental change not spotted by the existing tests. Commit: b98a30fe2d2891321ee60dcd6b44ce6498a1f211 https://github.com/Perl/perl5/commit/b98a30fe2d2891321ee60dcd6b44ce6498a1f211 Author: David Mitchell Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M t/op/lvref.t Log Message: --- add lvalue scalar alias tests to lvref.t This is a compile-time error: (\$x = \1) = \2; However, the following is legal code, but is untested (the 'OPf_MOD' branch in pp_refassign() is not triggered by the test suite): f(\$x = \1); So this commit adds some tests. It assumes that the above code is equivalent to: \$x = \1; f(\$x); Whether the existing behaviour is sane is up for debate, but if if we change it, it should be a deliberate choice, not an accidental change not spotted by the existing tests. Commit: 313c8957d30780156be85d76909da6b1bfdbce27 https://github.com/Perl/perl5/commit/313c8957d30780156be85d76909da6b1bfdbce27 Author: David Mitchell Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M ext/Hash-Util-FieldHash/t/02_function.t Log Message: --- Hash-Util-FieldHash: fixup test on PERL_RC_STACK Hash::Util::FieldHash is an implementation of "inside out" objects, where field values are stored in per-field hashes whose keys are the numeric addresses of the objects, and whose values represent the value of that field for a particular object. The hashes are magic, in that they don't hold a reference to each object, but automatically delete the relevant entry from the hash when the object is freed. This is achieved internally with weak references and a bunch of user magic attached to the hash and the object. A test in 02_function.t checks that such a link in the magic hash to an object is removed after the real object is freed. This test looked something like: $h{[]} = 123; is(keys %h, 0); which relied on the temp anon array being freed almost immediately and triggering the hash delete. Now it turns out that OP_ANONLIST (and its later optimisation, OP_EMPTYAVHV) return an SvTEMP RV. In the code above, this means that [] gets freed at the start of the next statement (by the freetmps() in pp_nextstate()), and all works as expected. However, when pp_emptyavhv() is unwrapped in the next commit, on PERL_RC_STACK builds it will skip mortalising the return result, and just rely on the ref count from the stack to keep the RV alive as long as needed. By "needed", this is only while the helem op is being executed, and the temp array is thus freed at the end of the helem, rather than at the end of the statement. This triggers the entry in the hash being auto-deleted earlier, so when the next op, the scalar assign, executes, it triggers a warning: Useless assignment to a temporary at t/02_function.t line 121. After a lot of faffing about trying to work out what was going on, I concluded that the intent of the test could just as well be done by creating a real array reference variable and to just undef it directly after the hash assign. (I.e. it took some time to convince myself that there wasn't a bug in pp_emptyavhv, pp_sassign nor FieldHash.xs, and that just the test needed fixing.) Commit: 14403447b7488675c7d043c7d7325011727b3e45 https://github.com/Perl/perl5/commit/14403447b7488675c7d043c7d7325011727b3e45 Author: David Mitchell Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M pp.c M t/op/array.t Log Message: --- make RC-stack-aware: unwrap pp_emptyavhv() Remove the temporary wrapper from pp_emptyavhv() Also fix some tests in array.t, which were expecting a temp