Branch: refs/heads/yves/regnode_typedefs
  Home:   https://github.com/Perl/perl5
  Commit: a130d4d2c32912275d9d972f782288ca618cc39d
      
https://github.com/Perl/perl5/commit/a130d4d2c32912275d9d972f782288ca618cc39d
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - fix comment, change 'x' to 'X'

the rest of the surrounding comments use X not x.


  Commit: f71ed3520132d62ef7e3d1ac0141313dfb885dea
      
https://github.com/Perl/perl5/commit/f71ed3520132d62ef7e3d1ac0141313dfb885dea
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - fixup whitespace in comment so table lines up

The table got a bit out of whack, this fixes it back to what is was
meant to be.


  Commit: 1ec250a45eef50b1821adfafc8551e96dceec5e7
      
https://github.com/Perl/perl5/commit/1ec250a45eef50b1821adfafc8551e96dceec5e7
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regen/regcomp.pl
    M regnodes.h

  Log Message:
  -----------
  regen/regcomp.pl - create typedefs for all regnode types

Currently we hard code the struct used by the different regop types.
This makes it awkward to change the structure used by a specific regop
as the struct it uses might be used in many contexts, and each cases
of a regop using that structure must be reviewed to see if it needs
to be changed.

This patch adds a typedef for each regnode. The typedefs are named
'tregnode_OP', for instance 'tregnode_TRIE' is typedefed to 'struct
charclass' (at the time of this commit). This allows the code to do
things like 'sizeof(tregnode_TRIE)' and should the exact struct used
for TRIE regops change in the future then no code need be reviewed
or changed.


  Commit: 517646709337f9b62a0149901b26bd67fa6200fb
      
https://github.com/Perl/perl5/commit/517646709337f9b62a0149901b26bd67fa6200fb
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M charclass_invlists.h
    M pod/perlreguts.pod
    M regcomp.c
    M regcomp.h
    M regen/mk_invlists.pl
    M regen/regcomp.pl
    M regnodes.h

  Log Message:
  -----------
  regen/regcomp.pl - rename regarglen to PL_regarglen for regexec.c

In a follow up patch we will use this data from regexec.c which
currently cannot see the variable.

[NOTE: run regen/mk_invlists.pl on this later.]


  Commit: 7008b69e4e27615789e3cd087cdc82366ec2aff3
      
https://github.com/Perl/perl5/commit/7008b69e4e27615789e3cd087cdc82366ec2aff3
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - fixup comment, orig_emit is a node offset

This comment was a bit misleading, as orig_emit is an offset
into the program, not a pointer, it needs the REGNODE_p() macro
to convert from offset to pointer.


  Commit: 36a8d5e5308ca0d3e1cd6d4558b9ccdc4c026332
      
https://github.com/Perl/perl5/commit/36a8d5e5308ca0d3e1cd6d4558b9ccdc4c026332
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M embed.fnc
    M embed.h
    M proto.h
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - add reg_nextoper and check_reg_nextoper

reg_nextoper implements dynamically finding the NEXTOPER(node)
based on the actualy regop that node points at.

check_reg_nextoper implements *checking* that what NEXTOPER(node)
would return is the same as what reg_nextoper would produce.


  Commit: 4330fc06d814708d8227d0763fa9dc5f63b84b32
      
https://github.com/Perl/perl5/commit/4330fc06d814708d8227d0763fa9dc5f63b84b32
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.h

  Log Message:
  -----------
  regcomp.h - add more NEXTOPER macros and validation


  Commit: 62667fbd70d2edfd882e1f8134b00acbaa57a410
      
https://github.com/Perl/perl5/commit/62667fbd70d2edfd882e1f8134b00acbaa57a410
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - use new NEXTOPER macros


  Commit: cc5ba332f885c8f389bde3996bad62a6c0e256b9
      
https://github.com/Perl/perl5/commit/cc5ba332f885c8f389bde3996bad62a6c0e256b9
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regexec.c

  Log Message:
  -----------
  regexec.c - use new NEXTOPER macros


  Commit: a7866b49d3694d72e7fe293aafa328b86d6ad057
      
https://github.com/Perl/perl5/commit/a7866b49d3694d72e7fe293aafa328b86d6ad057
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - replace OP(o) with const var in Perl_regprop()

OP(o) is used all over the place in Perl_regprop(), replace it with a
const var instead.


  Commit: 83d3cf433acc411300bb9b6e6ec14ae72ed4466e
      
https://github.com/Perl/perl5/commit/83d3cf433acc411300bb9b6e6ec14ae72ed4466e
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - use a constant var for OP(node) in S_dumpuntil

Simplify the logic of the loop so that we do not have to deal with things like
"While that was not END last time...", use a constant var for op, and remove
unnecessary (U8) casts that just clutter up the code.


  Commit: ea5f10858c906fc71243556fea5e568626da737e
      
https://github.com/Perl/perl5/commit/ea5f10858c906fc71243556fea5e568626da737e
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M pod/perldebguts.pod
    M regcomp.c
    M regcomp.h
    M regcomp.sym
    M regexec.c
    M regnodes.h
    M t/re/pat.t

  Log Message:
  -----------
  code for tracking parens in trie and branch nodes


  Commit: d39c130fb60c9a8163fcd8935743ce1072e8ef1b
      
https://github.com/Perl/perl5/commit/d39c130fb60c9a8163fcd8935743ce1072e8ef1b
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c - in Perl_regprop show the capture buffer data we just added

BRANCH, BRANCHJ, and TRIE and TRIEC nodes now store the how many capture
buffers OPEN opcodes (and logical equivalents) were defined BEFORE them.
This adds diagnostic output to Perl_regprop() so this data can be seen
in the dump.

Current notation is "(buf: %d)", this might change in the future.


  Commit: 6cbc19d73de61f4c0a2153f303d5d74cf8075732
      
https://github.com/Perl/perl5/commit/6cbc19d73de61f4c0a2153f303d5d74cf8075732
  Author: Yves Orton <demer...@gmail.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M regcomp.c
    M regexec.c
    M t/re/anyof.t
    M t/re/pat.t

  Log Message:
  -----------
  arrows


Compare: https://github.com/Perl/perl5/compare/8b4d5ae5e7bf...6cbc19d73de6

Reply via email to