summaryrefslogtreecommitdiff
path: root/embed.pl
Commit message (Collapse)AuthorAgeFilesLines
* Move regen scripts to regen/Steffen Mueller2010-10-101-867/+0
| | | | | Moves the various scripts that are called by regen.pl to a subdirectory to reduce clutter.
* Merge adjacent #ifndef PERL_IMPLICIT_CONTEXT blocks in embed.hNicholas Clark2010-09-301-0/+8
|
* Remove empty #if/#endif pairs from embed.hNicholas Clark2010-09-301-2/+7
|
* Sort embed.fnc by CPP macro and then function name, before generating files.Nicholas Clark2010-09-301-45/+87
| | | | | 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
* When generating embed.h, return early if an embed.fnc entry causes no output.Nicholas Clark2010-09-291-0/+1
| | | | This removes several adjacent empty pairs of #ifdef/#endif.
* In embed.pl, tweak the deduplication logic for global.symNicholas Clark2010-09-291-3/+3
| | | | | | 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.
* Normalise all the pre-processor directives in embed.h and proto.hNicholas Clark2010-09-291-0/+10
| | | | | Remove all whitespace after the # Change #ifdef to #if defined and #ifndef to #if !defined
* Check that all lines in embed.fnc are either functions or known CPP directives.Nicholas Clark2010-09-291-0/+3
|
* Remove unused variable $wrote_protected from embed.plNicholas Clark2010-09-291-2/+0
| | | | This was added in 0cb9638729211ea7 and has never actually been used.
* In embed.pl, directly iterate @embed to generate proto.hNicholas Clark2010-09-291-21/+18
| | | | | This replaces calling walk_table() with a file handle and a reference to &write_protos.
* Skip the blank lines when processing embed.fncNicholas Clark2010-09-291-0/+1
| | | | This has the side effect of simplifying the generated embed.h and proto.h
* Move OP prototypes from pp_proto.h to proto.hNicholas Clark2010-09-271-33/+29
| | | | | | | | | | | | 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.
* Move the generation of {START,END}_EXTERN_C from embed.fnc to embed.plNicholas Clark2010-09-271-1/+13
|
* Use the same $func to Perl_$func macros independent of multiplicity.Nicholas Clark2010-09-251-65/+6
| | | | | | | | 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.)
* Remove @extvars from embed.plNicholas Clark2010-09-221-23/+0
| | | | It's been unused since PERL_POLLUTE was removed in cfef31b27d1a56cd.
* In embed.pl, replace C<$ret .=> with C<$ret => when we know that $ret is "".Nicholas Clark2010-09-221-13/+12
| | | | | Remove one unnecessary initialisation of $ret to "", when all code paths beyond assign to it. Remove one $ret completely (from &write_global_sym).
* Remove &munge_c_files from embed.pl, as it has never been used.Nicholas Clark2010-09-221-34/+3
| | | | | | 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.
* Emit $_ to Perl_$_ for "nocontext" functions under multiplicity.Nicholas Clark2010-09-221-4/+4
| | | | | | | | | (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.
* In embed.pl, refactor walk_table to simplify its arguments.Nicholas Clark2010-09-221-13/+12
| | | | | | 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.
* Ensure regen.pl and the scripts that it calls can be run by older perls.Nicholas Clark2010-09-221-4/+2
| | | | | | | 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.
* In embed.pl's walk_table, the default filename of '-' was never used.Nicholas Clark2010-09-221-4/+1
| | | | Remove it, simplifying the argument passing.
* Programmatically generate the compatibility macros for "misnamed functions".Nicholas Clark2010-09-221-16/+15
| | | | | 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.
* Programmatically generate embed.h's *_nocontext exception list in embed.pl.Nicholas Clark2010-09-211-30/+29
| | | | Previously the list was hard-coded.
* In embed.pl, read embed.fnc into an array, rather than seeking and rereading.Nicholas Clark2010-09-211-17/+22
|
* In embed.pl, %vfuncs has been unused since PERL_OBJECT was removed in 2001.Nicholas Clark2010-09-211-21/+0
| | | | | PERL_OBJECT was removed in commit acfe0abcedaf592f. No point in keeping dead code.
* Eliminate PL_* accessor functions under ithreads.Nicholas Clark2010-09-211-59/+7
| | | | | | | | | | | | | | | | | | | | | | 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.
* Get rid of PERL_POLLUTEJan Dubois2010-07-211-12/+0
| | | | | | | | | | | 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).
* Add support for new flag D in embed.fnc (deprecated)Rafael Garcia-Suarez2009-07-271-0/+3
|
* Remove binary compatibility scaffolding for the change to PL_bitcount.Nicholas Clark2009-05-201-1/+0
|
* Replace run-time on-demand initialisation of PL_bitcount with a constant table.Nicholas Clark2009-05-201-0/+1
| | | | | | | | | | | | | | | | (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.
* Add some documentation to the heads of the various *.pl build scriptsDavid Mitchell2009-05-151-0/+22
|
* Emit less PERL_ARGS_ASSERT_* macrosRafael Garcia-Suarez2009-01-051-1/+2
|
* Bump coopyright year in embed.pl and various files that were just touchedRafael Garcia-Suarez2009-01-021-1/+1
| | | | (and run "make regen")
* PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-1/+3
| | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* Update copyright year in embed.pl, and everything that it builds.Nicholas Clark2008-10-251-1/+1
| | | p4raw-id: //depot/perl@34586
* Drag autodoc.pl and overload.pl into the age of safer_open().Nicholas Clark2008-03-171-5/+5
| | | | | | | | 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
* Rename safer_rename() to rename_if_different(), to accurately describeNicholas Clark2008-03-151-51/+43
| | | | | | | | | | | | | 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
* Re: [patch] refine make regen to be more selectiveJim Cromie2008-03-151-10/+11
| | | | | | Message-ID: <47D720CE.7060004@gmail.com> Date: Tue, 11 Mar 2008 18:16:14 -0600 p4raw-id: //depot/perl@33537
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-5/+17
| | | | | | | | | | | | 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
* [ patch ] add line-number to embed.pl warningsJim Cromie2007-09-171-2/+2
| | | | | Message-ID: <46E820F4.80106@gmail.com> p4raw-id: //depot/perl@31884
* Fix commented out function names in proto.hJan Dubois2007-07-071-1/+1
| | | | | | From: "Jan Dubois" <jand@activestate.com> Message-ID: <058b01c7c032$18a6a260$49f3e720$@com> p4raw-id: //depot/perl@31546
* delete thrdvar.h and move its contents to intrpvar.hDave Mitchell2007-05-201-27/+1
| | | p4raw-id: //depot/perl@31245
* Welcome to 2007! Time to update copyrights from changes earlierSteve Peters2007-01-011-1/+1
| | | | | today. p4raw-id: //depot/perl@29653
* was RE: Perl_die() / Perl_croak()Robin Barker2006-11-131-4/+8
| | | | | | From: "Robin Barker" <Robin.Barker@npl.co.uk> Message-ID: <2C2E01334A940D4792B3E115F95B7226149377@exchsvr1.npl.ad.local> p4raw-id: //depot/perl@29259
* embed.pl enhancementsAndy Lester2006-07-031-12/+33
| | | | | | | Message-ID: <20060702171139.GA20266@petdance.com> Add experimental (and optional) splint support p4raw-id: //depot/perl@28472
* unused context warningsAndy Lester2006-02-241-10/+13
| | | | | Message-ID: <20060221062711.GA16160@petdance.com> p4raw-id: //depot/perl@27300
* Re: [PATCH] s/Null(gv|hv|sv)/NULL/gSteven Schubiger2006-02-031-1/+1
| | | | | | Message-ID: <20060203152449.GI12591@accognoscere.homeunix.org> Date: Fri, 3 Feb 2006 16:24:49 +0100 p4raw-id: //depot/perl@27065
* Add 2006 to the copyright years in the header generated by embed.plNicholas Clark2006-01-021-1/+1
| | | p4raw-id: //depot/perl@26565
* All args in embed.fnc should be namedAndy Lester2005-12-071-20/+9
| | | | | Message-ID: <20051207160818.GA13465@petdance.com> p4raw-id: //depot/perl@26296
* Arrange to only output each symbol once into global.symNicholas Clark2005-10-311-12/+19
| | | p4raw-id: //depot/perl@25923