summaryrefslogtreecommitdiff
path: root/ext/ByteLoader
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 /ext/ByteLoader
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 'ext/ByteLoader')
-rw-r--r--ext/ByteLoader/byterun.c45
-rw-r--r--ext/ByteLoader/byterun.h41
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 {