summaryrefslogtreecommitdiff
path: root/embedvar.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-02-04 11:42:58 -0700
committerKarl Williamson <public@khwilliamson.com>2012-02-09 10:13:57 -0700
commit3f427fd9b3d9172856d6247beacfaedb3a38b17d (patch)
treee5a0b56d8adcac229f0b24c9de5c77ba82322fa7 /embedvar.h
parenta3e1f3a6180fe54649735a678cb15de8aaacf5e9 (diff)
downloadperl-3f427fd9b3d9172856d6247beacfaedb3a38b17d.tar.gz
Add compile-time inversion lists for POSIX classes
These will be used in regcomp.c to replace the existing bit-wise handling of these, enabling subsequent optimizations. These are compiled-in, and hence affect the memory footprint of every program, including those that don't use Unicode. The lists that aren't tiny are therefore currently restricted to only the Latin1 range; anything needed beyond that will have to be read in at execution time, just as before. The design allows for easy conversion from Latin1 to use the full Unicode range, should it be deemed desirable for some or all of these.
Diffstat (limited to 'embedvar.h')
-rw-r--r--embedvar.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/embedvar.h b/embedvar.h
index 0aa20e1151..d12de90121 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -53,6 +53,15 @@
#define PL_DBtrace (vTHX->IDBtrace)
#define PL_Dir (vTHX->IDir)
#define PL_Env (vTHX->IEnv)
+#define PL_HorizSpace (vTHX->IHorizSpace)
+#define PL_L1PosixAlnum (vTHX->IL1PosixAlnum)
+#define PL_L1PosixAlpha (vTHX->IL1PosixAlpha)
+#define PL_L1PosixGraph (vTHX->IL1PosixGraph)
+#define PL_L1PosixLower (vTHX->IL1PosixLower)
+#define PL_L1PosixPrint (vTHX->IL1PosixPrint)
+#define PL_L1PosixPunct (vTHX->IL1PosixPunct)
+#define PL_L1PosixUpper (vTHX->IL1PosixUpper)
+#define PL_L1PosixWord (vTHX->IL1PosixWord)
#define PL_LIO (vTHX->ILIO)
#define PL_Latin1 (vTHX->ILatin1)
#define PL_Mem (vTHX->IMem)
@@ -61,10 +70,30 @@
#define PL_OpPtr (vTHX->IOpPtr)
#define PL_OpSlab (vTHX->IOpSlab)
#define PL_OpSpace (vTHX->IOpSpace)
+#define PL_PerlSpace (vTHX->IPerlSpace)
+#define PL_PosixAlnum (vTHX->IPosixAlnum)
+#define PL_PosixAlpha (vTHX->IPosixAlpha)
+#define PL_PosixBlank (vTHX->IPosixBlank)
+#define PL_PosixCntrl (vTHX->IPosixCntrl)
+#define PL_PosixDigit (vTHX->IPosixDigit)
+#define PL_PosixGraph (vTHX->IPosixGraph)
+#define PL_PosixLower (vTHX->IPosixLower)
+#define PL_PosixPrint (vTHX->IPosixPrint)
+#define PL_PosixPunct (vTHX->IPosixPunct)
+#define PL_PosixSpace (vTHX->IPosixSpace)
+#define PL_PosixUpper (vTHX->IPosixUpper)
+#define PL_PosixWord (vTHX->IPosixWord)
+#define PL_PosixXDigit (vTHX->IPosixXDigit)
#define PL_Proc (vTHX->IProc)
#define PL_Sock (vTHX->ISock)
#define PL_StdIO (vTHX->IStdIO)
#define PL_Sv (vTHX->ISv)
+#define PL_VertSpace (vTHX->IVertSpace)
+#define PL_XPerlSpace (vTHX->IXPerlSpace)
+#define PL_XPosixBlank (vTHX->IXPosixBlank)
+#define PL_XPosixCntrl (vTHX->IXPosixCntrl)
+#define PL_XPosixSpace (vTHX->IXPosixSpace)
+#define PL_XPosixXDigit (vTHX->IXPosixXDigit)
#define PL_Xpv (vTHX->IXpv)
#define PL_amagic_generation (vTHX->Iamagic_generation)
#define PL_an (vTHX->Ian)