// add the current stack map frame to the current stack map attribute void endStack() { if (!verifyframe.haveOffset()) { String l = "jasmin_reserved_SM:" + (stack_map_label_count++); try { plantLabel(l); verifyframe.setOffset(getLabel(l)); } catch (jasError e) { report_error(e.toString()); } } if (stackmap == null) stackmap = new StackMap(class_env); stackmap.addFrame(verifyframe); verifyframe = null; // PARANOYA }
// add a stack item element to the current stack map frame void plantStackStack(String item, String val) { try { verifyframe.addStackItem(item, val); } catch (jasError e) { report_error(e.toString()); } }
// define the offset of the current stack map frame void plantStackOffset(int n) { try { verifyframe.setOffset(n); } catch (jasError e) { report_error(e.toString()); } }
void plantStackOffset(String label) throws jasError { Label l = getLabel(label); try { verifyframe.setOffset(l); } catch (jasError e) { report_error(e.toString()); } }