| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
key is in canonical form - any key passed encoded in UTF-8 cannot be represented
as bytes, hence the downgrade check can be skipped. Use this internally for
shared hash key scalars, as they are always canonical.
|
|
|
|
| |
AV * to HV *.
|
|
|
|
| |
from AV * to SV *.
|
|
|
|
|
|
| |
core, in ext/mro/mro.xs. Also move mro::_nextcan() to mro.xs. It needs direct
access to S_mro_get_linear_isa_c3(), and nothing on CPAN calls it, except via
methods defined in mro.pm. Hence all users already require mro;
|
|
|
|
|
| |
public API and be used outside the core. However, leave Perl_mro_meta_init() as
a private implementation detail.
|
| |
|
|
|
|
|
|
|
| |
method resolution orders.
mro_linear_dfs becomes a hash holding the different MROs' private data.
mro_linear_c3 becomes a shortcut pointer to the current MRO's private data.
|
|
|
| |
p4raw-id: //depot/perl@34619
|
|
|
|
|
|
|
|
|
|
| |
away const, returning a void *. Add MUTABLE_SV(sv) which uses this, and
replace all (SV *) casts either with MUTABLE_SV(sv), or (const SV *).
This probably still needs some work - assigning to SvPVX() and SvRV()
is now likely to generate a casting error. The core doesn't do this.
But as-is it's finding bugs that can be fixed.
p4raw-id: //depot/perl@34605
|
|
|
|
|
|
|
|
|
|
|
| |
de-duping hash used by S_mro_get_linear_isa_dfs(). Provide a new
function Perl_get_isa_hash() to lazily retrieve this. (Which could
actually be static if S_isa_lookup() and Perl_sv_derived_from()
moved into mro.c.) Make S_isa_lookup() use this lookup hash in place
of a linear walk of the linear isa. This should turn isa lookups from
O(n) to O(1), which should make heavy users of ->isa() faster.
(eg PPI, and hence Perl Critic).
p4raw-id: //depot/perl@34354
|
|
|
|
|
| |
(roughly) the original parameter names.
p4raw-id: //depot/perl@33891
|
|
|
|
|
| |
Nullhek and Nullhv. Nullop is going to be a bit less simple.
p4raw-id: //depot/perl@33051
|
|
|
| |
p4raw-id: //depot/perl@32860
|
|
|
| |
p4raw-id: //depot/perl@32820
|
|
|
|
|
| |
newSVhek(HeKEY_hek(he) is probably what you wanted all along.
p4raw-id: //depot/perl@32812
|
|
|
|
|
|
| |
in structure or union. No doubt some non-sloppy compilers will consider
this an error and barf. We don't like barfing.
p4raw-id: //depot/perl@32785
|
|
|
|
|
| |
Message-ID: <20071229181742.1933db40@r2d2>
p4raw-id: //depot/perl@32783
|
|
|
|
|
| |
wrapper around newSV_type() and tweaking Perl_sv_upgrade().
p4raw-id: //depot/perl@32676
|
|
|
|
|
|
|
|
| |
defined in the header, to a pointer to a structure. This allows the
flexibility to easily add more MROs in the future, and to provide an
API to do so. Dispatch in mro.c is now via the structure pointed to,
rather than switch statements on the value of the enum.
p4raw-id: //depot/perl@31977
|
|
|
|
|
|
|
|
| |
manipulations to convert negative lengths to positive length + UTF-8
flag. hv_delete(), hv_exists(), hv_fetch(), hv_store() and
hv_store_flags() all become mathoms. The macros hv_fetchs() and
hv_stores() call hv_common() directly.
p4raw-id: //depot/perl@31931
|
|
|
| |
p4raw-id: //depot/perl@31926
|
|
|
|
|
|
| |
hv_store_ent() to macros, and consign the function bodies to history.
Er, mathoms.c
p4raw-id: //depot/perl@31924
|
|
|
|
|
| |
This puts all the key normalisation code in one place.
p4raw-id: //depot/perl@31916
|
|
|
|
|
|
|
|
|
| |
hash with magic. Field hashes have u magic, so this recursion triggers.
However, key conversion replaces the original key with the converted
key, so we need to ensure that conversion happens exactly once, else
for a non-idempotent key conversion routine (eg ROT13) we will see
double conversion in this case.
p4raw-id: //depot/perl@31898
|
|
|
|
|
| |
Message-ID: <4671FA51.4070001@iki.fi>
p4raw-id: //depot/perl@31388
|
|
|
|
|
|
| |
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60705291708m3f106d74r473f3d91c780163d@mail.gmail.com>
p4raw-id: //depot/perl@31312
|
|
|
|
|
|
|
|
| |
<84621a60705111347q40f9dd9ciefa9468e9ff9ca6c@mail.gmail.com>
<84621a60705121458i34ff361fh9166e8558781df41@mail.gmail.com>
<84621a60705141111q70ed307r9181dfc2834a8f5c@mail.gmail.com>
<84621a60705160937h53946fcfg70635908302724e8@mail.gmail.com>
p4raw-id: //depot/perl@31239
|
|
|
|
|
|
| |
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: <1ff86f510704240735t50cfc159g59b55726ac5ac64b@mail.gmail.com>
p4raw-id: //depot/perl@31064
|
|
|
| |
p4raw-id: //depot/perl@30999
|
|
|
| |
p4raw-id: //depot/perl@30994
|
|
|
|
|
|
| |
From: "Brandon Black" <blblack@gmail.com>
Message-ID: <84621a60704171114k29b0460el5b08ce5185d55ed5@mail.gmail.com>
p4raw-id: //depot/perl@30980
|
|
|
|
|
|
| |
platforms. On LP64 structs stackinfo, refcounted_he, and magic shrink
by 8 bytes, struct yy_parser by 16.
p4raw-id: //depot/perl@30817
|
|
|
|
|
|
| |
possibility of storing 2 futher types. Add a void * to the union
as it won't increase the size, but may become useful.
p4raw-id: //depot/perl@30683
|
|
|
| |
p4raw-id: //depot/perl@30520
|
|
|
|
|
|
| |
to be an unsigned integer, there's not point in comparing
it to 0.
p4raw-id: //depot/perl@30519
|
|
|
|
|
| |
earlier we missed in av.h and hv.h)
p4raw-id: //depot/perl@29670
|
|
|
|
|
| |
*allocated structs, as these are not going to be needed again.
p4raw-id: //depot/perl@29664
|
|
|
|
|
| |
is part of the xnv union.
p4raw-id: //depot/perl@29634
|
|
|
|
|
|
| |
in the xnv union. This frees up IVX for the PL_generation code, which
in turn will allow SvCUR to return to its real purpose.
p4raw-id: //depot/perl@29630
|
|
|
|
|
|
| |
Otherwise Perl_newSVhek(), called by Perl_hv_iterkeysv(), naively
assumes that it can share any hash key directly.
p4raw-id: //depot/perl@28069
|
|
|
|
|
| |
ithreads).
p4raw-id: //depot/perl@27776
|
|
|
|
|
|
| |
This approach is almost certainly not only wrong, but also doomed.
But it's needed to build a correct solution.
p4raw-id: //depot/perl@27768
|
|
|
|
|
|
| |
Add a mutex for manipulated their reference counts.
Unwrap the structure, so that for ithreads it can store SVs in pads.
p4raw-id: //depot/perl@27764
|
|
|
|
|
|
| |
state of %^H as an eleventh value from caller. This allows users to
write pragmas.
p4raw-id: //depot/perl@27643
|
|
|
|
|
| |
have been unused since revision 1.
p4raw-id: //depot/perl@27507
|
|
|
|
|
| |
smaller.
p4raw-id: //depot/perl@27380
|
|
|
|
|
| |
PVGVs by another pointer.
p4raw-id: //depot/perl@27326
|