private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;
private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private void printStack(Frame frame) { stream.print("stack ["); int top = frame.getTopIndex(); for (int i = 0; i <= top; i++) { if (i > 0) stream.print(", "); Type type = frame.getStack(i); stream.print(type); } stream.println("]"); }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
private Type simplePeek(Frame frame) { Type type = frame.peek(); return (type == Type.TOP) ? frame.getStack(frame.getTopIndex() - 1) : type; }
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;
frame.setStack(end, frame.getStack(end - 1)); end--; frame.push(frame.getStack(frame.getTopIndex() - 1)); frame.push(frame.getStack(frame.getTopIndex() - 1)); break; case DUP2_X1: int end = frame.getTopIndex(); int insert = end - (opcode - DUP2_X1) - 1; Type type1 = frame.getStack(frame.getTopIndex() - 1); Type type2 = frame.peek(); frame.push(type1); frame.push(type2); while (end > insert) { frame.setStack(end, frame.getStack(end - 2)); end--;