From: Nicholas Clark Date: Sun, 18 Feb 2007 20:07:39 +0000 (+0000) Subject: More efficient to call newSV_type() then SvGROW() instead of newSV() X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7d0a29fec2f8bfc7e48abe23f1ebc308287c59c8;p=p5sagit%2Fp5-mst-13.2.git More efficient to call newSV_type() then SvGROW() instead of newSV() with a size then sv_upgrade(), as the latter calls sv_upgrade() twice. p4raw-id: //depot/perl@30348 --- diff --git a/perl.c b/perl.c index 4dfea50..c7ed592 100644 --- a/perl.c +++ b/perl.c @@ -262,8 +262,8 @@ perl_construct(pTHXx) if (!PL_linestr) { PL_curcop = &PL_compiling; /* needed by ckWARN, right away */ - PL_linestr = newSV(79); - sv_upgrade(PL_linestr,SVt_PVIV); + PL_linestr = newSV_type(SVt_PVIV); + SvGROW(PL_linestr, 80); if (!SvREADONLY(&PL_sv_undef)) { /* set read-only and try to insure than we wont see REFCNT==0 diff --git a/toke.c b/toke.c index 7719aa5..5248d46 100644 --- a/toke.c +++ b/toke.c @@ -11149,8 +11149,8 @@ S_scan_heredoc(pTHX_ register char *s) s--; #endif - tmpstr = newSV(79); - sv_upgrade(tmpstr, SVt_PVIV); + tmpstr = newSV_type(SVt_PVIV); + SvGROW(tmpstr, 80); if (term == '\'') { op_type = OP_CONST; SvIV_set(tmpstr, -1); @@ -11555,8 +11555,8 @@ S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims) /* create a new SV to hold the contents. 79 is the SV's initial length. What a random number. */ - sv = newSV(79); - sv_upgrade(sv, SVt_PVIV); + sv = newSV_type(SVt_PVIV); + SvGROW(sv, 80); SvIV_set(sv, termcode); (void)SvPOK_only(sv); /* validate pointer */