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 /embed.pl | |
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 'embed.pl')
-rwxr-xr-x | embed.pl | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -696,6 +696,7 @@ print $em do_not_edit ("embedvar.h"), <<'END'; END for $sym (sort keys %intrp) { + next if $sym eq 'bitcount'; print $em multon($sym,'I','vTHX->'); } |