SV *code = NULL;
dMY_CXT;
- if (SvOK(value) && SvROK(value)) {
+ if (SvROK(value)) {
value = SvRV(value);
if (SvTYPE(value) >= SVt_PVCV) {
code = value;
indirect_hint_t *h;
dMY_CXT;
- if (!(hint && SvOK(hint) && SvIOK(hint)))
+ if (!(hint && SvIOK(hint)))
return NULL;
h = ptable_fetch(MY_CXT.tbl, INT2PTR(void *, SvUVX(hint)));
#define indirect_tag(V) indirect_tag(aTHX_ (V))
UV tag = 0;
- if (SvOK(value) && SvROK(value)) {
+ if (SvROK(value)) {
value = SvRV(value);
SvREFCNT_inc_simple_NN(value);
tag = PTR2UV(value);
return newSVuv(tag);
}
-#define indirect_detag(H) (((H) && SvOK(H)) ? INT2PTR(SV *, SvUVX(H)) : NULL)
+#define indirect_detag(H) (((H) && SvIOK(H)) ? INT2PTR(SV *, SvUVX(H)) : NULL)
#endif /* I_THREADSAFE || I_WORKAROUND_REQUIRE_PROPAGATION */