summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-10-07 11:39:50 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-10-07 11:40:18 -0700
commitd0c0e7dd0ccf3d5c2f658529d3ee578a0bcb116e (patch)
treef416601f98df3da3bd38565e30c7013f072200ad /universal.c
parentb8fa52133ec35c6191dc536bb166eb31c1b6a887 (diff)
downloadperl-d0c0e7dd0ccf3d5c2f658529d3ee578a0bcb116e.tar.gz
Use HEKf
This avoids creating a lot of temporary SVs.
Diffstat (limited to 'universal.c')
-rw-r--r--universal.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/universal.c b/universal.c
index a03296da16..d623a67ed3 100644
--- a/universal.c
+++ b/universal.c
@@ -307,13 +307,13 @@ Perl_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
const HV *const stash = GvSTASH(gv);
if (HvNAME_get(stash))
- Perl_croak(aTHX_ "Usage: %"SVf"::%"SVf"(%s)",
- SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(stash)))),
- SVfARG(sv_2mortal(newSVhek(GvNAME_HEK(gv)))),
+ Perl_croak(aTHX_ "Usage: %"HEKf"::%"HEKf"(%s)",
+ HEKfARG(HvNAME_HEK(stash)),
+ HEKfARG(GvNAME_HEK(gv)),
params);
else
- Perl_croak(aTHX_ "Usage: %"SVf"(%s)",
- SVfARG(sv_2mortal(newSVhek(GvNAME_HEK(gv)))), params);
+ Perl_croak(aTHX_ "Usage: %"HEKf"(%s)",
+ HEKfARG(GvNAME_HEK(gv)), params);
} else {
/* Pants. I don't think that it should be possible to get here. */
Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
@@ -437,10 +437,11 @@ XS(XS_UNIVERSAL_VERSION)
if (undef) {
if (pkg) {
- const SV * const name = sv_2mortal(newSVhek(HvNAME_HEK(pkg)));
+ const HEK * const name = HvNAME_HEK(pkg);
Perl_croak(aTHX_
- "%"SVf" does not define $%"SVf"::VERSION--version check failed",
- SVfARG(name), SVfARG(name));
+ "%"HEKf" does not define $%"HEKf
+ "::VERSION--version check failed",
+ HEKfARG(name), HEKfARG(name));
} else {
Perl_croak(aTHX_
"%"SVf" defines neither package nor VERSION--version check failed",
@@ -458,15 +459,15 @@ XS(XS_UNIVERSAL_VERSION)
if ( vcmp( req, sv ) > 0 ) {
if ( hv_exists(MUTABLE_HV(SvRV(req)), "qv", 2 ) ) {
- Perl_croak(aTHX_ "%"SVf" version %"SVf" required--"
+ Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
"this is only version %"SVf"",
- SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(pkg)))),
+ HEKfARG(HvNAME_HEK(pkg)),
SVfARG(sv_2mortal(vnormal(req))),
SVfARG(sv_2mortal(vnormal(sv))));
} else {
- Perl_croak(aTHX_ "%"SVf" version %"SVf" required--"
+ Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
"this is only version %"SVf,
- SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(pkg)))),
+ HEKfARG(HvNAME_HEK(pkg)),
SVfARG(sv_2mortal(vstringify(req))),
SVfARG(sv_2mortal(vstringify(sv))));
}