| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of returning a(nother) reference to the (pre-compiled) regexp in the
optree, use reg_temp_copy() to create a copy of it, and return a reference to
that. This resolves issues about Regexp::DESTROY not being called in a timely
fashion (the original bug tracked by RT #69852), as well as bugs related to
blessing regexps, and of assigning to regexps, as described in correspondence
added to the ticket.
It transpires that we also need to undo the SvPVX() sharing when ithreads
cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
copy of the mother_re. This change might fix bugs with regexps and threads in
certain other situations, but as yet neither tests nor bug reports have
indicated any problems, so it might not actually be an edge case that it's
possible to reach.
|
|
|
|
|
|
|
|
|
|
|
| |
As the core no longer needs this fixed string in more than one place, it seems
daft to go to the overhead (and cost) of making it public in case any module
wants to use it. Modules that do want to use it should provide their own inline
copy in future.
Also restore the visible global PL_no_symref back to the original format
specification (of 5.10.0 and earlier), as an extra %s has the potential to
cause SEGVs or worse if not spotted at compile time.
|
|
|
|
| |
ENTER/LEAVE when debugging is enabled
|
|
|
|
|
|
| |
Wasted a few minutes more than necessary trying to work out why the
string was truncated when in fact it was the error message that was
truncating the string.
|
|
|
|
|
|
|
| |
Replace ckWARN{,2,3,4}() && Perl_warner() with it, which trades reduced code
size (about 0.2%), for 1 more function call if warnings are not enabled.
However, if we're now in the L1 or L2 cache when we weren't previously, that's
still going to be a speed win.
|
|
|
|
| |
Signed-off-by: Yves Orton <demerphq@gemini.(none)>
|
| |
|
| |
|
|
|
|
| |
it's not needed when the method is in the current stash (which happens quite often)
|
| |
|
|
|
|
| |
so that the array recovers its previous length. Honour EXISTS and DELETE for tied arrays.
|
|
|
|
| |
pp_hslice
|
|
|
|
|
| |
Message-ID: <48E0F5E9.4050805@profvince.com>
p4raw-id: //depot/perl@34907
|
|
|
|
|
|
|
|
|
| |
From: "bharanee rathna" (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-28750-1197415521-1978.48489-75-0@perl.org>
Just the pp_hot.c portion of this patch applied along with removing
the TODO from the test added in the previous change.
p4raw-id: //depot/perl@34833
|
|
|
|
|
| |
Message-ID: <20081114084436.GJ5779@tytlal.topaz.cx>
p4raw-id: //depot/perl@34831
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Message-ID: <20081111000040.GB19329@tytlal.topaz.cx>
p4raw-id: //depot/perl@34819
|
|
|
|
|
|
|
|
|
| |
As Nicholas already noted in a FIXME, assigning to DEFSV should
use GvSV instead of GvSVn. This change ensures that, at least
under -DPERL_CORE, DEFSV cannot be assigned to and introduces
a DEFSV_set macro to allow setting DEFSV.
This fixes #53038: map leaks memory.
p4raw-id: //depot/perl@34776
|
|
|
|
|
|
| |
Message-ID: <25940.1225611819@chthon>
Date: Sun, 02 Nov 2008 01:43:39 -0600
p4raw-id: //depot/perl@34698
|
|
|
|
|
|
| |
This is mostly to silence gcc's warning, "format not a string
literal and no format arguments".
p4raw-id: //depot/perl@34694
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
erroneous const in dump.c.
p4raw-id: //depot/perl@34675
|
|
|
| |
p4raw-id: //depot/perl@34653
|
|
|
| |
p4raw-id: //depot/perl@34650
|
|
|
| |
p4raw-id: //depot/perl@34647
|
|
|
| |
p4raw-id: //depot/perl@34629
|
|
|
| |
p4raw-id: //depot/perl@34585
|
|
|
|
|
| |
introduced with #30849.
p4raw-id: //depot/perl@34506
|
|
|
|
|
| |
Message-ID: <20080628160017.GA81579@osiris.mauzo.dyndns.org>
p4raw-id: //depot/perl@34092
|
|
|
|
|
|
| |
From: "Vincent Pit" <perl@profvince.com>
Message-ID: <56287.147.210.17.175.1205339860.squirrel@147.210.17.175>
p4raw-id: //depot/perl@33778
|
|
|
|
|
|
|
|
|
|
|
| |
gv_fetchmethod. It therefore needs to duplicate a lot of
the internals of that function.
"Duplicate". <snigger>. You said a naughty word. Now sanitised.
[All tests pass, but I'm not 100% confident that this code is
equivalent in all reachable corner cases, and it may be possible
to simplify the error reporting logic now in gv_fetchmethod_flags]
p4raw-id: //depot/perl@33702
|
|
|
|
|
| |
(not all control paths return a value)
p4raw-id: //depot/perl@33463
|
|
|
|
|
| |
logic in pp_rv2av into one place saves 112 bytes here.
p4raw-id: //depot/perl@33447
|
|
|
| |
p4raw-id: //depot/perl@33376
|
|
|
|
|
|
| |
Message-ID: <47B60D72.50708@profvince.com>
Date: Fri, 15 Feb 2008 23:08:50 +0100
p4raw-id: //depot/perl@33356
|
|
|
|
|
|
| |
using OP_ENTERSUB as a LISTOP, whereas it's a UNOP.
p4raw-link: @33302 on //depot/perl: 781e3f050073176aa21ffc243184a1cb57f4ec92
p4raw-id: //depot/perl@33307
|
|
|
|
|
|
| |
From: Rick Delaney (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-24634-1193800780-55.47047-75-0@perl.org>
p4raw-id: //depot/perl@33302
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
| |
p4raw-id: //depot/perl@33072
|
|
|
|
|
|
| |
Message-ID: <20080124215537.GB10198@vtrl.co.uk>
Date: Thu, 24 Jan 2008 21:55:37 +0000
p4raw-id: //depot/perl@33070
|
|
|
|
|
| |
hot code in pp_iter.
p4raw-id: //depot/perl@33068
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
iterary, as the two structure members are not used simultaneously.
p4raw-id: //depot/perl@33062
|
|
|
|
|
|
| |
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
|
|
|
| |
p4raw-id: //depot/perl@33060
|
|
|
|
|
| |
CXt_LOOP_STACK. Don't use cx->blk_loop.iterary to store PL_curstack.
p4raw-id: //depot/perl@33059
|
|
|
|
|
| |
CXp_FOREACH flag added as part of given/when.
p4raw-id: //depot/perl@33057
|
|
|
|
|
| |
I32 to U8, which reduces the size of the struct by at least 4 bytes.
p4raw-id: //depot/perl@33035
|
|
|
| |
p4raw-id: //depot/perl@33033
|
|
|
|
|
|
| |
lval via macros CxHASARGS() and CxLVAL(), which will allow the storage
location to be changed.
p4raw-id: //depot/perl@33017
|