summaryrefslogtreecommitdiff
path: root/pp_ctl.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename the new macro clear_errsv() from last patch to CLEAR_ERRSV()Rafael Garcia-Suarez2008-06-171-9/+7
| | | p4raw-id: //depot/perl@34069
* [perl #51370] length($@)>0 for empty $@ if utf8 is in use Bram2008-06-171-9/+13
| | | | | | | | From: "Bram via RT" <perlbug-followup@perl.org> Message-ID: <rt-3.6.HEAD-18229-1213179984-1708.51370-15-0@perl.org> (The first patch) p4raw-id: //depot/perl@34068
* ~~ with non-overloaded objectsVincent Pit2008-05-021-0/+8
| | | | | | From: "Vincent Pit" <perl@profvince.com> Message-ID: <63496.92.128.104.139.1209638751.squirrel@92.128.104.139> p4raw-id: //depot/perl@33777
* Revert change #26334, which was introducing too many bugsRafael Garcia-Suarez2008-04-151-1/+0
| | | | | p4raw-link: @26334 on //depot/perl: 8ff629d935fd2dba7977969e7922b9cd55cc75d2 p4raw-id: //depot/perl@33685
* Replace all remaining accesses to COP's cop_label with CopLABEL().Nicholas Clark2008-04-061-1/+1
| | | p4raw-id: //depot/perl@33653
* The offset for pos is stored as bytes, and converted to (Unicode)Nicholas Clark2008-03-261-5/+1
| | | | | | | | character position when read, if needed. The code for setting pos inside subst was incorrectly converting to character position before storing the value. This code appears to have been buggy since it was added in 2000 in change 7562. p4raw-id: //depot/perl@33580
* Re: [PATCH] Splitting OP_CONST (Was: pp_const, not, that, hot?)Vincent Pit2008-02-231-0/+13
| | | | | | Message-ID: <47B60D72.50708@profvince.com> Date: Fri, 15 Feb 2008 23:08:50 +0100 p4raw-id: //depot/perl@33356
* Correctly reference count the hints hashRafael Garcia-Suarez2008-02-161-1/+4
| | | p4raw-id: //depot/perl@33322
* Re: [perl #50706] %^H affecting outside file scopesRick Delaney2008-02-141-0/+2
| | | | | Message-ID: <20080212190522.GB16896@bort.ca> p4raw-id: //depot/perl@33311
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-1/+39
| | | | | | | | | | | | 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
* Micro-optimise the order of the context types. [Because I can :-)]Nicholas Clark2008-02-041-5/+8
| | | | | Here saves 72 bytes in pp_ctl.o. Small, but in the right direction. p4raw-id: //depot/perl@33232
* Nicer fix than #33106 (thanks to Nicholas Clark)Steve Hay2008-01-291-4/+1
| | | p4raw-id: //depot/perl@33109
* Fix Win32 compiler warnings introduced by #33081 and #33085Steve Hay2008-01-291-1/+4
| | | p4raw-id: //depot/perl@33106
* The third argument of PUSHEVAL was never used by anything. Ever.Nicholas Clark2008-01-281-4/+4
| | | p4raw-id: //depot/perl@33086
* The layout for struct block_loop under ithreads can be simplified.Nicholas Clark2008-01-261-6/+5
| | | | | | | | | | | | | Instead of wedging the pad offset into a void* iterdata, and always storing PL_comppad even when it isn't used, instead do this: PAD *oldcomppad; /* Also used for the GV, if targoffset is 0 */ /* This is also accesible via cx->blk_loop.my_op->op_targ */ PADOFFSET targoffset; and store the GV pointer in oldcompad. Pointers to pointers seems cleaner. This also allows us to eliminate the flag bit CXp_PADVAR. p4raw-id: //depot/perl@33081
* Investigation reveals that the work of restoring the iterator to theNicholas Clark2008-01-261-2/+1
| | | | | | | | | | | | | | | | | pad is shared between POPLOOP, using itersave, and the end of scope restore action requested by Perl_save_padsv(). In fact, the only user of SAVEt_PADSV is pp_enteriter, and it already provides enough information to allow it to perform the sv_2mortal() in POPLOOP. So make it do so. Rather than creating a new routine, use the existing routine because nothing else (at least nothing else known to Google's codesearch) uses it. But rename it just in case something we can't see is being naughty and using our private functions - they will get link errors against 5.12. All this means that itersave is now redundant. So remove it. This makes struct context 48 bytes on ILP32 platforms with 32bit IVs, down from 64 bytes in 5.10. 33% more context stack in the same memory. p4raw-id: //depot/perl@33080
* Some code can be removed following change 33070.Nicholas Clark2008-01-261-2/+1
| | | p4raw-id: //depot/perl@33073
* Re: struct context now 12.5% smaller than 5.10Benjamin Smith2008-01-261-23/+35
| | | | | | Message-ID: <20080124215537.GB10198@vtrl.co.uk> Date: Thu, 24 Jan 2008 21:55:37 +0000 p4raw-id: //depot/perl@33070
* Using PL_sv_no in place of any !SvOK() maximum removes a little bit ofNicholas Clark2008-01-251-0/+8
| | | | | hot code in pp_iter. p4raw-id: //depot/perl@33068
* Silence "possible data loss" warning.Nicholas Clark2008-01-251-1/+1
| | | p4raw-id: //depot/perl@33067
* In struct block_loop, merge itermax and iterlval into a unionNicholas Clark2008-01-241-4/+3
| | | | | | | | | lval_max_u, as CXt_LOOP_LAZYIV doesn't use iterlval and the other LOOP types don't use itermax. This reduces struct block_loop by 1 IV. As it's the largest component of the unions making up struct context, this reduces struct context. On ILP32 it will now be 56 bytes, down from the 64 of 5.10.x, as I've already removed the element 'label'. p4raw-id: //depot/perl@33063
* Merge CXt_LOOP_STACK's use of itermax for the reverse minimum withNicholas Clark2008-01-241-6/+5
| | | | | iterary, as the two structure members are not used simultaneously. p4raw-id: //depot/perl@33062
* Change the context type of for ($a .. $b) to CXt_LOOP_LAZYIV, andNicholas Clark2008-01-241-1/+12
| | | | | | assert that it isn't using cx->blk_loop.iterlval. Fix a casting bug when assigning a sentinal to cx->blk_loop.iterary. p4raw-id: //depot/perl@33061
* Avoid using cx->blk_loop.itermax when reverse iterating an array.Nicholas Clark2008-01-241-1/+1
| | | p4raw-id: //depot/perl@33060
* Split out foreach iterations of temporary lists on the stack toNicholas Clark2008-01-241-2/+10
| | | | | CXt_LOOP_STACK. Don't use cx->blk_loop.iterary to store PL_curstack. p4raw-id: //depot/perl@33059
* Split CXt_LOOP into CXt_LOOP_PLAIN and CXt_LOOP_FOR, eliminating theNicholas Clark2008-01-241-14/+23
| | | | | CXp_FOREACH flag added as part of given/when. p4raw-id: //depot/perl@33057
* Remove code obsoleted by change 18.Nicholas Clark2008-01-221-1/+0
| | | p4raw-id: //depot/perl@33036
* In struct block_subst, access the member once via a macro CxONCE()Nicholas Clark2008-01-211-1/+1
| | | | | which will allow the storage location to be changed. p4raw-id: //depot/perl@33034
* In struct block_eval, access the members old_in_eval and old_op_typeNicholas Clark2008-01-211-2/+2
| | | | | | via macros CxOLD_IN_EVAL() and CxOLD_OP_TYPE(), which will allow the storage location to be changed. p4raw-id: //depot/perl@33029
* More places that could be using G_WANT, not picked up by change 33021.Nicholas Clark2008-01-211-2/+2
| | | p4raw-id: //depot/perl@33024
* Change the wantarray result from caller from IV to bool for the SCALAR/Nicholas Clark2008-01-211-1/+1
| | | | | | ARRAY case. This doesn't contradict the documentation, as there isn't any. Oops. p4raw-id: //depot/perl@33022
* Change the hasargs return value from caller from IV to bool, as it'sNicholas Clark2008-01-211-2/+2
| | | | | | actually only a boolean, and sv_yes/sv_no are cheaper to "create". The documentation says 'C<$hasargs> is true if ...' so this is fine. p4raw-id: //depot/perl@33019
* Eliminate hasargs from structs block_sub and block_format by storingNicholas Clark2008-01-201-1/+0
| | | | | it with a private flag CXp_HASARGS in cx_type. (It's only a boolean.) p4raw-id: //depot/perl@33018
* In struct block_sub and block_format, access the members hasargs andNicholas Clark2008-01-201-7/+7
| | | | | | lval via macros CxHASARGS() and CxLVAL(), which will allow the storage location to be changed. p4raw-id: //depot/perl@33017
* Eliminate label from struct block_loop, as it can be accessed viaNicholas Clark2008-01-201-2/+2
| | | | | oldcop. p4raw-id: //depot/perl@33015
* Fix range operatorJerry D. Hedden2008-01-151-2/+19
| | | | | | From: "Jerry D. Hedden" <jdhedden@cpan.org> Message-ID: <1ff86f510801141656i325ac69ev8a0af47f9fe72a1e@mail.gmail.com> p4raw-id: //depot/perl@32979
* Rename PERL_MAX_SUB_DEPTH to PERL_SUB_DEPTH_WARN, per Tim Bunce'sRafael Garcia-Suarez2008-01-111-1/+1
| | | | | suggestion p4raw-id: //depot/perl@32955
* REGEXPs are now stored directly in PL_regex_padav, rather thanNicholas Clark2008-01-111-0/+5
| | | | | | indirectly via RVs. This saves memory, and removes 1 level of pointer indirection. p4raw-id: //depot/perl@32950
* Introduce macro PERL_MAX_SUB_DEPTHRafael Garcia-Suarez2008-01-111-1/+1
| | | p4raw-id: //depot/perl@32949
* Revert change #32920, since it was solved another way by #32890.Rafael Garcia-Suarez2008-01-091-5/+3
| | | | | p4raw-link: @32920 on //depot/perl: e3dd4663a7a9c4d106a591d5b1511f7c9d1bfa1e p4raw-id: //depot/perl@32922
* RE: compile warnings w/ PM_SETRE and ReREFCNT_incRobin Barker2008-01-091-3/+5
| | | | | | From: "Robin Barker" <Robin.Barker@npl.co.uk> Message-ID: <46A0F33545E63740BC7563DE59CA9C6D0939AE@exchsvr2.npl.ad.local> p4raw-id: //depot/perl@32920
* newSV() + sv_upgrade() => newSV_type()Nicholas Clark2008-01-091-2/+1
| | | p4raw-id: //depot/perl@32912
* Remove the warning "v-string in require/use non portable"Rafael Garcia-Suarez2008-01-091-21/+1
| | | p4raw-id: //depot/perl@32910
* Fix a compilation warning created when RX_PRELEN() was changed toNicholas Clark2008-01-051-1/+1
| | | | | | | SvCUR(), which is an unsigned value. [Mmm, how many remaining parts of the regexp struct should be unsigned] p4raw-id: //depot/perl@32862
* Make REGEXP a type distinct from SV. (Much like AV, CV, GV, HV).Nicholas Clark2008-01-051-4/+4
| | | p4raw-id: //depot/perl@32861
* Abolish RXf_UTF8. Store the UTF-8-ness of the pattern with SvUTF8().Nicholas Clark2008-01-051-1/+0
| | | p4raw-id: //depot/perl@32852
* Make Perl_pregcomp() use SvUTF8() of the pattern, rather than the flagNicholas Clark2008-01-051-2/+12
| | | | | bit in pmflags, to decide whether the pattern is UTF-8. p4raw-id: //depot/perl@32851
* Fix the compile for -DPERL_OLD_COPY_ON_WRITE (apart from the tenaciousNicholas Clark2008-01-051-5/+5
| | | | | broken window: ../ext/Compress/Raw/Zlib/t/07bufsize.t) p4raw-id: //depot/perl@32837
* Add macros mPUSHs() and mXPUSHs() for pushing SVs on the stackMarcus Holland-Moritz2008-01-041-14/+14
| | | | | | 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-2/+2
| | | | | sv_2mortal(newSVpvs(...)) constructions to use it. p4raw-id: //depot/perl@32819