summaryrefslogtreecommitdiff
path: root/pp.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Apply the same policy for the value returned by push() and unshift()Vincent Pit2009-10-041-9/+5
| | | | | That is, only push the len when the static context is not void, and honour len magic.
* push in Void Contextchromatic2009-09-231-1/+3
| | | | | | | | | | The attached patch avoids pushing an IV onto the stack for a push op in void context. The "Is there attached magic" branch in the op checks for void context as does the non-magical branch in the unshift op. -- c [Edited version of patch after review by Yitzchak Scott-Thoennes]
* split: Improve performance in scalar contextBo Borgerson2009-09-131-43/+119
| | | | Improve the performance of split in scalar context
* split: Remove implicit split to @_Bo Borgerson2009-09-131-2/+0
| | | | Remove the long deprecated feature where split in scalar context writes to @_
* Introduce "delete local"Vincent Pit2009-07-251-2/+185
|
* Use the new SAVEHDELETE() macro wherever possibleVincent Pit2009-07-251-11/+5
|
* pp.c and time64.c don't need to be executableVincent Pit2009-05-141-0/+0
|
* Code refs aren't lockableJerry D. Hedden2009-01-251-2/+2
| | | | | | Remove the check for code refs in pp_lock. For debugging, assert that the ref is not a code ref (per Dave Mitchell's suggestion).
* On scope end, delete localized array elements that should not exist anymore, ↵Vincent Pit2008-12-281-3/+27
| | | | so that the array recovers its previous length. Honour EXISTS and DELETE for tied arrays.
* Introduce SvCANEXISTDELETE in pp.h, which simplify the logic in pp_helem and ↵Vincent Pit2008-12-281-14/+11
| | | | pp_hslice
* Re: [perl #59280] perlbug AutoReply: PUSH on tied array gives incorrect ↵Luke Ross2008-11-251-2/+6
| | | | | | | | context to method and can result in needless calls to FETCHSIZE From: "Luke Ross" <lukeross@gmail.com> Message-ID: <970a62710809301441v1d8d1877tfc30d7b91cd4dc1a@mail.gmail.com> p4raw-id: //depot/perl@34908
* Re: [perl #59998] [PATCH] crypt() returns tainted data even when input ↵Chip Salzenberg2008-11-171-7/+4
| | | | | | | strings are detainted Message-ID: <20081117071429.GD5495@tytlal.topaz.cx> p4raw-id: //depot/perl@34860
* Re: [perl #60360] [PATCH] UPDATED: local $SIG{FOO} = sub {...}; sets signal ↵Chip Salzenberg2008-11-131-1/+2
| | | | | | | | | | | | 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-1/+1
| | | | | Message-ID: <20081111000040.GB19329@tytlal.topaz.cx> p4raw-id: //depot/perl@34819
* PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-2/+5
| | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* Explicitly specify some printf formats for constant strings.Rafael Garcia-Suarez2008-11-021-5/+5
| | | | | | This is mostly to silence gcc's warning, "format not a string literal and no format arguments". p4raw-id: //depot/perl@34694
* Add MUTABLE_GV(), and eliminate (V *) casts in *.c.Nicholas Clark2008-10-311-12/+13
| | | | | | Can't easily do gv.h, as GvGP() (at least) needs to split into two macros - one const for reading, one non-const for writing. p4raw-id: //depot/perl@34679
* Eliminate (SV *) casts from the rest of *.c, picking up one (further)Nicholas Clark2008-10-301-33/+34
| | | | | erroneous const in dump.c. p4raw-id: //depot/perl@34675
* Add MUTABLE_IO(), and eliminate (IO *) casts in *.c.Nicholas Clark2008-10-291-1/+1
| | | p4raw-id: //depot/perl@34654
* Use pvs macros instead of pvn where possible.Marcus Holland-Moritz2008-10-291-2/+2
| | | p4raw-id: //depot/perl@34653
* Eliminate (AV *) casts in *.c.Nicholas Clark2008-10-291-19/+19
| | | p4raw-id: //depot/perl@34650
* Add MUTABLE_CV(), and eliminate (CV *) casts in *.c.Nicholas Clark2008-10-291-9/+10
| | | p4raw-id: //depot/perl@34647
* As Perl_cv_const_sv() now takes a const CV *, use that as the cast forNicholas Clark2008-10-291-1/+1
| | | | | its arguments. p4raw-id: //depot/perl@34646
* Every remaining (HV *) cast in *.cNicholas Clark2008-10-281-7/+7
| | | p4raw-id: //depot/perl@34629
* Update copyright years.Nicholas Clark2008-10-251-2/+2
| | | p4raw-id: //depot/perl@34585
* Some more missing isGV_with_GP()sBen Morrow2008-06-281-9/+12
| | | | | Message-ID: <20080628160017.GA81579@osiris.mauzo.dyndns.org> p4raw-id: //depot/perl@34092
* [perl #36875] [PATCH] scalar reverse undef does not warn (was: Certain ↵Bram2008-06-011-1/+6
| | | | | | | | string handling functions don't warn on undef) From: "Bram via RT" <perlbug-followup@perl.org> Message-ID: <rt-3.6.HEAD-11257-1211657660-1814.36875-15-0@perl.org> p4raw-id: //depot/perl@33981
* Revert change #33676, likely to break atan(-0,0) on some platformsRafael Garcia-Suarez2008-04-141-4/+1
| | | | | p4raw-link: @33676 on //depot/perl: 9d6bff35783dc768c5d72663e6e2d31769c5da91 p4raw-id: //depot/perl@33678
* Make atan2(0,0) return undefRafael Garcia-Suarez2008-04-141-1/+4
| | | p4raw-id: //depot/perl@33676
* Double magic with substrVincent Pit2008-03-311-1/+1
| | | | | Message-ID: <47F119E8.5010106@profvince.com> p4raw-id: //depot/perl@33618
* Use sv_setpvs() like a few lines before since change #33557Rafael Garcia-Suarez2008-03-251-1/+1
| | | | | p4raw-link: @33557 on //depot/perl: 502d9230ec570254fed51ae721c1da50944a5cbf p4raw-id: //depot/perl@33560
* Re: [PATCH] Double warning with perl -we 'my $a; substr $a, 0, 10,Vincent Pit2008-03-251-0/+2
| | | | | Message-ID: <47E4FD96.6080304@profvince.com> p4raw-id: //depot/perl@33557
* use svtypeRobin Barker2008-02-141-2/+2
| | | | | | From: "Robin Barker" <Robin.Barker@npl.co.uk> Message-ID: <46A0F33545E63740BC7563DE59CA9C6D093A35@exchsvr2.npl.ad.local> p4raw-id: //depot/perl@33304
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-0/+4
| | | | | | | | | | | | 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
* In pp_split(), eliminate most (all?) of the conditional calls toNicholas Clark2008-02-011-26/+16
| | | | | sv_2mortal() by conditionally passing SVs_TEMP to newSVpvn_flags(). p4raw-id: //depot/perl@33178
* Make lc/uc/lcfirst/ucfirst warn when passed undef.Rafael Garcia-Suarez2008-01-281-0/+6
| | | | | Naive implementation. p4raw-id: //depot/perl@33088
* Re-order so that the !SvOK() case is last (which should be rare)Nicholas Clark2008-01-131-6/+4
| | | | | Remove the FIXME comment as I had already fixed it. p4raw-id: //depot/perl@32971
* For 5.12: saner behaviour for `length`Nicholas Clark2008-01-121-11/+21
| | | | | | (Make C<length undef> return undef). Patch mostly by Rafael, with some fine tuning by me. p4raw-id: //depot/perl@32969
* Fix compilation issues and warnings with exotic configuration.Marcus Holland-Moritz2008-01-061-1/+1
| | | p4raw-id: //depot/perl@32865
* Replace all reads of RXf_UTF8 with RX_UTF8().Nicholas Clark2008-01-051-2/+2
| | | p4raw-id: //depot/perl@32849
* Add macros mPUSHs() and mXPUSHs() for pushing SVs on the stackMarcus Holland-Moritz2008-01-041-4/+4
| | | | | | and mortalizing them. Use these macros where possible. And also mX?PUSH[inpu] where possible. p4raw-id: //depot/perl@32821
* Add newSVpvs_flags() as a wrapper to newSVpvn_flags(), and reworkNicholas Clark2008-01-031-1/+1
| | | | | sv_2mortal(newSVpvs(...)) constructions to use it. p4raw-id: //depot/perl@32819
* Extend newSVpvn_flags() to also call sv_2mortal() if SVs_TEMP is set inNicholas Clark2008-01-031-4/+6
| | | | | | the flags. Move its implementation just ahead of sv_2mortal()'s for CPU cache locality. Refactor all code that can be to use this. p4raw-id: //depot/perl@32818
* Possible future bugs found by the creation of newSVpvn_flags().Nicholas Clark2008-01-031-1/+1
| | | | | But use newSVhek() in preference when possible. p4raw-id: //depot/perl@32813
* Add a new function newSVpvn_flags(), which takes a third parameter ofNicholas Clark2008-01-021-29/+10
| | | | | | | | | | flag bits. Right now the only flag bit is SVf_UTF8, which will call SvUTF8_on() on the new SV for you. Provide a wrapper newSVpvn_utf8(), which takes a boolean, and passes in SVf_UTF8 if that is true. Refactor the core to use it where possible. It makes the source code clearer and smaller, but seems to be swings and roundabouts on object code size. p4raw-id: //depot/perl@32807
* Wrap all deferences of struct regexp* in macros RX_*() [and forNicholas Clark2008-01-021-26/+26
| | | | | | | regcomp.c and regexec.c RXp_* where necessary] so that in future we can maintain source compatibility when we add an extra level of dereferencing. p4raw-id: //depot/perl@32802
* Change Perl_av_iter_p() to return IV* rather than I32* (which meansNicholas Clark2007-12-291-1/+1
| | | | | having to allocate memory where sizeof(IV) > sizeof(I32)). p4raw-id: //depot/perl@32760
* Take code that occurs in three places to take a scalar and ready it toNicholas Clark2007-12-261-7/+1
| | | | | hold a reference, and convert it to a macro define prepare_SV_for_RV(). p4raw-id: //depot/perl@32737
* Eliminate SVt_RV, and use SVt_IV to store plain references.Nicholas Clark2007-12-261-3/+3
| | | | | This frees up a scalar type for first class regular expressions. p4raw-id: //depot/perl@32734
* Swap SVt_RV and SVt_NV in the SV ordering.Nicholas Clark2007-12-261-1/+1
| | | p4raw-id: //depot/perl@32725