diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-01-07 15:06:05 -0500 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1998-01-08 13:04:48 +0000 |
commit | 3049007d1d4cd7f779efe25ccbd65634c7e84bd1 (patch) | |
tree | b833b0302557a82eae7cb92e0b03a1307c71e67d | |
parent | fc1ce8cc0aa3c1d2926edfb2f302ea8c60b40168 (diff) | |
download | perl-3049007d1d4cd7f779efe25ccbd65634c7e84bd1.tar.gz |
print/printf/... over-eager mg_find for glob magic:
Subject: [PATCH] fix inefficient checks for TIEHANDLE
p4raw-id: //depot/perl@404
-rw-r--r-- | pp_hot.c | 4 | ||||
-rw-r--r-- | pp_sys.c | 6 |
2 files changed, 5 insertions, 5 deletions
@@ -295,7 +295,7 @@ PP(pp_print) gv = (GV*)*++MARK; else gv = defoutgv; - if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { + if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { if (MARK == ORIGMARK) { MEXTEND(SP, 1); ++MARK; @@ -983,7 +983,7 @@ do_readline(void) I32 gimme = GIMME_V; MAGIC *mg; - if (SvMAGICAL(last_in_gv) && (mg = mg_find((SV*)last_in_gv, 'q'))) { + if (SvRMAGICAL(last_in_gv) && (mg = mg_find((SV*)last_in_gv, 'q'))) { PUSHMARK(SP); XPUSHs(mg->mg_obj); PUTBACK; @@ -927,7 +927,7 @@ PP(pp_getc) if (!gv) gv = argvgv; - if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { + if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { I32 gimme = GIMME_V; PUSHMARK(SP); XPUSHs(mg->mg_obj); @@ -1145,7 +1145,7 @@ PP(pp_prtf) else gv = defoutgv; - if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { + if (SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { if (MARK == ORIGMARK) { MEXTEND(SP, 1); ++MARK; @@ -1255,7 +1255,7 @@ PP(pp_sysread) gv = (GV*)*++MARK; if ((op->op_type == OP_READ || op->op_type == OP_SYSREAD) && - SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) + SvRMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { SV *sv; |