summaryrefslogtreecommitdiff
path: root/ext/B
diff options
context:
space:
mode:
Diffstat (limited to 'ext/B')
-rw-r--r--ext/B/B/Deparse.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/B/B/Deparse.pm b/ext/B/B/Deparse.pm
index a6644fbe15..a0f0e78020 100644
--- a/ext/B/B/Deparse.pm
+++ b/ext/B/B/Deparse.pm
@@ -3627,7 +3627,10 @@ sub pp_split {
my($op, $cx) = @_;
my($kid, @exprs, $ary, $expr);
$kid = $op->first;
- if ($ {$kid->pmreplroot}) {
+ # under ithreads pmreplroot is an integer, not an SV
+ my $replroot = $kid->pmreplroot;
+ if ( ( ref($replroot) && $$replroot ) ||
+ ( !ref($replroot) && $replroot ) ) {
$ary = $self->stash_variable('@', $self->gv_name($kid->pmreplroot));
}
for (; !null($kid); $kid = $kid->sibling) {