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 /vms | |
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 'vms')
-rw-r--r-- | vms/descrip_mms.template | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index 6a0668a9ba..f50745726a 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -502,8 +502,8 @@ perlmini.c : perl.c perlmini$(O) : perlmini.c $(CC) $(CORECFLAGS) $(MMS$SOURCE) -uudmap.h : generate_uudmap$(E) - MCR SYS$DISK:[]generate_uudmap$(E) uudmap.h +uudmap.h bitcount.h : generate_uudmap$(E) + MCR SYS$DISK:[]generate_uudmap$(E) uudmap.h bitcount.h generate_uudmap$(E) : generate_uudmap$(O) $(CRTL) Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) generate_uudmap$(O) $(CRTLOPTS) @@ -1692,7 +1692,7 @@ doop$(O) : doop.c $(h) $(CC) $(CORECFLAGS) $(MMS$SOURCE) dump$(O) : dump.c $(h) $(CC) $(CORECFLAGS) $(MMS$SOURCE) -globals$(O) : globals.c uudmap.h $(h) +globals$(O) : globals.c uudmap.h bitcount.h $(h) $(CC) $(CORECFLAGS) $(MMS$SOURCE) gv$(O) : gv.c $(h) $(CC) $(CORECFLAGS) $(MMS$SOURCE) @@ -1824,6 +1824,7 @@ tidy : cleanlis - If F$Search("vms.c;-1") .nes."" Then Purge/NoConfirm/Log vms.c - If F$Search("perlmain.c;-1") .nes."" Then Purge/NoConfirm/Log perlmain.c - If F$Search("uudmap.h;-1") .nes."" Then Purge/NoConfirm/Log uudmap.h + - If F$Search("bitcount.h;-1") .nes."" Then Purge/NoConfirm/Log bitcount.h - If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar - If F$Search("[.ext.DynaLoader]dl_vms$(O);-1").nes."" Then Purge/NoConfirm/Log [.ext.DynaLoader]dl_vms$(O) - If F$Search("[.ext.DynaLoader]dl_vms.c;-1").nes."" Then Purge/NoConfirm/Log [.ext.DynaLoader]dl_vms.c @@ -1859,6 +1860,7 @@ clean : tidy cleantest cleanup_unpacked_files - If F$Search("perlmain.c") .nes."" Then Delete/NoConfirm/Log perlmain.c;* - If F$Search("perlmini.c") .nes."" Then Delete/NoConfirm/Log perlmini.c;* - If F$Search("uudmap.h") .nes."" Then Delete/NoConfirm/Log uudmap.h;* + - If F$Search("bitcount.h") .nes."" Then Delete/NoConfirm/Log bitcount.h;* - If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;* - If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;* - If F$Search("[.ext.DynaLoader]dl_vms$(O)").nes."" Then Delete/NoConfirm/Log [.ext.DynaLoader]dl_vms$(O);* |