In perl.git, the branch smoke-me/khw-onepass has been created <https://perl5.git.perl.org/perl.git/commitdiff/826f8f3450cde90951925318558e69c9f508a833?hp=0000000000000000000000000000000000000000>
at 826f8f3450cde90951925318558e69c9f508a833 (commit) - Log ----------------------------------------------------------------- commit 826f8f3450cde90951925318558e69c9f508a833 Author: Karl Williamson <k...@cpan.org> Date: Thu Oct 11 15:58:41 2018 -0600 smoke commit 8fd936b11752a359bb7dd5d8ae785f0759644558 Author: Karl Williamson <k...@cpan.org> Date: Mon Oct 8 08:00:39 2018 -0600 regcomp.c: Consolidate 2nd pass for warnings Warnings have to generally be delayed being output until the 2nd pass, as the first pass can be restarted multiple times, and so the same warning could be output multiple times if the restarted code outputs a warning. Prior to this commit, there was an assert that the warnings are being output in the 2nd pass. This commit changes it so that the assert is turned into an 'if' in common code, and the dispersed 'if's that formerly were used are removed as much as possible. If that removes an indented block, this commit also outdents the block contents. commit 8d3862636af039fcaa12cbe1948ef82d7fb5d264 Author: Karl Williamson <k...@cpan.org> Date: Mon Oct 8 07:22:47 2018 -0600 regcomp.c: Add macro for warning experimental features This consolidates the code that warns that an experimental feature is being called into a common macro. commit 43f64d660bab0858a522fedba29ba34e61cd036e Author: Karl Williamson <k...@cpan.org> Date: Mon Oct 8 07:06:52 2018 -0600 regcomp.c: Put common code in a macro This trivial code is extracted into a common macro in preparation for a future commit when it will become non-trivial, and hence that logic will only have to occur once. commit cd98db00b094a0dcd9d73dc3758eca0d8ff1bbe8 Author: Karl Williamson <k...@cpan.org> Date: Sun Oct 7 08:03:47 2018 -0600 regcomp.c: Rename macro and label These move away from talking about pass 1, in preparation for future commits. commit ecfaa01a893af0bf1ae1da2d5a70d3e3937b0c24 Author: Karl Williamson <k...@cpan.org> Date: Tue Oct 2 22:24:05 2018 -0600 regcomp.c: Reorder clauses in an 'if' This will help a future commit commit d6f8376acaad5781b5720a068d06300f502edd11 Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 30 20:34:52 2018 -0600 This reverts commit Revert "XXX regcomp.h: -Dr turns on everything" This reverts commit commit ec2044adcdcc8888dec5993cae238496b0ff15a7 Author: Karl Williamson <k...@cpan.org> Date: Sat Sep 29 21:09:32 2018 -0600 XXX regcomp.h: -Dr turns on everything commit c2536601a5bbdc75c6f2477664f71e22e8ef66a6 Author: Karl Williamson <k...@cpan.org> Date: Tue Sep 25 10:38:57 2018 -0600 regcomp.c: Use macro instead of spelling out struct details The existing macro is now used consistently throughout this file commit d3fdffe12d2129be8c13d04542a6171b48f0951d Author: Karl Williamson <k...@cpan.org> Date: Fri Sep 21 10:51:12 2018 -0600 Revert "remove ANYOF_MATCHES_POSIXL" This reverts commit commit 18db07ac9534fa577f9d6f9a99bd0d6870468752 Author: Karl Williamson <k...@cpan.org> Date: Fri Sep 21 10:22:39 2018 -0600 remove ANYOF_MATCHES_POSIXL commit d281ae19e0ab963b4e8ec0d2e37cdeb058ac184f Author: Karl Williamson <k...@cpan.org> Date: Mon Sep 17 18:17:02 2018 -0600 rxi commit f9db1e08c6c61b99622c496aca20d024ef11a3c3 Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 22:58:23 2018 -0600 regcomp.c: Use regnode offsets during parsing This changes the pattern parsing to use offsets from the first node in the pattern program, rather than direct addresses of such nodes. This is in preparation for a later change in which more mallocs will be done which will change those addresses, whereas the offsets will remain constant. Once the final program space is allocated, real addresses are used as currently. This limits the necessary changes to a few functions. Also, real addresses are used if they are constant across a function; again this limits the changes. Doing this introduces a new typedef for clarity 'regnode_offset' which is not a pointer, but a count. This necessitates changing a bunch of things to use 0 instead of NULL to indicate an error. A new boolean is also required to indicate if we are in the first or second passes of the pattern. And separate heap space is allocated for scratch during the first pass. commit a01fadddb4a11f6c4e49d3a270912bb409e1020b Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 11:15:00 2018 -0600 XXX regcomp.sym: ANYOF lengths Won't compile without more stuff commit c540329a81586850e2797afaf9796f49658438a9 Author: Karl Williamson <k...@cpan.org> Date: Fri Sep 21 08:33:31 2018 -0600 regcomp.h: Swap struct vs typedef This struct has two names. I previously left the less descriptive one as the primary because of back compat issues. But I now realize that regcomp.h is only used in the core, so it's ok to swap for the better name to be primary. commit bc4194dcbc59382c3f814225e109ce49e81cca80 Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 22:24:59 2018 -0600 regcomp.c: Generate new regnode for /[[:posix:]]/l This follows on to the previous commit and generates code to use the new regnode. This allows some simplifications, with more to come in the next commit. The determination of the regnode is moved later in the function that does this; the code that backed this out if we guessed wrong is excised. commit 949757b2c9188b615f803715c67ee99de64bd28f Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 10:52:01 2018 -0600 regcomp.sym: Add node type ANYOF_POSIXL This is like ANYOFL, but has runtime matches of /[[:posix:]]/ in it, which requires extra space. Adding this will allow a future commit to simplify handling for ANYOF nodes. commit 0ba6947021a15ecce0f4e0b5d24f5b6eff10eafa Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 22:23:00 2018 -0600 regcomp.h: Add some macros These are use to allow the bit map of run-time /[[:posix:]]/l classes to be stored in a variable, and not just in the argument of an ANYOF node. This will enable the next commit to use such a variable. The current macros are rewritten to just call the new ones with the proper arguments. A macro of a different sort is also created to allow one to set the entire bit field in the node at once. commit 19957d1ff004bd15d2ee7f24b7341c42d3cb1d1a Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 22:21:44 2018 -0600 regcomp.h: Remove unused macros I had kept these macros around for backwards compatibility. But now I realize regcomp.h is only for core use, so no need to retain them. commit f52c48da6e2d7ab4a33ba144b7dae9ca283365ad Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 22:53:37 2018 -0600 regcomp.c: White-space, comment only commit b2fd11859f827895b38ce643028522fc963f4b42 Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 10:23:01 2018 -0600 regcomp.h: White-space, comments only commit d2ecbf89d33112ca8510f993f5b8c2927be5f341 Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 22:35:48 2018 -0600 regcomp.c: Add conversion macros and use them This adds macros that hide the details in finding the regnode address from the offset from the beginning of the pattern's program, and vice versa. commit 3ac950d8cec235cd16e8cee981839247e0f33cd1 Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 22:25:27 2018 -0600 regcomp.c: Change macro formal parameter name The parameter is not a node, but an offset into the array of nodes; The new name is clearer. commit 4354d95d4079a2f0afbc9a1d6cd0b0a08683a73e Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 22:20:42 2018 -0600 regcomp.c: Use pre-existing macro This macro expands to the code it replaces. This will make a future commit easier. commit 6c0b87ee301a9cb9d791fd88975b548a337a28c4 Author: Karl Williamson <k...@cpan.org> Date: Sun Sep 16 20:30:33 2018 -0600 regcomp.c: Rename macros; reword some panic messages These macros had the failure code hard-wired into their names. In preparation for changing that failure code, change the names and messages into more generic ones. commit 1c8e8008672529685c3a3d09120bc4132411c9b8 Author: Karl Williamson <k...@cpan.org> Date: Thu Sep 20 09:44:21 2018 -0600 regcomp.h: Create FILL_NODE macro and use it This is a more fundamental operation than the pre-existing FILL_ADVANCE_NODE, which is changed to use this for the portion that fills the node but doesn't advance the pointer. commit 42368967bfbd3ad504cfb96b91e7306882d2b976 Author: Karl Williamson <k...@cpan.org> Date: Sat Sep 15 08:17:21 2018 -0600 regcomp.c: Add #ifdefs for RE_TRACK_PATTERN_OFFSETS This is supposed to be independent of DEBUGGING, but in fact regcomp.c would not compile unless both were false or both true commit 501e4f495e9ca04d5b4d4d62e25eff5ccfd39887 Author: Karl Williamson <k...@cpan.org> Date: Tue Jul 24 20:26:39 2018 -0600 XXX Don't push: Run t/harness in parallel ----------------------------------------------------------------------- -- Perl5 Master Repository