diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-11 10:32:54 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-11 10:32:54 +0000 |
commit | 11faa288e292c27cb2ddc4ccdc483b523d26ce19 (patch) | |
tree | cdd7a04e7b75f54261ca8d31b5dbd98d7053dd10 /ext/ByteLoader | |
parent | 57843af05bc7863df9b9bfb6b37e3a29d08532a9 (diff) | |
download | perl-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.h | 5 | ||||
-rw-r--r-- | ext/ByteLoader/byterun.c | 8 | ||||
-rw-r--r-- | ext/ByteLoader/byterun.h | 2 |
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 */ |