summaryrefslogtreecommitdiff
path: root/parser.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-02-23 11:41:01 +0100
committerNicholas Clark <nick@ccl4.org>2012-02-27 11:31:48 +0100
commit286a76ab020bbce3bb02a3c2490a7a01ad781c47 (patch)
tree7485b32377e0c922ff1b70b522171eb0eb73e153 /parser.h
parent0644b51e8bc92205f70fa82057bf96db0ceb53e3 (diff)
downloadperl-286a76ab020bbce3bb02a3c2490a7a01ad781c47.tar.gz
In struct yy_parser, change lex_flags to a U8, from part of a bitfield.
lex_flags holds 4 flag bits, with multiple flag bits manipulated together at times, so they can't be split out into individual bitfields. This change permits the C compiler to generate simpler code, reducing toke.o by about 400 bytes on this platform, but doesn't change the size of the structure. lex_flags was added in commit 802a15e9c01d1a0b in August 2011, so is not in any stable release.
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/parser.h b/parser.h
index 931ebd6f35..3a32e1fe60 100644
--- a/parser.h
+++ b/parser.h
@@ -106,7 +106,7 @@ typedef struct yy_parser {
char tokenbuf[256];
U8 lex_fakeeof; /* precedence at which to fake EOF */
- PERL_BITFIELD16 lex_flags:14;
+ U8 lex_flags;
PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */
PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */
} yy_parser;