diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-05-20 17:29:52 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-05-20 17:29:52 +0000 |
commit | 11bcd5dad4f9d911a9454f9d858c2dd0d14ddf2a (patch) | |
tree | 24e3ac38c69f46172a4cf4ac1aeabe4488829631 /ext/ByteLoader | |
parent | d5ec2987912a76b3059b7bd1d06cf02b4d0dae0c (diff) | |
download | perl-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 'ext/ByteLoader')
-rw-r--r-- | ext/ByteLoader/byterun.c | 45 | ||||
-rw-r--r-- | ext/ByteLoader/byterun.h | 41 |
2 files changed, 39 insertions, 47 deletions
diff --git a/ext/ByteLoader/byterun.c b/ext/ByteLoader/byterun.c index 3738ad5bdd..2b7296a922 100644 --- a/ext/ByteLoader/byterun.c +++ b/ext/ByteLoader/byterun.c @@ -975,98 +975,91 @@ byterun(pTHX_ register struct byteloader_state *bstate) cCOP->cop_line = arg; break; } - case INSN_COP_IO: /* 130 */ - { - svindex arg; - BGET_svindex(arg); - cCOP->cop_io = arg; - break; - } - case INSN_COP_WARNINGS: /* 131 */ + case INSN_COP_WARNINGS: /* 130 */ { svindex arg; BGET_svindex(arg); BSET_cop_warnings(cCOP, arg); break; } - case INSN_MAIN_START: /* 132 */ + case INSN_MAIN_START: /* 131 */ { opindex arg; BGET_opindex(arg); PL_main_start = arg; break; } - case INSN_MAIN_ROOT: /* 133 */ + case INSN_MAIN_ROOT: /* 132 */ { opindex arg; BGET_opindex(arg); PL_main_root = arg; break; } - case INSN_MAIN_CV: /* 134 */ + case INSN_MAIN_CV: /* 133 */ { svindex arg; BGET_svindex(arg); *(SV**)&PL_main_cv = arg; break; } - case INSN_CURPAD: /* 135 */ + case INSN_CURPAD: /* 134 */ { svindex arg; BGET_svindex(arg); BSET_curpad(PL_curpad, arg); break; } - case INSN_PUSH_BEGIN: /* 136 */ + case INSN_PUSH_BEGIN: /* 135 */ { svindex arg; BGET_svindex(arg); BSET_push_begin(PL_beginav, arg); break; } - case INSN_PUSH_INIT: /* 137 */ + case INSN_PUSH_INIT: /* 136 */ { svindex arg; BGET_svindex(arg); BSET_push_init(PL_initav, arg); break; } - case INSN_PUSH_END: /* 138 */ + case INSN_PUSH_END: /* 137 */ { svindex arg; BGET_svindex(arg); BSET_push_end(PL_endav, arg); break; } - case INSN_CURSTASH: /* 139 */ + case INSN_CURSTASH: /* 138 */ { svindex arg; BGET_svindex(arg); *(SV**)&PL_curstash = arg; break; } - case INSN_DEFSTASH: /* 140 */ + case INSN_DEFSTASH: /* 139 */ { svindex arg; BGET_svindex(arg); *(SV**)&PL_defstash = arg; break; } - case INSN_DATA: /* 141 */ + case INSN_DATA: /* 140 */ { U8 arg; BGET_U8(arg); BSET_data(none, arg); break; } - case INSN_INCAV: /* 142 */ + case INSN_INCAV: /* 141 */ { svindex arg; BGET_svindex(arg); *(SV**)&GvAV(PL_incgv) = arg; break; } - case INSN_LOAD_GLOB: /* 143 */ + case INSN_LOAD_GLOB: /* 142 */ { svindex arg; BGET_svindex(arg); @@ -1074,7 +1067,7 @@ byterun(pTHX_ register struct byteloader_state *bstate) break; } #ifdef USE_ITHREADS - case INSN_REGEX_PADAV: /* 144 */ + case INSN_REGEX_PADAV: /* 143 */ { svindex arg; BGET_svindex(arg); @@ -1082,35 +1075,35 @@ byterun(pTHX_ register struct byteloader_state *bstate) break; } #endif - case INSN_DOWARN: /* 145 */ + case INSN_DOWARN: /* 144 */ { U8 arg; BGET_U8(arg); PL_dowarn = arg; break; } - case INSN_COMPPAD_NAME: /* 146 */ + case INSN_COMPPAD_NAME: /* 145 */ { svindex arg; BGET_svindex(arg); *(SV**)&PL_comppad_name = arg; break; } - case INSN_XGV_STASH: /* 147 */ + case INSN_XGV_STASH: /* 146 */ { svindex arg; BGET_svindex(arg); *(SV**)&GvSTASH(bstate->bs_sv) = arg; break; } - case INSN_SIGNAL: /* 148 */ + case INSN_SIGNAL: /* 147 */ { strconst arg; BGET_strconst(arg); BSET_signal(bstate->bs_sv, arg); break; } - case INSN_FORMFEED: /* 149 */ + case INSN_FORMFEED: /* 148 */ { svindex arg; BGET_svindex(arg); diff --git a/ext/ByteLoader/byterun.h b/ext/ByteLoader/byterun.h index 0ba48c6153..75c1ba0707 100644 --- a/ext/ByteLoader/byterun.h +++ b/ext/ByteLoader/byterun.h @@ -165,27 +165,26 @@ enum { INSN_COP_SEQ, /* 127 */ INSN_COP_ARYBASE, /* 128 */ INSN_COP_LINE, /* 129 */ - INSN_COP_IO, /* 130 */ - INSN_COP_WARNINGS, /* 131 */ - INSN_MAIN_START, /* 132 */ - INSN_MAIN_ROOT, /* 133 */ - INSN_MAIN_CV, /* 134 */ - INSN_CURPAD, /* 135 */ - INSN_PUSH_BEGIN, /* 136 */ - INSN_PUSH_INIT, /* 137 */ - INSN_PUSH_END, /* 138 */ - INSN_CURSTASH, /* 139 */ - INSN_DEFSTASH, /* 140 */ - INSN_DATA, /* 141 */ - INSN_INCAV, /* 142 */ - INSN_LOAD_GLOB, /* 143 */ - INSN_REGEX_PADAV, /* 144 */ - INSN_DOWARN, /* 145 */ - INSN_COMPPAD_NAME, /* 146 */ - INSN_XGV_STASH, /* 147 */ - INSN_SIGNAL, /* 148 */ - INSN_FORMFEED, /* 149 */ - MAX_INSN = 149 + INSN_COP_WARNINGS, /* 130 */ + INSN_MAIN_START, /* 131 */ + INSN_MAIN_ROOT, /* 132 */ + INSN_MAIN_CV, /* 133 */ + INSN_CURPAD, /* 134 */ + INSN_PUSH_BEGIN, /* 135 */ + INSN_PUSH_INIT, /* 136 */ + INSN_PUSH_END, /* 137 */ + INSN_CURSTASH, /* 138 */ + INSN_DEFSTASH, /* 139 */ + INSN_DATA, /* 140 */ + INSN_INCAV, /* 141 */ + INSN_LOAD_GLOB, /* 142 */ + INSN_REGEX_PADAV, /* 143 */ + INSN_DOWARN, /* 144 */ + INSN_COMPPAD_NAME, /* 145 */ + INSN_XGV_STASH, /* 146 */ + INSN_SIGNAL, /* 147 */ + INSN_FORMFEED, /* 148 */ + MAX_INSN = 148 }; enum { |