[Perl/perl5] 69a1e3: locale.c: Change type of a variable to silence com...

2023-11-27 Thread TAKAI Kousuke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 69a1e3a0d53b6a18f99177ab0c54f286f9a86bb2
  
https://github.com/Perl/perl5/commit/69a1e3a0d53b6a18f99177ab0c54f286f9a86bb2
  Author: TAKAI Kousuke <62541129+t-...@users.noreply.github.com>
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Change type of a variable to silence compiler warning

The variable `already_checked` in Perl_init_i18nl10n() never become
negative, and never exceed `C_trial` which is a small positive integer.
Thus `unsigned int` should be enough.

This fixes build warning on 32-bit target
(where sizeof(unsigned int) == sizeof(SSize_t)):
locale.c: In function ‘Perl_init_i18nl10n’:
locale.c:7370:40: warning: comparison of integer expressions of different 
signedness: ‘unsigned int’ and ‘ssize_t’ {aka ‘int’} [-Wsign-compare]
 7370 | for (unsigned int i = 0; i < already_checked; i++) {
  |^




[Perl/perl5] 3ac05d: define HAS_TRUNC and $Config{d_trunc)for MSVC builds

2023-11-27 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3ac05d10dbdaef0cafb6d83c210b2704a469e89b
  
https://github.com/Perl/perl5/commit/3ac05d10dbdaef0cafb6d83c210b2704a469e89b
  Author: sisyphus 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M win32/config.vc
M win32/config_H.vc

  Log Message:
  ---
  define HAS_TRUNC and $Config{d_trunc)for MSVC builds

Fixes POSIX/t/math.t failures on MSVC builds of MSWin32-x86-multi-thread




[Perl/perl5] 3e3ef4: skip the actual performance check with ASAN

2023-11-27 Thread Tony Cook via perl5-changes
  Branch: refs/heads/smoke-me/tonyc/21654-N-squared-slow
  Home:   https://github.com/Perl/perl5
  Commit: 3e3ef48e030e62f49f1b1fffc1e574c3bdea6450
  
https://github.com/Perl/perl5/commit/3e3ef48e030e62f49f1b1fffc1e574c3bdea6450
  Author: Tony Cook 
  Date:   2023-11-28 (Tue, 28 Nov 2023)

  Changed paths:
M t/perf/tmps.t

  Log Message:
  ---
  skip the actual performance check with ASAN

The seems to greatly extend the runtime.




[Perl/perl5] 55b088: TODO test the performance of growing the tmps stack

2023-11-27 Thread Tony Cook via perl5-changes
  Branch: refs/heads/smoke-me/tonyc/21654-N-squared-slow
  Home:   https://github.com/Perl/perl5
  Commit: 55b0882f99bb41f26378e91d619e77707a044e74
  
https://github.com/Perl/perl5/commit/55b0882f99bb41f26378e91d619e77707a044e74
  Author: Tony Cook 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M MANIFEST
A t/perf/tmps.t

  Log Message:
  ---
  TODO test the performance of growing the tmps stack


  Commit: 7a28defe93b9bb8f3944648692c5d01ac486aed1
  
https://github.com/Perl/perl5/commit/7a28defe93b9bb8f3944648692c5d01ac486aed1
  Author: Tony Cook 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M scope.c
M t/perf/tmps.t

  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


Compare: https://github.com/Perl/perl5/compare/55b0882f99bb%5E...7a28defe93b9


[Perl/perl5] 7e806e: re: fix wording in documentation

2023-11-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7e806ecbca7f1e4b9c2fdedd22c320923c60a80c
  
https://github.com/Perl/perl5/commit/7e806ecbca7f1e4b9c2fdedd22c320923c60a80c
  Author: Lukas Mai 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M ext/re/re.pm

  Log Message:
  ---
  re: fix wording in documentation

Fixes #21674.




[Perl/perl5] 371deb: `valgrindpp.pl`: Fix `new` indirect syntax

2023-11-27 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 371deba642a366634ca4a1af68cdffa5ed70f76a
  
https://github.com/Perl/perl5/commit/371deba642a366634ca4a1af68cdffa5ed70f76a
  Author: Elvin Aslanov 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M Porting/valgrindpp.pl

  Log Message:
  ---
  `valgrindpp.pl`: Fix `new` indirect syntax

In two places
Also format POD in few places




[Perl/perl5] 6f880c: pp.c: Add dummy goto to silence -Wunused-label war...

2023-11-27 Thread TAKAI Kousuke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6f880c1acc64761e1d30381f4c8a3f6f6f87b544
  
https://github.com/Perl/perl5/commit/6f880c1acc64761e1d30381f4c8a3f6f6f87b544
  Author: TAKAI Kousuke <62541129+t-...@users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M pp.c

  Log Message:
  ---
  pp.c: Add dummy goto to silence -Wunused-label warning in pp_divide

The label "ret" was only referred in PERL_TRY_UV_DIVIDE block
which is not compiled on typical 32-bit build, thus it used to
trigger a warning like "label ‘ret’ defined but not used".

Added goto will be optimized out and should not incur any runtime
overhead.




[Perl/perl5] ded9a6: don't optimize (or warn about) control flow ops in...

2023-11-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ded9a6e16032bc75c3732b45c4d4012e22994974
  
https://github.com/Perl/perl5/commit/ded9a6e16032bc75c3732b45c4d4012e22994974
  Author: Lukas Mai 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M lib/B/Deparse.t
M op.c
M t/lib/warnings/op

  Log Message:
  ---
  don't optimize (or warn about) control flow ops in OP_SASSIGN

In short, '$a = return $b' is stored "backwards": OP_SASSIGN has the RHS
of the assignment as its first operand. Warning about precedence makes
no sense here.

Logical assignment ops like //=, ||=, &&= are represented as
OP_{DOR,OR,AND}ASSIGN wrapped around a weird single-child OP_SASSIGN.
Trying to naively elide the inner OP_SASSIGN leaves a dangling outer
OP_{DOR,OR,AND}ASSIGN (which B::Deparse doesn't know what to do with) or
just makes the compiler loop indefinitely. So just don't.

Fixes #21665.