-STATIC void lt_map_store(pTHX_ const OP *o, SV *orig_pkg, SV *type_pkg, SV *type_meth, OP *(*pp_padsv)(pTHX)) {
-#define lt_map_store(O, P1, P2, M, PP) lt_map_store(aTHX_ (O), (P1), (P2), (M), (PP))
- OP2STR_BUF;
- SV *val;
- lt_op_info *oi;
+STATIC void lt_map_store(const OP *o, SV *orig_pkg, SV *type_pkg, SV *type_meth, OP *(*pp_padsv)(pTHX)) {
+ lt_op_info *oi = ptable_fetch(lt_op_map, o);
+
+ if (!oi) {
+ oi = PerlMemShared_malloc(sizeof *oi);
+ ptable_store(lt_op_map, o, oi);
+ }