summaryrefslogtreecommitdiff
path: root/dump.c
Commit message (Collapse)AuthorAgeFilesLines
* systematically provide pv/pvn/pvs/sv quartetsZefram2010-09-281-0/+7
| | | | | Anywhere an API function takes a string in pvn form, ensure that there are corresponding pv, pvs, and sv APIs.
* prevent Devel::Peek::Dump from lieing to us about evil class namesYves Orton2010-08-251-1/+8
| | | | | While one certainly can argue the merits of using a class name like "\0", it is legal so lets avoid it confusing our primary debugging tool.
* Remove CALL_FPTR and CPERLscope.Ben Morrow2010-08-201-1/+1
| | | | | | | | | | | | | | | | These are left from PERL_OBJECT, which was an implementation of multiplicity using C++ objects. PERL_OBJECT was removed in 5.8, but the macros seem to have been cargo-culted all over the core (including in places where they would have been inappropriate originally). Since they now do exactly nothing, it's cleaner to remove them. I have left the definitions in perl.h, under #ifndef PERL_CORE, since some CPAN XS code uses them (also often incorrectly). I have also left STATIC alone, since it seems potentially more useful and is much more ingrained. The only appearance of these macros this patch doesn't touch is in Devel-PPPort, because that's a CPAN module.
* DEBUG_LEAKING_SCALARS: add sv_debug_parentDavid Mitchell2010-08-011-2/+2
| | | | | Rather than just recording whether an SV was cloned (sv->sv_debug_cloned), record the address of the SV we were cloned from.
* Dump didn't display CVf_ISXSUB flagDavid Mitchell2010-07-291-1/+2
|
* Perl_do_sv_dump didn't increase nesting for magicDavid Mitchell2010-07-291-1/+1
|
* Perl_do_sv_dump: alert when skipping elementsDavid Mitchell2010-07-291-22/+27
| | | | | | When dumping an HV, we skip dumping the elements if the iterator is already in use. Explain this in the dump output so people like me aren't left wondering why the elements have vanished.
* add CVf_CVGV_RC flagDavid Mitchell2010-07-181-1/+2
| | | | | | | | | | | | | after the recent commit 803f274831f937654d48f8cf0468521cbf8f5dff, the CvGV field is sometimes reference counted. Since it was intended that the reference counting would happen only for anonymous CVs, the CVf_ANON flag was co-opted to indicate whether RC was being used. This is not entirely robust; for example, sub __ANON__ {} is a non-anon sub which points to the same GV used by anon subs, which while itself doesn't directly break things, shows that the potential for breakage is there. So add a separate flag just to indicate the reference count status of the CvGV field.
* Sort and complete the op flags lists for op_dump()Vincent Pit2010-07-111-11/+20
|
* Remove extraneous semicolon from OP_PRIVATE_ONCE.Craig A. Berry2010-06-031-1/+1
| | | | | | | | | Thus silencing compiler noise like: OP_PRIVATE_ONCE(op_aassign, OPpASSIGN_COMMON, ",COMMON"); ........................................................^ %CC-I-EXTRASEMI, Extraneous semicolon. at line number 846 in file D0:[craig.blead]dump.c;1
* Migrate most other op_private to name conversion into S_op_private_to_names().Nicholas Clark2010-05-281-57/+38
|
* In Perl_do_op_dump(), move calls to append_flags() into S_op_private_to_names()Nicholas Clark2010-05-281-12/+34
|
* Add C_ARRAY_END(), returning a pointer to after the last element of an array.Nicholas Clark2010-05-281-1/+1
| | | | Refactor the macro append_flags() in dump.c to use it.
* In Perl_do_op_dump(), reorder the ops within the if (o->op_private) clause.Nicholas Clark2010-05-281-29/+29
|
* In Perl_do_sv_dump(), use append_flags() for PVCV, PVFM and PVGP flags.Nicholas Clark2010-05-281-22/+38
|
* In Perl_do_sv_dump(), for PVCV and PVFM, test for SvCOMPILED(sv) last.Nicholas Clark2010-05-281-1/+1
|
* In Perl_do_op_dump(), move runs of op_private name tests to S_append_flags().Nicholas Clark2010-05-281-47/+44
|
* Create S_append_flags() from a common code pattern in dump.c.Nicholas Clark2010-05-281-44/+64
| | | | | | | | Convert repetitive sequences of "if this bit is set, append that string" into structures and a function call. Use a custom macro append_flags() to make calling it easer. This makes the object code slightly smaller.
* add OPpDEREFed flag to avoid double mg_get()David Mitchell2010-05-251-0/+5
| | | | | | | | | | | | | The previous commit made various ops such as rv2av unconditionally do an SvGETMAGIC(). Under some circumstances this could cause a double mg_get() (and hence double FETCH etc). In particular, when the proceeding op was something like aelem with OPpDEREF, the aelem would call vivify_ref(), which would call magic. So in peep(), mark OP_RV2[SAH]V ops with the new OPpDEREFed flag if the preceding op was OPpDEREF. Then use this flag to avoid a second dose of magic. Note that RV2GV probably needs this flag too, but there weren't any spare private flag bits left for that op (I think).
* Add s///r (non-destructive substitution).David Caldwell2010-05-221-0/+2
| | | | | | | | | | | | | | | | This changes s/// so that it doesn't act destructively on its target. Instead it returns the result of the substitution (or the original string if there was no match). In addition this patch: * Adds a new warning when s///r happens in void context. * Adds a error when you try to use s///r with !~ * Makes it so constant strings can be bound to s///r with =~ * Adds documentation. * Adds some tests. * Updates various debug code so it knows about the /r flag. * Adds some new 'r' words to B::Deparse.
* SvIVX() isn't valid on SVt_REGEXPNicholas Clark2010-05-201-1/+1
|
* [perl #73776] "???? - please notify IZ"Father Chrysostomos2010-04-231-1/+6
| | | | | | Change 27536 (45f4726) started using -1 as a special len value for utf8 magic. I believe this marker indicates that the utf8 length cache needs to be calculated, in which case dump.c can ignore this case.
* Move PERL_ASYNC_CHECK() from the runloop to control flow OPs.Nicholas Clark2010-04-151-1/+0
| | | | | | | | | For the typical code this gives a 5% speedup, and removes the cost of "safe signals". Tight looping code will show less gains, but should never be slower. Subtle bugs might remain - there might be constructions that enter the runloop (where signals used to be dispatched) but don't contain any PERL_ASYNC_CHECK() calls themselves.
* include sv_debug_serial field in debugging outputDavid Mitchell2010-01-081-2/+5
|
* PVIOs don't use the SvIVX slot.Nicholas Clark2009-11-191-1/+2
|
* Add Perl_ck_warner_d(), which combines Perl_ckwarn_d() and Perl_warner().Nicholas Clark2009-10-121-2/+1
| | | | | Replace ckWARN_d{,2,3,4}() && Perl_warner() with it, which trades reduced code size for 1 more function call if warnings are not enabled.
* Add PERL_ARGS_ASSERT_* macros where missing; move where in the wrong function.Nicholas Clark2009-09-141-4/+8
|
* Fix the build for -Dmad - f0e3f042f14b829f missed a couple of things.Nicholas Clark2009-09-141-3/+9
|
* Remove an extraneous aTHX_ added in f0e3f042f14b, which broke threaded builds.Nicholas Clark2009-08-311-1/+1
|
* finish implementing -DB vs. -DxChip Salzenberg2009-08-301-5/+45
|
* Add clear magic to %^H so that the HE chain is reset when you empty it.Zefram2009-08-211-0/+1
| | | | This fixes [perl #68590] : %^H not lexical enough.
* sv_peek(): SvOOK offset is no longer in IVXDavid Mitchell2009-08-161-2/+5
|
* When dumping a hash, display the mro_meta structure if present.Nicholas Clark2009-07-251-0/+36
|
* fix segfault in -Dx without threadsChip Salzenberg2009-07-091-1/+1
|
* parenthesize check for a flagStepan Kasal2009-06-021-1/+1
| | | | | | | | | | | | | | | Hello, gcc warned me about a suspicious combination of ! and & Please consinder the following one-line patch. Stepan Kasal From 4b449da2aedf3b40b8f6dfa4c410d9becb33330a Mon Sep 17 00:00:00 2001 From: Stepan Kasal <skasal@redhat.com> Date: Tue, 2 Jun 2009 16:06:10 +0200 Subject: [PATCH] dump.c: parenthesize flag check Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
* Remove CVf_LOCKED and CvLOCKED*(), now that nothing sets that flag bit.Nicholas Clark2009-04-131-1/+0
|
* GvUNIQUE* have been defined as 0 since 2005/06/30 - high time to remove them.Nicholas Clark2009-04-131-1/+0
|
* Add a dump to help tracing taint bugs, by Chip SalzenbergRafael Garcia-Suarez2008-11-151-0/+2
| | | p4raw-id: //depot/perl@34837
* PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-2/+4
| | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* Add MUTABLE_GV(), and eliminate (V *) casts in *.c.Nicholas Clark2008-10-311-4/+4
| | | | | | 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-15/+16
| | | | | erroneous const in dump.c. p4raw-id: //depot/perl@34675
* Use pvs macros instead of pvn where possible.Marcus Holland-Moritz2008-10-291-19/+19
| | | p4raw-id: //depot/perl@34653
* Eliminate (AV *) casts in *.c.Nicholas Clark2008-10-291-4/+4
| | | p4raw-id: //depot/perl@34650
* Remove redundant (and wrong) prototype for pv_display()Marcus Holland-Moritz2008-10-291-3/+0
| | | | | from its apidoc section. p4raw-id: //depot/perl@34649
* 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
* Remove redundant API definitions from '=for apidoc' sections.Marcus Holland-Moritz2008-10-291-7/+2
| | | | | | Those are already in embed.fnc, and most of them were already outdated. This also fixes the docs for pv_escape and pv_pretty. p4raw-id: //depot/perl@34642
* Every remaining (HV *) cast in *.cNicholas Clark2008-10-281-2/+3
| | | p4raw-id: //depot/perl@34629
* Update copyright years.Nicholas Clark2008-10-251-2/+2
| | | p4raw-id: //depot/perl@34585
* You can't (and shouldn't) use CvDEPTH on a PVFM.Nicholas Clark2008-07-311-1/+2
| | | p4raw-id: //depot/perl@34167
* PVFMs don't need to access the IVX any more. (as of change 32836, whichNicholas Clark2008-07-121-1/+1
| | | | | re-implemented SvOOK() to avoid using it) p4raw-id: //depot/perl@34133