By combining two booleans with the flags field, we save some space.
By making it a 16-bit instead of 32-bit field (only two flag bits
are currently used), we also avoid alignment holes (I hope; I’m
not very good at this).
COP *saved_curcop; /* the previous PL_curcop */
char tokenbuf[256];
- bool in_pod; /* lexer is within a =pod section */
U8 lex_fakeeof; /* precedence at which to fake EOF */
- bool filtered; /* source filters in evalbytes */
- U32 lex_flags;
+ PERL_BITFIELD16 lex_flags:14;
+ PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */
+ PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */
} yy_parser;
/* flags for lexer API */