This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
bba699a
)
parser.h -reorder yy_parser to close x86-64 alignment holes
author
Richard Leach
<richardleach@users.noreply.github.com>
Mon, 24 Feb 2020 23:31:16 +0000
(23:31 +0000)
committer
Karl Williamson
<khw@cpan.org>
Mon, 2 Mar 2020 16:46:33 +0000
(09:46 -0700)
parser.h
patch
|
blob
|
blame
|
history
diff --git
a/parser.h
b/parser.h
index
4fa490a
..
abffd25
100644
(file)
--- a/
parser.h
+++ b/
parser.h
@@
-42,13
+42,14
@@
typedef struct yy_parser {
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
- int yylen; /* length of active reduction */
yy_stack_frame *stack; /* base of stack */
yy_stack_frame *stack_max1;/* (top-1)th element of allocated stack */
yy_stack_frame *ps; /* current stack frame */
yy_stack_frame *stack; /* base of stack */
yy_stack_frame *stack_max1;/* (top-1)th element of allocated stack */
yy_stack_frame *ps; /* current stack frame */
+ int yylen; /* length of active reduction */
/* lexer state */
/* lexer state */
+ I32 lex_formbrack; /* bracket count at outer format level */
I32 lex_brackets; /* square and curly bracket count */
I32 lex_casemods; /* casemod count */
char *lex_brackstack;/* what kind of brackets to pop */
I32 lex_brackets; /* square and curly bracket count */
I32 lex_casemods; /* casemod count */
char *lex_brackstack;/* what kind of brackets to pop */
@@
-59,7
+60,7
@@
typedef struct yy_parser {
U8 expect; /* how to interpret ambiguous tokens */
bool preambled;
bool sub_no_recover; /* can't recover from a sublex error */
U8 expect; /* how to interpret ambiguous tokens */
bool preambled;
bool sub_no_recover; /* can't recover from a sublex error */
-
I32 lex_formbrack; /* bracket count at outer format level
*/
+
U8 sub_error_count; /* the number of errors before sublexing
*/
OP *lex_inpat; /* in pattern $) and $| are special */
OP *lex_op; /* extra info to pass back on op */
SV *lex_repl; /* runtime replacement from s/// */
OP *lex_inpat; /* in pattern $) and $| are special */
OP *lex_op; /* extra info to pass back on op */
SV *lex_repl; /* runtime replacement from s/// */
@@
-96,7
+97,6
@@
typedef struct yy_parser {
U16 in_my; /* we're compiling a "my"/"our" declaration */
U8 lex_state; /* next token is determined */
U8 error_count; /* how many compile errors so far, max 10 */
U16 in_my; /* we're compiling a "my"/"our" declaration */
U8 lex_state; /* next token is determined */
U8 error_count; /* how many compile errors so far, max 10 */
- U8 sub_error_count; /* the number of errors before sublexing */
HV *in_my_stash; /* declared class of this "my" declaration */
PerlIO *rsfp; /* current source file pointer */
AV *rsfp_filters; /* holds chain of active source filters */
HV *in_my_stash; /* declared class of this "my" declaration */
PerlIO *rsfp; /* current source file pointer */
AV *rsfp_filters; /* holds chain of active source filters */
@@
-112,11
+112,11
@@
typedef struct yy_parser {
line_t herelines; /* number of lines in here-doc */
line_t preambling; /* line # when processing $ENV{PERL5DB} */
line_t herelines; /* number of lines in here-doc */
line_t preambling; /* line # when processing $ENV{PERL5DB} */
- bool sig_seen; /* the currently parsing sub has a signature */
/* these are valid while parsing a subroutine signature */
UV sig_elems; /* number of signature elements seen so far */
UV sig_optelems; /* number of optional signature elems seen */
char sig_slurpy; /* the sigil of the slurpy var (or null) */
/* these are valid while parsing a subroutine signature */
UV sig_elems; /* number of signature elements seen so far */
UV sig_optelems; /* number of optional signature elems seen */
char sig_slurpy; /* the sigil of the slurpy var (or null) */
+ bool sig_seen; /* the currently parsing sub has a signature */
bool recheck_utf8_validity;
bool recheck_utf8_validity;