- if (p->op_type == OP_PADSV) {
- /* In a padrange sequence, either all lexicals are typed, or none are.
- * Thus we can stop at the first padsv op. However, note that these
- * lexicals can need to call different methods in different packages. */
- LT_LOCK(<_op_map_mutex);
- if (ptable_fetch(lt_op_padxv_map, p)) {
- LT_UNLOCK(<_op_map_mutex);
- lt_padrange_map_store(o, start, o->op_ppaddr);
- o->op_ppaddr = lt_pp_padrange;
- } else {
- LT_UNLOCK(<_op_map_mutex);
- }
- return 1;
+ switch (p->op_type) {
+ case OP_PADSV:
+#if LT_HAS_PERL(5, 11, 1)
+ case OP_PADAV:
+ case OP_PADHV:
+#endif
+ /* In a padrange sequence, either all lexicals are typed, or none are.
+ * Thus we can stop at the first padsv op. However, note that these
+ * lexicals can need to call different methods in different packages. */
+ LT_LOCK(<_op_map_mutex);
+ if (ptable_fetch(lt_op_padxv_map, p)) {
+ LT_UNLOCK(<_op_map_mutex);
+ lt_padrange_map_store(o, start, o->op_ppaddr);
+ o->op_ppaddr = lt_pp_padrange;
+ } else {
+ LT_UNLOCK(<_op_map_mutex);
+ }
+ return 1;
+ break;
+ default:
+ break;