diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-05-20 08:30:48 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-05-20 10:50:04 +0200 |
commit | efa50c51e3301a2ca8be765fedfdae78eff1615b (patch) | |
tree | ef032fdb284883023b030a999bb925240c7d24be /win32/makefile.mk | |
parent | 869053c868a03539389422a7a28502818825a940 (diff) | |
download | perl-efa50c51e3301a2ca8be765fedfdae78eff1615b.tar.gz |
Replace run-time on-demand initialisation of PL_bitcount with a constant table.
(The table is 256 bytes; the run-time initialisation code is larger than this!)
Adapt generate_uudmap.c to generate the initalisation block for PL_bitcount,
writing the code to bitcount.h, using the same approach as uudmap.h.
To preserve binary compatibility:
for MULTIPLICITY:
keep Ibitcount in the interpreter structure, but remove all the macros that
access it. PL_bitcount is a new symbol in the object file, which won't clash
with anything as that name wasn't used before.
otherwise:
keep PL_bitcount as a char *, but initialise it at compile time to a new
constant array PL_bitcount array. Remove the code that attempts to Safefree()
it at interpreter destruction time.
Diffstat (limited to 'win32/makefile.mk')
-rw-r--r-- | win32/makefile.mk | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/win32/makefile.mk b/win32/makefile.mk index c5abb46b29..2991a11e4a 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -923,6 +923,7 @@ CORE_NOCFG_H = \ CORE_H = $(CORE_NOCFG_H) .\config.h ..\git_version.h UUDMAP_H = ..\uudmap.h +BITCOUNT_H = ..\bitcount.h MICROCORE_OBJ = $(MICROCORE_SRC:db:+$(o)) CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:db:+$(o)) @@ -1298,10 +1299,10 @@ $(X2P) : $(MINIPERL) $(X2P_OBJ) $(EMBED_EXE_MANI) .ENDIF -$(MINIDIR)\globals$(o) : $(UUDMAP_H) +$(MINIDIR)\globals$(o) : $(UUDMAP_H) $(BITCOUNT_H) -$(UUDMAP_H) : $(GENUUDMAP) - $(GENUUDMAP) $(UUDMAP_H) +$(UUDMAP_H) $(BITCOUNT_H) : $(GENUUDMAP) + $(GENUUDMAP) $(UUDMAP_H) $(BITCOUNT_H) $(GENUUDMAP) : $(GENUUDMAP_OBJ) .IF "$(CCTYPE)" == "BORLAND" @@ -1649,7 +1650,7 @@ _clean : -@erase $(PERLSTATICLIB) -@erase $(PERLDLL) -@erase $(CORE_OBJ) - -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) + -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) $(BITCOUNT_H) -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1) -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2) |