| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
p4raw-id: //depot/perl@33376
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
| |
p4raw-id: //depot/perl@33078
|
|
|
|
|
|
| |
Message-ID: <20080124215537.GB10198@vtrl.co.uk>
Date: Thu, 24 Jan 2008 21:55:37 +0000
p4raw-id: //depot/perl@33070
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
CXp_FOREACH flag added as part of given/when.
p4raw-id: //depot/perl@33057
|
|
|
|
|
| |
which will allow the storage location to be changed.
p4raw-id: //depot/perl@33034
|
|
|
|
|
|
| |
via macros CxOLD_IN_EVAL() and CxOLD_OP_TYPE(), which will allow the
storage location to be changed.
p4raw-id: //depot/perl@33029
|
|
|
|
|
|
| |
lval via macros CxHASARGS() and CxLVAL(), which will allow the storage
location to be changed.
p4raw-id: //depot/perl@33017
|
|
|
|
|
|
| |
(CXt_SUB and CXt_FORMAT were using some comon members, but some members
were only for one or the other.)
p4raw-id: //depot/perl@33014
|
|
|
|
|
| |
(for the places that aren't about to change)
p4raw-id: //depot/perl@33010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
localization of an array or a hash. This fixes some memory leaks.
Basically we were overwriting the magic of the outer value (value
from the outer scope) by the magic of the inner value (therefore making
that outer magic leaking in memory). But that inner magic was created
by mg_localize() by copying *some* of the outer magic. Consequently the
outer value already has that magic. So just keep it and don't bother.
That change might introduce obscure bugs. On the other hand, it might
also cure obscure bugs, related to the inner value acquiring container
magic during its lifetime, or to the outer value loosing non-container
magic. No test in the test suite seems to test that.
p4raw-id: //depot/perl@31505
|
|
|
|
|
|
|
| |
GvSV(PL_errgv) is always non-NULL. That stopped being the case with
change 25009 (ish) - when we stopped automatically creating a(n unused)
SV at GV creation time.
p4raw-id: //depot/perl@31313
|
|
|
|
|
| |
Message-Id: <BC2C451F-B286-4D38-923E-E3B473F7B5E1@hagernas.com>
p4raw-id: //depot/perl@31301
|
|
|
|
|
|
| |
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60704291527y1b39be37l221ef66e4c828f66@mail.gmail.com>
p4raw-id: //depot/perl@31107
|
|
|
|
|
|
| |
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510704230610t13c62378s381eaceae3e7e9b1@mail.gmail.com>
p4raw-id: //depot/perl@31033
|
|
|
|
|
|
| |
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com>
p4raw-id: //depot/perl@30980
|
|
|
|
|
|
|
|
|
| |
as currently implemented seems to want write activity to them. Also we
save a field in PL_curcop at one point, and sometimes this can be in
a read only COP. If so, the end of scope restoration is always to the
same value, but it's easier to cheat and skip the restoration than to
dig around and avoid the save.
p4raw-id: //depot/perl@30843
|
|
|
| |
p4raw-id: //depot/perl@30607
|
|
|
|
|
| |
intended as a way to enter gdb by using local $^L
p4raw-id: //depot/perl@30603
|
|
|
| |
p4raw-id: //depot/perl@29696
|
|
|
|
|
|
|
|
| |
Subject: [PATCH] Cleanup SVf arguments (2nd try)
Message-ID: <20070101201613.4120d9ef@r2d2>
Adds (void*) casts to %-p and %p printf arguments
p4raw-id: //depot/perl@29686
|
|
|
| |
p4raw-id: //depot/perl@29678
|
|
|
|
|
|
| |
From: "Jerry D. Hedden" <jdhedden@yahoo.com>
Message-ID: <20061206191213.35036.qmail@web30206.mail.mud.yahoo.com>
p4raw-id: //depot/perl@29482
|
|
|
| |
p4raw-id: //depot/perl@29476
|
|
|
|
|
|
| |
From: Dave Bailey (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.5.HEAD-4979-1161103047-337.40557-75-0@perl.org>
p4raw-id: //depot/perl@29033
|
|
|
|
|
|
|
| |
pointers to last and redo. (for ithreads also drop the next pointer,
as pp_ctl.c doesn't re-write it for ithreads). This shrinks the struct
to 40 bytes on ILP32 systems, and therefore struct block to 64 bytes.
p4raw-id: //depot/perl@28858
|
|
|
|
|
|
| |
failed to realise that struct block_sub is not the largest of the
4 structures in the block.blk_u union. (It's actually block_loop)
p4raw-id: //depot/perl@28853
|
|
|
| |
p4raw-id: //depot/perl@28773
|
|
|
|
|
| |
move)
p4raw-id: //depot/perl@28772
|
|
|
|
|
| |
Message-ID: <44D2E203.5050201@iki.fi>
p4raw-id: //depot/perl@28662
|
|
|
| |
p4raw-id: //depot/perl@28252
|
|
|
| |
p4raw-id: //depot/perl@28058
|
|
|
| |
p4raw-id: //depot/perl@27986
|
|
|
|
|
|
|
| |
save the warnings on PL_compiling, so constraining its use to what we
can test seems to make sense. Particularly as testing Perl_ss_dup is
tricky.
p4raw-id: //depot/perl@27805
|
|
|
|
|
|
| |
for in Perl_ss_dup, hence nothing is testing it and nothing will alert
us if it breaks.
p4raw-id: //depot/perl@27792
|
|
|
|
|
|
|
| |
directly (shared) malloc()ed buffer holding the warnings bitmask.
This avoids bugs/crashes when the interpreter that created an optree
is freed but the optree remains in use by other interpreters.
p4raw-id: //depot/perl@27779
|
|
|
|
|
| |
SAVEt_GENERIC_PVREF, we can merge it with SAVEt_PPTR in Perl_ss_dup().
p4raw-id: //depot/perl@27740
|
|
|
|
|
|
| |
This allows it to be saved, restored and cloned with a single Copy()
(but inevitably still some fixup)
p4raw-id: //depot/perl@27732
|
|
|
| |
p4raw-id: //depot/perl@27728
|
|
|
| |
p4raw-id: //depot/perl@27726
|
|
|
| |
p4raw-id: //depot/perl@27671
|
|
|
| |
p4raw-id: //depot/perl@27666
|
|
|
|
|
|
| |
state of %^H as an eleventh value from caller. This allows users to
write pragmas.
p4raw-id: //depot/perl@27643
|
|
|
|
|
| |
them correctly on scope exit)
p4raw-id: //depot/perl@27637
|
|
|
|
|
| |
Message-ID: <442680D4.3000809@gmail.com>
p4raw-id: //depot/perl@27626
|
|
|
|
|
| |
for saving PL_formfeed is being hit.
p4raw-id: //depot/perl@27431
|