| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
It was never part of the public API, and only ever used by pp_{s,}cho{,m}p.
|
|
|
|
|
|
| |
They share code for dealing with PVAVs, PVHVs, read only values and handling
PL_encoding. They are not part of the public API, and Google codesearch shows
no users outside the core.
|
|
|
|
| |
Pass in an SV to hold the count, rather than returning the count.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All built-in functions that operate directly on array or hash
containers now also accept hard references to arrays or hashes:
|----------------------------+---------------------------|
| Traditional syntax | Terse syntax |
|----------------------------+---------------------------|
| push @$arrayref, @stuff | push $arrayref, @stuff |
| unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
| pop @$arrayref | pop $arrayref |
| shift @$arrayref | shift $arrayref |
| splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
| keys %$hashref | keys $hashref |
| keys @$arrayref | keys $arrayref |
| values %$hashref | values $hashref |
| values @$arrayref | values $arrayref |
| ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
| ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
|----------------------------+---------------------------|
This allows these built-in functions to act on long dereferencing
chains or on the return value of subroutines without needing to wrap
them in C<@{}> or C<%{}>:
push @{$obj->tags}, $new_tag; # old way
push $obj->tags, $new_tag; # new way
for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
for ( keys $hoh->{genres}{artists} ) {...} # new way
For C<push>, C<unshift> and C<splice>, the reference will auto-vivify
if it is not defined, just as if it were wrapped with C<@{}>.
Calling C<keys> or C<values> directly on a reference gives a
substantial performance improvement over explicit dereferencing.
For C<keys>, C<values>, C<each>, when overloaded dereferencing is
present, the overloaded dereference is used instead of dereferencing
the underlying reftype. Warnings are issued about assumptions made in
the following three ambiguous cases:
(a) If both %{} and @{} overloading exists, %{} is used
(b) If %{} overloading exists on a blessed arrayref, %{} is used
(c) If @{} overloading exists on a blessed hashref, @{} is used
|
|
|
|
|
| |
This patch stops y from calling get-magic twice. (This has caused
double magick since as far back as 5.6.2.)
|
|
|
|
| |
TEMP instead of using TARG. Made appropriate TODO tests live.
|
|
|
|
|
| |
This reduces object code size, reducing CPU cache pressure on the non-exception
paths.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
(MacOS support was removed from MakeMaker in 6.22, and merged to blead on
15th December 2004 with 5dca256ec738057dc331fb644a93eca44ad5fa14. After this
point MacOS wouldn't even have been able to build the perl binary, because it
would not have been able to build DynaLoader. If anyone wishes to resurrect
MacOS, start by reversing this commit and the relevant part of that commit.)
|
| |
|
|
|
|
|
|
|
| |
This fixes the following problem:
-e 'my $re = qr/x/; $re |= "y"'
assert failure under 5.10.0, 10-maint, bleed, but not 5.8.8
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
erroneous const in dump.c.
p4raw-id: //depot/perl@34675
|
|
|
| |
p4raw-id: //depot/perl@34653
|
|
|
| |
p4raw-id: //depot/perl@34650
|
|
|
| |
p4raw-id: //depot/perl@34629
|
|
|
| |
p4raw-id: //depot/perl@34585
|
|
|
|
|
|
| |
From: "Vincent Pit" <perl@profvince.com>
Message-ID: <32964.147.210.17.175.1210858279.squirrel@147.210.17.175>
p4raw-id: //depot/perl@33831
|
|
|
|
|
|
| |
From: "Yitzchak Scott-Thoennes" <sthoenna@efn.org>
Message-ID: <47935.71.32.86.11.1204678469.squirrel@webmail.efn.org>
p4raw-id: //depot/perl@33457
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
the flags. Move its implementation just ahead of sv_2mortal()'s for
CPU cache locality. Refactor all code that can be to use this.
p4raw-id: //depot/perl@32818
|
|
|
|
|
| |
Message-Id: <B46A083E-A133-4D38-9BE8-BE1EB0AAA326@petdance.com>
p4raw-id: //depot/perl@31270
|
|
|
| |
p4raw-id: //depot/perl@29765
|
|
|
| |
p4raw-id: //depot/perl@29696
|
|
|
|
|
|
|
| |
and add support for %-
Message-ID: <9b18b3110612291245q792fe91cu69422d2b81bb4f0b@mail.gmail.com>
p4raw-id: //depot/perl@29682
|
|
|
|
|
| |
Message-ID: <20061210223232.0f3a5318@r2d2>
p4raw-id: //depot/perl@29506
|
|
|
|
|
| |
Message-ID: <9b18b3110610061016x5ddce965u30d9a821f632d450@mail.gmail.com>
p4raw-id: //depot/perl@28957
|
|
|
|
|
| |
Message-ID: <20060606150137.GA4434@petdance.com>
p4raw-id: //depot/perl@28363
|
|
|
| |
p4raw-id: //depot/perl@28029
|
|
|
|
|
| |
Message-ID: <20060424232038.7550f9b6@r2d2>
p4raw-id: //depot/perl@27962
|
|
|
|
|
| |
Message-ID: <20060424014509.GA29642@petdance.com>
p4raw-id: //depot/perl@27943
|
|
|
|
|
| |
we can have overlapping memory areas here
p4raw-id: //depot/perl@27897
|
|
|
|
|
|
| |
leak resources. I believe that it's spotted that you can skip all the
cases in the switch. Plug that hole.
p4raw-id: //depot/perl@27883
|
|
|
|
|
|
|
|
| |
the macro calls earlier (Coverity CID 84)
Message-Id: <20060417071937.C13346CF2D@aprikoosi.hut.fi>
Date: Mon, 17 Apr 2006 10:19:37 +0300 (EEST)
p4raw-id: //depot/perl@27859
|
|
|
| |
p4raw-id: //depot/perl@27857
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
one message. So both:
Subject: [PATCH] doop.c: one more code path where memory could leak (Coverity)
Message-Id: <20060416081925.680336CF2D@aprikoosi.hut.fi>
Date: Sun, 16 Apr 2006 11:19:25 +0300 (EEST)
and
Subject: [PATCH] doop.c: one more code path where memory could leak (Coverity)
From: jhi@cc.hut.fi (Jarkko Hietaniemi)
Message-Id: <20060416081925.680336CF2D@aprikoosi.hut.fi>
Date: Sun, 16 Apr 2006 11:19:25 +0300 (EEST)
p4raw-id: //depot/perl@27856
|
|
|
|
|
| |
allocated space for an initialised a trailing NUL.
p4raw-id: //depot/perl@27843
|
|
|
|
|
|
|
| |
(try valgrind on the new bop.t without the doop.c patch)
Message-Id: <20060413162046.5F9636D08C@ugli.hut.fi>
p4raw-id: //depot/perl@27801
|
|
|
|
|
| |
Message-Id: <20060402224657.B942.BQW10602@nifty.com>
p4raw-id: //depot/perl@27688
|
|
|
|
|
| |
Message-ID: <20060224205434.GA17867@petdance.com>
p4raw-id: //depot/perl@27334
|
|
|
| |
p4raw-id: //depot/perl@27238
|
|
|
|
|
|
| |
Message-ID: <20060203152449.GI12591@accognoscere.homeunix.org>
Date: Fri, 3 Feb 2006 16:24:49 +0100
p4raw-id: //depot/perl@27065
|
|
|
|
|
| |
Message-ID: <20060202093849.GD12591@accognoscere.homeunix.org>
p4raw-id: //depot/perl@27054
|
|
|
|
|
| |
Message-ID: <20060106155719.GB9035@petdance.com>
p4raw-id: //depot/perl@26676
|
|
|
|
|
| |
Message-ID: <43BE7C4D.1010302@gmail.com>
p4raw-id: //depot/perl@26675
|
|
|
| |
p4raw-id: //depot/perl@26562
|
|
|
|
|
| |
Message-ID: <20051231050558.GA29093@petdance.com>
p4raw-id: //depot/perl@26558
|