summaryrefslogtreecommitdiff
path: root/ext/ByteLoader
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-11-11 10:32:54 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-11-11 10:32:54 +0000
commit11faa288e292c27cb2ddc4ccdc483b523d26ce19 (patch)
treecdd7a04e7b75f54261ca8d31b5dbd98d7053dd10 /ext/ByteLoader
parent57843af05bc7863df9b9bfb6b37e3a29d08532a9 (diff)
downloadperl-11faa288e292c27cb2ddc4ccdc483b523d26ce19.tar.gz
avoid stash pointers in optree under USE_ITHREADS
p4raw-id: //depot/perl@4546
Diffstat (limited to 'ext/ByteLoader')
-rw-r--r--ext/ByteLoader/bytecode.h5
-rw-r--r--ext/ByteLoader/byterun.c8
-rw-r--r--ext/ByteLoader/byterun.h2
3 files changed, 8 insertions, 7 deletions
diff --git a/ext/ByteLoader/bytecode.h b/ext/ByteLoader/bytecode.h
index 77d93b035d..6e19e129df 100644
--- a/ext/ByteLoader/bytecode.h
+++ b/ext/ByteLoader/bytecode.h
@@ -137,8 +137,9 @@ typedef IV IV64;
PL_comppad = (AV *)arg; \
pad = AvARRAY(arg); \
} STMT_END
-#define BSET_cop_file(cop, arg) CopFILE_set(cop,arg)
-#define BSET_cop_line(cop, arg) CopLINE_set(cop,arg)
+#define BSET_cop_file(cop, arg) CopFILE_set(cop,arg)
+#define BSET_cop_line(cop, arg) CopLINE_set(cop,arg)
+#define BSET_cop_stashpv(cop, arg) CopSTASHPV_set(cop,arg)
#define BSET_OBJ_STORE(obj, ix) \
(I32)ix > bytecode_obj_list_fill ? \
diff --git a/ext/ByteLoader/byterun.c b/ext/ByteLoader/byterun.c
index f55feb758a..595fd4e18d 100644
--- a/ext/ByteLoader/byterun.c
+++ b/ext/ByteLoader/byterun.c
@@ -828,11 +828,11 @@ byterun(pTHXo_ struct bytestream bs)
cCOP->cop_label = arg;
break;
}
- case INSN_COP_STASH: /* 109 */
+ case INSN_COP_STASHPV: /* 109 */
{
- svindex arg;
- BGET_svindex(arg);
- *(SV**)&cCOP->cop_stash = arg;
+ pvcontents arg;
+ BGET_pvcontents(arg);
+ BSET_cop_stashpv(cCOP, arg);
break;
}
case INSN_COP_FILE: /* 110 */
diff --git a/ext/ByteLoader/byterun.h b/ext/ByteLoader/byterun.h
index 17560c858b..f0de6b4820 100644
--- a/ext/ByteLoader/byterun.h
+++ b/ext/ByteLoader/byterun.h
@@ -125,7 +125,7 @@ enum {
INSN_OP_NEXTOP, /* 106 */
INSN_OP_LASTOP, /* 107 */
INSN_COP_LABEL, /* 108 */
- INSN_COP_STASH, /* 109 */
+ INSN_COP_STASHPV, /* 109 */
INSN_COP_FILE, /* 110 */
INSN_COP_SEQ, /* 111 */
INSN_COP_ARYBASE, /* 112 */