summaryrefslogtreecommitdiff
path: root/embed.fnc
Commit message (Collapse)AuthorAgeFilesLines
* Add save_adelete()/SAVEADELETE() to save on the stack an array element deleteVincent Pit2008-12-281-0/+1
|
* Break out the set-the-MRO logic from the XS_mro_set_mro into Perl_mro_set_mro(),Nicholas Clark2008-12-271-0/+2
| | | | which can be called from C code (such as the guts of extensions).
* Proper pluggable Method Resolution Orders. 'c3' is now implemented outside theNicholas Clark2008-12-271-1/+0
| | | | | | core, in ext/mro/mro.xs. Also move mro::_nextcan() to mro.xs. It needs direct access to S_mro_get_linear_isa_c3(), and nothing on CPAN calls it, except via methods defined in mro.pm. Hence all users already require mro;
* Explictly export Perl_mro_meta_init() so that HvMROMETA() can become part of theNicholas Clark2008-12-271-2/+2
| | | | | public API and be used outside the core. However, leave Perl_mro_meta_init() as a private implementation detail.
* Add Perl_mro_register() to register Method Resolution Orders,Nicholas Clark2008-12-271-0/+2
| | | | | | Perl_mro_get_from_name() to retrieve MROs by name, and PL_registered_mros to store them in. Abolish the static array of mros, and instead register the dfs and c3 MRO structures.
* Repurpose struct mro_meta to allow it to store cached linear ISA for arbitaryNicholas Clark2008-12-271-0/+5
| | | | | | | method resolution orders. mro_linear_dfs becomes a hash holding the different MROs' private data. mro_linear_c3 becomes a shortcut pointer to the current MRO's private data.
* Remove "b" flag for sv_utf8_upgrade_nomg in embed.fncRafael Garcia-Suarez2008-12-271-1/+1
| | | | | This is only a macro, without a Perl_ implementation. Hopefully this fixes the Win32 build.
* Update comments and documentation dealing with utfKarl2008-12-261-0/+1
|
* Better fix for bug #6665Rafael Garcia-Suarez2008-12-261-1/+1
| | | | | | | | | | Add a parameter to S_incpush to indicate if the new directory should be appended or prepended to @INC, and use it set to TRUE when parsing the shebang line. There is also a better version of the test. This replaces commit ccb8f6a64f3dd06b4360bc27c194b28e6766a6ad.
* It looks like the previous patch is working fine on UNIXish boxes,Steve Peters2008-12-191-1/+0
| | | | | but is failing on Windows. Anyways sv_utf8_upgrade_nomg() is a macro anyways, so moving the documentation to sv.h.
* Subject: PATCH 5.10 documentationSteve Peters2008-12-191-0/+1
| | | | | | From: karl williamson <public@khwilliamson.com> Date: Tue, 16 Dec 2008 16:00:34 -0700 Message-ID: <49483312.80804@khwilliamson.com>
* Silence a compiler warning introduced by 34963Steve Hay2008-12-021-1/+1
| | | p4raw-id: //depot/perl@34982
* Convention seems to be that static definitions are also made visible byNicholas Clark2008-12-011-14/+14
| | | | | || defined(PERL_DECL_PROT), so add this where it is missing. p4raw-id: //depot/perl@34972
* Eliminate setenv_getix()Jerry D. Hedden2008-12-011-3/+0
| | | | | | | From: "Jerry D. Hedden" <jdhedden@cpan.org> Message-ID: <1ff86f510812010947p7df19438kc19c279bcffe4b83@mail.gmail.com> Date: Mon, 1 Dec 2008 12:47:35 -0500 p4raw-id: //depot/perl@34971
* Add S_save_pushptri32ptr() and use it to re-implement Perl_save_hints()Nicholas Clark2008-12-011-0/+4
| | | | | and Perl_save_aelem(). p4raw-id: //depot/perl@34966
* Move the implmentation of SAVEHINTS() into a new Perl_save_hints() inNicholas Clark2008-12-011-0/+1
| | | | | | scope.c. "Inlined" macro functions in scope.h are actually space inefficient. p4raw-id: //depot/perl@34965
* Expose save_pushi32ptr() and implement SAVECOPARYBASE() with it.Nicholas Clark2008-12-011-3/+2
| | | p4raw-id: //depot/perl@34963
* Expose save_pushptrptr() and implement SAVESWITCHSTACK() with it.Nicholas Clark2008-12-011-2/+3
| | | p4raw-id: //depot/perl@34960
* Refactor all of the code of the formNicholas Clark2008-11-301-0/+1
| | | | | | | | | SSCHECK(3); SSPUSHINT(i); SSPUSHPTR(ptr); SSPUSHINT(type); into a static function S_save_pushi32ptr(). p4raw-id: //depot/perl@34959
* Refactor all of the code of the formNicholas Clark2008-11-301-0/+4
| | | | | | | | | | | SSCHECK(3); SSPUSHPTR(ptr1); SSPUSHPTR(ptr2); SSPUSHINT(type); into a static function S_save_pushptrptr(). It might be possible to make some of its callers trivial macros, and so eliminate them as functions. But start with the easy part. p4raw-id: //depot/perl@34957
* Convert all the scope save functions of the formNicholas Clark2008-11-301-5/+6
| | | | | | | | | SSCHECK(2); SSPUSHPTR(o); SSPUSHINT(SAVEt_FREEOP); into a single function Perl_save_pushptr(ptr, type), which the others call. Implement the others as macros. This reduces the object code size. p4raw-id: //depot/perl@34956
* S_mro_get_linear_isa_*() should have an *un*signed level.Nicholas Clark2008-11-271-2/+2
| | | | | [Unless it's a signed concept, use an usigned type.] p4raw-id: //depot/perl@34948
* av_fake is undead. :-(Nicholas Clark2008-11-271-1/+0
| | | | | Hopefully it will get the message this time. p4raw-id: //depot/perl@34947
* Note (hopefully) all the use cases of all the rest of the non-public butNicholas Clark2008-11-271-14/+39
| | | | | exported APIs. p4raw-id: //depot/perl@34946
* av_fake() isn't in the public API, and isn't used anywhere, so it canNicholas Clark2008-11-271-1/+0
| | | | | go. p4raw-id: //depot/perl@34944
* Note where (nearly) all the other private non-static functions are used.Nicholas Clark2008-11-261-1/+147
| | | p4raw-id: //depot/perl@34942
* ywarn() is actually only used inside toke.c, so it can be static.Nicholas Clark2008-11-261-1/+3
| | | p4raw-id: //depot/perl@34941
* setenv_getix() is not used anywhere other than util.c (and the "specialNicholas Clark2008-11-261-2/+2
| | | | | | biologist word for stable" Msql-Mysql-modules-1.2219) so make it static. p4raw-id: //depot/perl@34940
* sv_add_arena() is now only called from sv.c, so it can be static.Nicholas Clark2008-11-261-1/+4
| | | p4raw-id: //depot/perl@34938
* Perl_oopsCV() is not part of the public API, not used anywhere, so canNicholas Clark2008-11-261-1/+0
| | | | | go. p4raw-id: //depot/perl@34937
* rxres_free() and rxres_restore() are only used in pp_ctl.c, so can beNicholas Clark2008-11-261-2/+5
| | | | | static. Macros PUSHSUBST() and POPSUBST() are only viable in PERL_CORE. p4raw-id: //depot/perl@34935
* pmtrans() and refkids() can be static in op.c.Nicholas Clark2008-11-261-2/+6
| | | p4raw-id: //depot/perl@34933
* pidgone() is only used in util.c, so it can be static.Nicholas Clark2008-11-261-2/+2
| | | p4raw-id: //depot/perl@34932
* Merge S_is_gv_magical() into Perl_is_gv_magical_sv().Nicholas Clark2008-11-261-4/+1
| | | p4raw-id: //depot/perl@34931
* pad_reset() is only used in pad.c, so can be static.Nicholas Clark2008-11-261-1/+5
| | | | | Protect the prototype of S_vdie() with #if defined (PERL_IN_UTIL_C) p4raw-id: //depot/perl@34929
* Exactly 1 function, in perl.c, calls Perl_magicname(), so inline it.Nicholas Clark2008-11-261-1/+0
| | | p4raw-id: //depot/perl@34927
* is_gv_magical() is only called from within gv.c.Nicholas Clark2008-11-261-1/+3
| | | p4raw-id: //depot/perl@34926
* ingroup() is only used in doio.c.Nicholas Clark2008-11-261-1/+5
| | | | | Wrap gen_constant_list in #if defined(PERL_IN_OP_C) p4raw-id: //depot/perl@34925
* force_list(), fold_constants() and gen_constant_list() can be static.Nicholas Clark2008-11-261-3/+5
| | | p4raw-id: //depot/perl@34924
* vdie() isn't used anywhere aside from util.c, so it can be static.Nicholas Clark2008-11-261-1/+1
| | | p4raw-id: //depot/perl@34923
* Perl_cv_ckproto() is not part of the public API, and not used anywhereNicholas Clark2008-11-261-2/+0
| | | | | in the core. So it can go. p4raw-id: //depot/perl@34922
* listkids() can be static in op.cNicholas Clark2008-11-261-1/+2
| | | p4raw-id: //depot/perl@34920
* Following on from change 34918, scalarkids() and scalarseq() can alsoNicholas Clark2008-11-261-2/+6
| | | | | be static in op.c, so make it so. p4raw-id: //depot/perl@34919
* "If it's not private, it's public somehow." states Rafael. The mostNicholas Clark2008-11-261-1/+1
| | | | | | reliable way I can see to keep our (unsupported) privates private is to make them static whenever we can. p4raw-id: //depot/perl@34918
* Replace Perl_my() with a small shell script. er. macro.Nicholas Clark2008-11-261-1/+0
| | | p4raw-id: //depot/perl@34917
* Promote Perl_setdefout() to the public API.Nicholas Clark2008-11-241-1/+1
| | | p4raw-id: //depot/perl@34904
* Re: [perl #60360] [PATCH] UPDATED: local $SIG{FOO} = sub {...}; sets signal ↵Chip Salzenberg2008-11-131-3/+4
| | | | | | | | | | | | handler to SIG_DFL Message-ID: <20081112234504.GI2062@tytlal.topaz.cx> Updated patch to retain source compatibility. Plus using the correct PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS macro and running make regen. p4raw-id: //depot/perl@34829
* Re: [perl #60360] [PATCH] local $SIG{FOO} = sub {...}; sets signalChip Salzenberg2008-11-121-3/+3
| | | | | Message-ID: <20081111000040.GB19329@tytlal.topaz.cx> p4raw-id: //depot/perl@34819
* Change 34627 didn't realise that if S_find_uninit_var() takes aNicholas Clark2008-10-301-1/+1
| | | | | const SV *, then so can Perl_report_uninit(). p4raw-id: //depot/perl@34673
* SvPV() does not take a const SV*, which means that the pattern argumentNicholas Clark2008-10-301-2/+2
| | | | | | | | | | to Perl_re_compile() can't be const, which means that the pattern argument to Perl_pregcomp() can't be const, as can't the argument in the function in the regexp engine structure. It's a shame that no-one spotted this earlier. (Again) I may have rendered the documentation inaccurate. p4raw-id: //depot/perl@34672