126127128129130131132133134135136
} for (Type argType : argTypes) { Item it = Item.typeOnly(argType.getSignature()); locals.add(it); reg += it.getSize(); if (it.usesTwoSlots()) { locals.add(null); } } return locals; }
228229230231232233234235236237238
stack.clear(); for(int i = 0; i < e.getNumberOfLocals(); i++) { Item it = locals.remove(locals.size()-1); if (it == null) { it = locals.remove(locals.size()-1); assert it.usesTwoSlots(); } } break; case APPEND_FRAME:
307308309310311312313314315316317
} static private void addLocals(List<Item> lst, StackMapType[] typesOfStackItems) { for(StackMapType t : typesOfStackItems) { Item item = getItem(t); lst.add(item); if (item.usesTwoSlots()) { lst.add(null); } } }