develooper Front page | perl.perl5.changes | Postings from September 2021

[Perl/perl5] 264786: ParseXS: always XSprePUSH when producing anoutput...

From:
Tony Cook via perl5-changes
Date:
September 13, 2021 00:58
Subject:
[Perl/perl5] 264786: ParseXS: always XSprePUSH when producing anoutput...
Message ID:
Perl/perl5/push/refs/heads/blead/e0f952-6128f4@github.com
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 2647863031762b1897841364c638c3727bc043f1
      https://github.com/Perl/perl5/commit/2647863031762b1897841364c638c3727bc043f1
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/t/002-more.t
    M dist/ExtUtils-ParseXS/t/XSMore.xs

  Log Message:
  -----------
  ParseXS: always XSprePUSH when producing an output list

The late XSprePUSH with a non-PUSHx() RETVAL was causing the
stack and accesses to ST(n) to be out of sync.

If generated RETVAL code does write directly to ST(n) (as much does),
doesn't generate a push and we're generating output list code,
adjust SP to match to keep things in sync.

Also test that the original example case that worked, continues to
work.

Fixes #19054


  Commit: 42510d5ab1dca0720ccf23ac6156d1d54aa971b5
      https://github.com/Perl/perl5/commit/42510d5ab1dca0720ccf23ac6156d1d54aa971b5
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm

  Log Message:
  -----------
  bump $ExtUtils::ParseXS::VERSION


  Commit: f0abb35079fb598ed88ef367d405fdd698a736d6
      https://github.com/Perl/perl5/commit/f0abb35079fb598ed88ef367d405fdd698a736d6
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  test and fix using T_SV as an OUTPUT parameter


  Commit: 6c168fa48629feec620455099a41f5a9dbf63d3b
      https://github.com/Perl/perl5/commit/6c168fa48629feec620455099a41f5a9dbf63d3b
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm

  Log Message:
  -----------
  bump $XS::Typemap::VERSION


  Commit: ade1dcccb274812424b79cdbce70a7110d5285a7
      https://github.com/Perl/perl5/commit/ade1dcccb274812424b79cdbce70a7110d5285a7
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  test and fix using T_SVREF_REFCOUNT as an output parameter


  Commit: 83b243fa48968f4349136fe6943f0c21313b217e
      https://github.com/Perl/perl5/commit/83b243fa48968f4349136fe6943f0c21313b217e
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  test and fix using T_HVREF_REFCOUNT as an output parameter


  Commit: b61667640189f6de8d03dd67faf4f19915834bb4
      https://github.com/Perl/perl5/commit/b61667640189f6de8d03dd67faf4f19915834bb4
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  test and fix using T_AVREF_REFCOUNT as an output parameter


  Commit: 2adc92a0e8937b18cd278515281fd462a5edf08e
      https://github.com/Perl/perl5/commit/2adc92a0e8937b18cd278515281fd462a5edf08e
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  test and fix using T_CVREF_REFCOUNT as an output parameter


  Commit: f572f0830b491cf42d95232aa4755d9106e0e3f1
      https://github.com/Perl/perl5/commit/f572f0830b491cf42d95232aa4755d9106e0e3f1
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

  Log Message:
  -----------
  ParseXS: rename $c to $outlist_count

$c could be a count, but a count of what? clarify it.


  Commit: 6128f436cec56eb058997a31b6565620b6d9109d
      https://github.com/Perl/perl5/commit/6128f436cec56eb058997a31b6565620b6d9109d
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
    M dist/ExtUtils-ParseXS/t/002-more.t
    M dist/ExtUtils-ParseXS/t/XSMore.xs
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs
    M ext/XS-Typemap/t/Typemap.t
    M lib/ExtUtils/typemap

  Log Message:
  -----------
  Fix OUTLIST handling for EU::ParseXS, and typemap fixes


Compare: https://github.com/Perl/perl5/compare/e0f95237e410...6128f436cec5



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About