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

[Perl/perl5] 656489: Add a newTRYCATCHOP(); migrate the custom codeout...

From:
Paul Evans via perl5-changes
Date:
February 14, 2021 13:45
Subject:
[Perl/perl5] 656489: Add a newTRYCATCHOP(); migrate the custom codeout...
Message ID:
Perl/perl5/push/refs/heads/blead/ab2bb8-06ea6d@github.com
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 656489102eb44a763e82ae9961a7097021182677
      https://github.com/Perl/perl5/commit/656489102eb44a763e82ae9961a7097021182677
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M embed.fnc
    M embed.h
    M op.c
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M proto.h

  Log Message:
  -----------
  Add a newTRYCATCHOP(); migrate the custom code out of perly.y into it


  Commit: 383bf72f374cd3608e3ae2a186dd0c3a8d2fbf53
      https://github.com/Perl/perl5/commit/383bf72f374cd3608e3ae2a186dd0c3a8d2fbf53
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M embed.h
    M ext/Opcode/Opcode.pm
    M lib/B/Op_private.pm
    M op.c
    M op.h
    M opcode.h
    M opnames.h
    M pp_ctl.c
    M pp_proto.h
    M proto.h
    M regen/opcodes

  Log Message:
  -----------
  A totally new optree structure for try/catch involving three new optypes


  Commit: b086613286770c19d8327e3f4d9d58110a08c2c9
      https://github.com/Perl/perl5/commit/b086613286770c19d8327e3f4d9d58110a08c2c9
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M op.c

  Log Message:
  -----------
  OP_ENTERTRY no longer needs to handle OPf_SPECIAL flag


  Commit: 683e0651b057a7be4b2765ceb3d9f6617cd4c464
      https://github.com/Perl/perl5/commit/683e0651b057a7be4b2765ceb3d9f6617cd4c464
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M lib/B/Deparse.pm
    M lib/B/Deparse.t

  Log Message:
  -----------
  Add B::Deparse support for try/catch syntax


  Commit: 6b729d2440b795f848f610a8cc410a3f6be6388b
      https://github.com/Perl/perl5/commit/6b729d2440b795f848f610a8cc410a3f6be6388b
  Author: Tony Cook <tony@develop-help.com>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M pp_ctl.c
    M proto.h

  Log Message:
  -----------
  try isn't treated as a sub call like eval is

The try change added code to pp_return to skip past try contexts
when looking for the sub/sort/eval context to return from.

This was only needed because cx_pusheval() sets si_cxsubix to the
current frame and try uses that function to push it's context, that
value is then used by the dopopto_cursub() macro to shortcut
walking the context stack.

Since we don't need to treat try as a sub for return, list vs array
checks or lvalue sub checks, don't set si_cxsubix on try.


  Commit: 7bf2a704fb5fd949e313411896af9e6e6aef8e44
      https://github.com/Perl/perl5/commit/7bf2a704fb5fd949e313411896af9e6e6aef8e44
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M t/op/try.t

  Log Message:
  -----------
  Unit-test that try{return} within :lvalue sub behaves correctly (GH#18553)


  Commit: 06ea6db364113525b11334d875834cb5ded50dba
      https://github.com/Perl/perl5/commit/06ea6db364113525b11334d875834cb5ded50dba
  Author: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
  Date:   2021-02-14 (Sun, 14 Feb 2021)

  Changed paths:
    M embed.fnc
    M embed.h
    M ext/Opcode/Opcode.pm
    M inline.h
    M lib/B/Deparse.pm
    M lib/B/Deparse.t
    M lib/B/Op_private.pm
    M op.c
    M op.h
    M opcode.h
    M opnames.h
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pp_ctl.c
    M pp_proto.h
    M proto.h
    M regen/opcodes
    M t/op/try.t

  Log Message:
  -----------
  Merge branch 'leonerd/feature-try-2' into blead


Compare: https://github.com/Perl/perl5/compare/ab2bb8aa34c9...06ea6db36411



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