summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-05-20 17:29:52 +0000
committerNicholas Clark <nick@ccl4.org>2006-05-20 17:29:52 +0000
commit11bcd5dad4f9d911a9454f9d858c2dd0d14ddf2a (patch)
tree24e3ac38c69f46172a4cf4ac1aeabe4488829631 /op.c
parentd5ec2987912a76b3059b7bd1d06cf02b4d0dae0c (diff)
downloadperl-11bcd5dad4f9d911a9454f9d858c2dd0d14ddf2a.tar.gz
Abolish cop_io (the simple way) by storing the value in cop_hints_hash.
Todo - store the in and out values under 2 keys, and avoid the need to create a temporary mortal SV while checking it. p4raw-id: //depot/perl@28258
Diffstat (limited to 'op.c')
-rw-r--r--op.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/op.c b/op.c
index bf942e16f2..0e668fb52d 100644
--- a/op.c
+++ b/op.c
@@ -495,13 +495,6 @@ S_cop_free(pTHX_ COP* cop)
CopSTASH_free(cop);
if (! specialWARN(cop->cop_warnings))
PerlMemShared_free(cop->cop_warnings);
- if (! specialCopIO(cop->cop_io)) {
-#ifdef USE_ITHREADS
- NOOP;
-#else
- SvREFCNT_dec(cop->cop_io);
-#endif
- }
Perl_refcounted_he_free(aTHX_ cop->cop_hints_hash);
}
@@ -1977,11 +1970,6 @@ Perl_block_start(pTHX_ int full)
PL_hints &= ~HINT_BLOCK_SCOPE;
SAVECOMPILEWARNINGS();
PL_compiling.cop_warnings = DUP_WARNINGS(PL_compiling.cop_warnings);
- SAVESPTR(PL_compiling.cop_io);
- if (! specialCopIO(PL_compiling.cop_io)) {
- PL_compiling.cop_io = newSVsv(PL_compiling.cop_io) ;
- SAVEFREESV(PL_compiling.cop_io) ;
- }
return retval;
}
@@ -3950,10 +3938,6 @@ Perl_newSTATEOP(pTHX_ I32 flags, char *label, OP *o)
CopHINTS and a possible value in cop_hints_hash, so no need to copy it.
*/
cop->cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
- if (specialCopIO(PL_curcop->cop_io))
- cop->cop_io = PL_curcop->cop_io;
- else
- cop->cop_io = newSVsv(PL_curcop->cop_io) ;
cop->cop_hints_hash = PL_curcop->cop_hints_hash;
if (cop->cop_hints_hash) {
HINTS_REFCNT_LOCK;