summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-02-25 06:00:01 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-02-25 06:00:01 +0000
commitf70ca6c83cb72c40e99a32a277d84b67546a860f (patch)
tree323016d1a0b0e0cc4880d8ee89ebbfa01526756e /ext
parent49c10eea37fecdc3f701b564ab530e9176f545c4 (diff)
parentfaee740f668b7b35a18577bc0b2150b66dd521ec (diff)
downloadperl-f70ca6c83cb72c40e99a32a277d84b67546a860f.tar.gz
Integrate with Sarathy.
p4raw-id: //depot/cfgperl@5254
Diffstat (limited to 'ext')
-rw-r--r--ext/B/B.xs5
-rw-r--r--ext/B/B/C.pm5
2 files changed, 7 insertions, 3 deletions
diff --git a/ext/B/B.xs b/ext/B/B.xs
index d0ee8e463a..9e2985582a 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -163,8 +163,11 @@ cc_opclass(pTHX_ OP *o)
* an SVOP (and op_sv is the GV for the filehandle argument).
*/
return ((o->op_flags & OPf_KIDS) ? OPc_UNOP :
+#ifdef USE_ITHREADS
+ (o->op_flags & OPf_REF) ? OPc_PADOP : OPc_BASEOP);
+#else
(o->op_flags & OPf_REF) ? OPc_SVOP : OPc_BASEOP);
-
+#endif
case OA_LOOPEXOP:
/*
* next, last, redo, dump and goto use OPf_SPECIAL to indicate that a
diff --git a/ext/B/B/C.pm b/ext/B/B/C.pm
index c8fd96bb82..dafef33bb1 100644
--- a/ext/B/B/C.pm
+++ b/ext/B/B/C.pm
@@ -298,7 +298,7 @@ sub B::PADOP::save {
my ($op, $level) = @_;
my $sym = objsym($op);
return $sym if defined $sym;
- $padopsect->add(sprintf("s\\_%x, s\\_%x, NULL, %u, %u, %u, 0x%x, 0x%x, Nullgv",
+ $padopsect->add(sprintf("s\\_%x, s\\_%x, NULL, %u, %u, %u, 0x%x, 0x%x, 0",
${$op->next}, ${$op->sibling},
$op->targ, $op->type, $op_seq, $op->flags,
$op->private));
@@ -314,7 +314,7 @@ sub B::COP::save {
return $sym if defined $sym;
warn sprintf("COP: line %d file %s\n", $op->line, $op->file)
if $debug_cops;
- $copsect->add(sprintf("s\\_%x, s\\_%x, NULL, %u, %u, %u, 0x%x, 0x%x, %s, Nullhv, Nullgv, %u, %d, %u",
+ $copsect->add(sprintf("s\\_%x, s\\_%x, NULL, %u, %u, %u, 0x%x, 0x%x, %s, NULL, NULL, %u, %d, %u",
${$op->next}, ${$op->sibling},
$op->targ, $op->type, $op_seq, $op->flags,
$op->private, cstring($op->label), $op->cop_seq,
@@ -1090,6 +1090,7 @@ sub output_boilerplate {
print <<'EOT';
#include "EXTERN.h"
#include "perl.h"
+#include "XSUB.h"
/* Workaround for mapstart: the only op which needs a different ppaddr */
#undef Perl_pp_mapstart