This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #117855] Store CopFILEGV in a pad under ithreads
[perl5.git] / ext / B / typemap
CommitLineData
a8a597b2
MB
1TYPEMAP
2
3B::OP T_OP_OBJ
4B::UNOP T_OP_OBJ
5B::BINOP T_OP_OBJ
6B::LOGOP T_OP_OBJ
a8a597b2
MB
7B::LISTOP T_OP_OBJ
8B::PMOP T_OP_OBJ
9B::SVOP T_OP_OBJ
7934575e 10B::PADOP T_OP_OBJ
a8a597b2 11B::PVOP T_OP_OBJ
a8a597b2
MB
12B::LOOP T_OP_OBJ
13B::COP T_OP_OBJ
14
15B::SV T_SV_OBJ
16B::PV T_SV_OBJ
17B::IV T_SV_OBJ
18B::NV T_SV_OBJ
19B::PVMG T_SV_OBJ
5c35adbb 20B::REGEXP T_SV_OBJ
a8a597b2
MB
21B::PVLV T_SV_OBJ
22B::BM T_SV_OBJ
23B::RV T_SV_OBJ
24B::GV T_SV_OBJ
25B::CV T_SV_OBJ
26B::HV T_SV_OBJ
27B::AV T_SV_OBJ
28B::IO T_SV_OBJ
1df34986 29B::FM T_SV_OBJ
a8a597b2
MB
30
31B::MAGIC T_MG_OBJ
32SSize_t T_IV
fee282c3 33STRLEN T_UV
7934575e 34PADOFFSET T_UV
a8a597b2 35
fd9f6265
JJ
36B::HE T_HE_OBJ
37B::RHE T_RHE_OBJ
38
7261499d
FC
39B::PADLIST T_PL_OBJ
40
a8a597b2
MB
41INPUT
42T_OP_OBJ
43 if (SvROK($arg)) {
44 IV tmp = SvIV((SV*)SvRV($arg));
56431972 45 $var = INT2PTR($type,tmp);
a8a597b2
MB
46 }
47 else
48 croak(\"$var is not a reference\")
49
50T_SV_OBJ
51 if (SvROK($arg)) {
52 IV tmp = SvIV((SV*)SvRV($arg));
56431972 53 $var = INT2PTR($type,tmp);
a8a597b2
MB
54 }
55 else
56 croak(\"$var is not a reference\")
57
58T_MG_OBJ
59 if (SvROK($arg)) {
60 IV tmp = SvIV((SV*)SvRV($arg));
56431972 61 $var = INT2PTR($type,tmp);
a8a597b2
MB
62 }
63 else
64 croak(\"$var is not a reference\")
65
fd9f6265
JJ
66T_HE_OBJ
67 if (SvROK($arg)) {
68 IV tmp = SvIV((SV*)SvRV($arg));
69 $var = INT2PTR($type,tmp);
70 }
71 else
72 croak(\"$var is not a reference\")
73
74T_RHE_OBJ
75 if (SvROK($arg)) {
76 IV tmp = SvIV((SV*)SvRV($arg));
77 $var = INT2PTR($type,tmp);
78 }
79 else
80 croak(\"$var is not a reference\")
81
7261499d
FC
82T_PL_OBJ
83 if (SvROK($arg)) {
84 IV tmp = SvIV((SV*)SvRV($arg));
85 $var = INT2PTR($type,tmp);
86 }
87 else
88 croak(\"$var is not a reference\")
89
a8a597b2 90OUTPUT
a8a597b2 91T_MG_OBJ
56431972 92 sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
fd9f6265
JJ
93
94T_HE_OBJ
95 sv_setiv(newSVrv($arg, "B::HE"), PTR2IV($var));
96
97T_RHE_OBJ
98 sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));
7261499d
FC
99
100T_PL_OBJ
101 sv_setiv(newSVrv($arg, $var ? "B::PADLIST" : "B::NULL"),
102 PTR2IV($var));