case OA_PADOP:
return OPc_PADOP;
case OA_PVOP_OR_SVOP:
- return (o->op_private & (OPpTRANS_TO_UTF|OPpTRANS_FROM_UTF)) ? OPc_SVOP : OPc_PVOP;
+ return (o->op_private & (OPpTRANS_TO_UTF|OPpTRANS_FROM_UTF))
+#if defined(USE_ITHREADS) && VMG_HAS_PERL(5, 8, 9)
+ ? OPc_PADOP : OPc_PVOP;
+#else
+ ? OPc_SVOP : OPc_PVOP;
+#endif
case OA_LOOP:
return OPc_LOOP;
case OA_COP:
use strict;
use warnings;
-use Test::More tests => 18 * (3 + 4) + 5 + 1;
+use Test::More tests => 19 * (3 + 4) + 5 + 1;
use Config qw<%Config>;
my $aelemf_op = ($aelemf eq 'sassign')
? 'B::BINOP' : $Config{useithreads} ? 'B::PADOP' : 'B::SVOP';
my $meth_op = ("$]" < 5.021_005) ? 'B::SVOP' : 'B::METHOP';
+my $trutf_op = ($Config{useithreads} && "$]" >= 5.008_009)
+ ? 'B::PADOP' : 'B::SVOP';
my $deref = ("$]" < 5.021_007) ? 'helem' : 'multideref';
my $deref_op = ($deref eq 'multideref') ? 'B::UNOP_AUX' : 'B::UNOP';
[ 'get', '$c', 'my $c = "Variable::Magic::TestPkg"',
'$c->foo()', [ 'method_named', $meth_op ] ],
[ 'get', '$c', 'my $c = ""', '$c =~ y/x/y/', [ 'trans', 'B::PVOP' ] ],
+ [ 'get', '$c', 'my $c = ""', '$c =~ y/\x{100}//',
+ [ 'trans', $trutf_op ] ],
[ 'get', '$c', 'my $c = 1', '1 for 1 .. $c',
[ 'enteriter', 'B::LOOP' ] ],
[ 'free','$c', 'my $c = 1', 'last', [ 'last', 'B::OP' ] ],