| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Andreas' smoker.
p4raw-id: //depot/perl@34987
|
|
|
|
|
|
| |
can be freed immediately after it is used, as it is unrelated to
anything else. This folds SvREFCNT_dec()s on two code paths into one.
p4raw-id: //depot/perl@34973
|
|
|
|
|
| |
Perl_save_hints().
p4raw-id: //depot/perl@34970
|
|
|
| |
p4raw-id: //depot/perl@34968
|
|
|
| |
p4raw-id: //depot/perl@34967
|
|
|
|
|
| |
and Perl_save_aelem().
p4raw-id: //depot/perl@34966
|
|
|
|
|
|
| |
scope.c. "Inlined" macro functions in scope.h are actually space
inefficient.
p4raw-id: //depot/perl@34965
|
|
|
|
|
| |
This brings it to the same order as save_aelem() or save_pushi32ptr().
p4raw-id: //depot/perl@34964
|
|
|
| |
p4raw-id: //depot/perl@34963
|
|
|
| |
p4raw-id: //depot/perl@34960
|
|
|
|
|
|
|
|
|
| |
SSCHECK(3);
SSPUSHINT(i);
SSPUSHPTR(ptr);
SSPUSHINT(type);
into a static function S_save_pushi32ptr().
p4raw-id: //depot/perl@34959
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
| |
p4raw-id: //depot/perl@34955
|
|
|
|
|
| |
part of change 24943.
p4raw-id: //depot/perl@34954
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Message-ID: <25940.1225611819@chthon>
Date: Sun, 02 Nov 2008 01:43:39 -0600
p4raw-id: //depot/perl@34698
|
|
|
|
|
|
| |
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@34650
|
|
|
| |
p4raw-id: //depot/perl@34629
|
|
|
| |
p4raw-id: //depot/perl@34585
|
|
|
|
|
| |
still are in use.
p4raw-id: //depot/perl@34494
|
|
|
| |
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
|