| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Moves the various scripts that are called by regen.pl to a subdirectory
to reduce clutter.
|
| |
|
| |
|
|
|
|
|
| |
Additionally, sort embed.h by public API, then core-or-ext, and finally core
only. This reduces the number of #if/#endif pairs in embed.h and proto.h
|
|
|
|
| |
This removes several adjacent empty pairs of #ifdef/#endif.
|
|
|
|
|
|
| |
It is now independent on the ordering of embed.fnc. Previously if there were
alternative implementations of a function, the version that was exported had
to come first, else that symbol was skipped.
|
|
|
|
|
| |
Remove all whitespace after the #
Change #ifdef to #if defined and #ifndef to #if !defined
|
| |
|
|
|
|
| |
This was added in 0cb9638729211ea7 and has never actually been used.
|
|
|
|
|
| |
This replaces calling walk_table() with a file handle and a reference to
&write_protos.
|
|
|
|
| |
This has the side effect of simplifying the generated embed.h and proto.h
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make embed.pl fully responsible for generating prototypes and embedding macros
for pp_* and ck_* functions, placing them in embed.h and proto.h
opcode.pl no longer generates pp_proto.h
Remove the (effectively) duplicate explicit entries for (all but 2) ck_*
functions from embed.fnc
We can't actually remove pp_proto.h from the distribution *yet*, as
ExtUtils::MM_Unix and ExtUtils::MM_VMS have hardcoded lists of the installed
headers. Once this is resolved, we can.
|
| |
|
|
|
|
|
|
|
|
| |
The macros of the form #define foo(a, b) Perl_foo(aTHX_ a, b) will also work
under non-multiplicity. There's no issue with adding explicit arguments in
the non-multiplicity case, because it changes one form of compile-time error
into another. (Function Perl_foo passed the wrong number of arguments into
macro foo passed the wrong number of arguments.)
|
|
|
|
| |
It's been unused since PERL_POLLUTE was removed in cfef31b27d1a56cd.
|
|
|
|
|
| |
Remove one unnecessary initialisation of $ret to "", when all code paths beyond
assign to it. Remove one $ret completely (from &write_global_sym).
|
|
|
|
|
|
| |
It was added, with the only call to it commented out, in cea2e8a9dd23747f.
This means that walk_table's support for undef meaning 'no output' can
removed.
|
|
|
|
|
|
|
|
|
| |
(Strictly for all functions with variable arguments, but *no* explicit
interpreter context arguments. Most of these are *_nocontext.)
We're already emitting macros for the non-multiplicity case, and as these
functions don't need an aTHX_ adding, there's no C portability reason why
we can't generate them here too. So do so, for consistency.
|
|
|
|
|
|
| |
No need to pass in leader and have it default to do_not_edit ($filename),
as the only time the leader is needed is for the case of explicit open file
by name. Use undef instead of '/dev/null' to signal that no output is desired.
|
|
|
|
|
|
|
| |
As the internal comments state, they may be all that is available, particularly
if trying to port something to an obscure platform. There's not that much that
needs changing to get back to 5.005, or from there to 5.004, but beyond there
is hard work, and really not worth it.
|
|
|
|
| |
Remove it, simplifying the argument passing.
|
|
|
|
|
| |
Add a new flag 'O' in embed.fnc to generate a macro mapping perl_$func() to
$func(). The macro for call_atexit() is far too special to do this way.
|
|
|
|
| |
Previously the list was hard-coded.
|
| |
|
|
|
|
|
| |
PERL_OBJECT was removed in commit acfe0abcedaf592f. No point in keeping dead
code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When MULTIPLICITY was first developed, and interpreter state moved into an
interpreter struct, thread and interpreter local PL_* variables were defined
as macros that called accessor functions, returning the address of the value,
outside of the perl core. The intent was to allow members within the
interpreter struct to change size without breaking binary compatibility, so
that bug fixes could be merged to a maintenance branch that necessitated such
a size change.
However, some non-core code defines PERL_CORE, sometimes intentionally to
bypass this mechanism for speed reasons, sometimes for other reasons but with
the inadvertent side effect of bypassing this mechanism. As some of this code
is widespread in production use, the result is that the core *can't* change
the size of members of the interpreter struct, as it will break such modules
compiled against a previous release on that maintenance branch. The upshot
is that this mechanism is redundant, and well-behaved code is penalised by
it. Hence it can and should be removed.
Accessor functions are still needed for globals when PERL_GLOBAL_STRUCT is
defined.
|
|
|
|
|
|
|
|
|
|
|
| |
PERL_POLLUTE was added (but undefined by default) in 5.6 to optionally
expose older 5.005 symbols for backwards compatibility. It's use was
always discouraged, and MakeMaker contains a more specific escape hatch:
perl Makefile.PL POLLUTE=1
This can be used for modules that have not been upgraded to 5.6 naming
conventions (and really should be completely obsolete by now).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
| |
|
| |
|
|
|
|
| |
(and run "make regen")
|
|
|
|
|
|
| |
Message-ID: <25940.1225611819@chthon>
Date: Sun, 02 Nov 2008 01:43:39 -0600
p4raw-id: //depot/perl@34698
|
|
|
| |
p4raw-id: //depot/perl@34586
|
|
|
|
|
|
|
|
| |
Thanks to the wisdom of london.pm, stuff the filename into the SCALAR
slot of the typeglob created in safer_open(), so that ...
Add safer_close(), that will die (with the filename) if the close
fails.
p4raw-id: //depot/perl@33539
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
what it does. Use File::Compare rather than Digest::MD5, as the files
are small enough to simply read in. (File::Compare dates from 5.004)
Remove safer_rename_always(), which isn't used.
DRY by replacing the cargo-culted "open or die" with a new function
safer_open(), which uses Gensym (5.002) to create an anonymous file
handle, and opens and binmodes the file, or dies.
This necessitates replacing bareword file handles with lexicals in all
the callers.
Correct the names of files in close or die constructions.
p4raw-id: //depot/perl@33538
|
|
|
|
|
|
| |
Message-ID: <47D720CE.7060004@gmail.com>
Date: Tue, 11 Mar 2008 18:16:14 -0600
p4raw-id: //depot/perl@33537
|
|
|
|
|
|
|
|
|
|
|
|
| |
ability to create landmines that will explode under someone in the
future when they upgrade their compiler to one with better
optimisation. We've already done this at least twice.
(Yes, some of the assertions are after code that would already have
SEGVd because it already deferences a pointer, but they are put in
to make it easier to automate checking that each and every case is
covered.)
Add a tool, checkARGS_ASSERT.pl, to check that every case is covered.
p4raw-id: //depot/perl@33291
|
|
|
|
|
| |
Message-ID: <46E820F4.80106@gmail.com>
p4raw-id: //depot/perl@31884
|
|
|
|
|
|
| |
From: "Jan Dubois" <jand@activestate.com>
Message-ID: <058b01c7c032$18a6a260$49f3e720$@com>
p4raw-id: //depot/perl@31546
|
|
|
| |
p4raw-id: //depot/perl@31245
|
|
|
|
|
| |
today.
p4raw-id: //depot/perl@29653
|
|
|
|
|
|
| |
From: "Robin Barker" <Robin.Barker@npl.co.uk>
Message-ID: <2C2E01334A940D4792B3E115F95B7226149377@exchsvr1.npl.ad.local>
p4raw-id: //depot/perl@29259
|
|
|
|
|
|
|
| |
Message-ID: <20060702171139.GA20266@petdance.com>
Add experimental (and optional) splint support
p4raw-id: //depot/perl@28472
|
|
|
|
|
| |
Message-ID: <20060221062711.GA16160@petdance.com>
p4raw-id: //depot/perl@27300
|
|
|
|
|
|
| |
Message-ID: <20060203152449.GI12591@accognoscere.homeunix.org>
Date: Fri, 3 Feb 2006 16:24:49 +0100
p4raw-id: //depot/perl@27065
|
|
|
| |
p4raw-id: //depot/perl@26565
|
|
|
|
|
| |
Message-ID: <20051207160818.GA13465@petdance.com>
p4raw-id: //depot/perl@26296
|
|
|
| |
p4raw-id: //depot/perl@25923
|