summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorRichard Leach <richardleach@users.noreply.github.com>2020-02-25 00:15:32 +0000
committerKarl Williamson <khw@cpan.org>2020-03-11 08:59:23 -0600
commit2bb68ff13bb0f9b946f40262471a292170252cf6 (patch)
tree1b1a9ea7eaccab2101da75e43690999de29d033c /regexp.h
parent8d84f763ec53af119912243b7f699da317bdde34 (diff)
downloadperl-2bb68ff13bb0f9b946f40262471a292170252cf6.tar.gz
regexp.h -reorder regexp to close x86-64 alignment holes
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/regexp.h b/regexp.h
index 7a730800db..50a043c974 100644
--- a/regexp.h
+++ b/regexp.h
@@ -118,37 +118,28 @@ typedef struct regexp {
*/
U32 extflags; /* Flags used both externally and internally */
+ U32 nparens; /* number of capture buffers */
SSize_t minlen; /* minimum possible number of chars in string to match */
SSize_t minlenret; /* mininum possible number of chars in $& */
STRLEN gofs; /* chars left of pos that we search from */
/* substring data about strings that must appear in
* the final match, used for optimisations */
struct reg_substr_data *substrs;
- U32 nparens; /* number of capture buffers */
/* private engine specific data */
- U32 intflags; /* Engine Specific Internal flags */
void *pprivate; /* Data private to the regex engine which
* created this object. */
+ U32 intflags; /* Engine Specific Internal flags */
/*----------------------------------------------------------------------
* Data about the last/current match. These are modified during matching
*/
U32 lastparen; /* highest close paren matched ($+) */
- U32 lastcloseparen; /* last close paren matched ($^N) */
regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */
char **recurse_locinput; /* used to detect infinite recursion, XXX: move to internal */
-
- /*---------------------------------------------------------------------- */
-
- char *subbeg; /* saved or original string so \digit works forever. */
- SV_SAVED_COPY /* If non-NULL, SV which is COW from original */
- SSize_t sublen; /* Length of string pointed by subbeg */
- SSize_t suboffset; /* byte offset of subbeg from logical start of str */
- SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */
- SSize_t maxlen; /* minimum possible number of chars in string to match */
+ U32 lastcloseparen; /* last close paren matched ($^N) */
/*---------------------------------------------------------------------- */
@@ -161,6 +152,16 @@ typedef struct regexp {
/*---------------------------------------------------------------------- */
+ SV_SAVED_COPY /* If non-NULL, SV which is COW from original */
+ SSize_t sublen; /* Length of string pointed by subbeg */
+ SSize_t suboffset; /* byte offset of subbeg from logical start of str */
+ SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */
+ SSize_t maxlen; /* minimum possible number of chars in string to match */
+ char *subbeg; /* saved or original string so \digit works forever. */
+
+ /*---------------------------------------------------------------------- */
+
+
CV *qr_anoncv; /* the anon sub wrapped round qr/(?{..})/ */
} regexp;