/** * determins the type of stack frame this is when no local variables have changed */ private StackFrameType typeNoLocalChange(StackState ns) { int size = ns.getContents().size(); if (size == 0) { return StackFrameType.SAME_FRAME; } else if (size == 1) { return StackFrameType.SAME_LOCALS_1_STACK; } return StackFrameType.FULL_FRAME; }
/** * determins the type of stack frame this is when no local variables have changed */ private StackFrameType typeNoLocalChange(StackState ns) { int size = ns.getContents().size(); if (size == 0) { return StackFrameType.SAME_FRAME; } else if (size == 1) { return StackFrameType.SAME_LOCALS_1_STACK; } return StackFrameType.FULL_FRAME; }
/** * determins the type of stack frame this is when no local variables have changed */ private StackFrameType typeNoLocalChange(StackState ns) { int size = ns.getContents().size(); if (size == 0) { return StackFrameType.SAME_FRAME; } else if (size == 1) { return StackFrameType.SAME_LOCALS_1_STACK; } return StackFrameType.FULL_FRAME; }
/** * determins the type of stack frame this is when no local variables have changed */ private StackFrameType typeNoLocalChange(StackState ns) { int size = ns.getContents().size(); if (size == 0) { return StackFrameType.SAME_FRAME; } else if (size == 1) { return StackFrameType.SAME_LOCALS_1_STACK; } return StackFrameType.FULL_FRAME; }
/** * determins the type of stack frame this is when no local variables have changed */ private StackFrameType typeNoLocalChange(StackState ns) { int size = ns.getContents().size(); if (size == 0) { return StackFrameType.SAME_FRAME; } else if (size == 1) { return StackFrameType.SAME_LOCALS_1_STACK; } return StackFrameType.FULL_FRAME; }
/** * marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above * it */ public StackFrame constructorCall(int initializedValueStackPosition) { StackEntry entry = stackState.getContents().get(stackState.getContents().size() - 1 - initializedValueStackPosition); StackState ns = stackState.constructorCall(initializedValueStackPosition, entry); LocalVariableState locals = localVariableState.constructorCall(entry); return new StackFrame(ns, locals, StackFrameType.FULL_FRAME); }
/** * marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above * it */ public StackFrame constructorCall(int initializedValueStackPosition) { StackEntry entry = stackState.getContents().get(stackState.getContents().size() - 1 - initializedValueStackPosition); StackState ns = stackState.constructorCall(initializedValueStackPosition, entry); LocalVariableState locals = localVariableState.constructorCall(entry); return new StackFrame(ns, locals, StackFrameType.FULL_FRAME); }
/** * marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above * it */ public StackFrame constructorCall(int initializedValueStackPosition) { StackEntry entry = stackState.getContents().get(stackState.getContents().size() - 1 - initializedValueStackPosition); StackState ns = stackState.constructorCall(initializedValueStackPosition, entry); LocalVariableState locals = localVariableState.constructorCall(entry); return new StackFrame(ns, locals, StackFrameType.FULL_FRAME); }
/** * marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above * it */ public StackFrame constructorCall(int initializedValueStackPosition) { StackEntry entry = stackState.getContents().get(stackState.getContents().size() - 1 - initializedValueStackPosition); StackState ns = stackState.constructorCall(initializedValueStackPosition, entry); LocalVariableState locals = localVariableState.constructorCall(entry); return new StackFrame(ns, locals, StackFrameType.FULL_FRAME); }
/** * marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above * it */ public StackFrame constructorCall(int initializedValueStackPosition) { StackEntry entry = stackState.getContents().get(stackState.getContents().size() - 1 - initializedValueStackPosition); StackState ns = stackState.constructorCall(initializedValueStackPosition, entry); LocalVariableState locals = localVariableState.constructorCall(entry); return new StackFrame(ns, locals, StackFrameType.FULL_FRAME); }
private void writeSameLocals1Stack(DataOutputStream dstream, int offset, int lastPos, StackFrame frame) throws IOException { dstream.writeByte(offset + 64); frame.getStackState().getContents().get(0).write(dstream); }
private void updateMaxValues() { if (getStack().getContents().size() > maxStackDepth) { maxStackDepth = getStack().getContents().size(); } if (getLocalVars().getContents().size() > maxLocals) { maxLocals = getLocalVars().getContents().size(); } }
private void updateMaxValues() { if (getStack().getContents().size() > maxStackDepth) { maxStackDepth = getStack().getContents().size(); } if (getLocalVars().getContents().size() > maxLocals) { maxLocals = getLocalVars().getContents().size(); } }
private void updateMaxValues() { if (getStack().getContents().size() > maxStackDepth) { maxStackDepth = getStack().getContents().size(); } if (getLocalVars().getContents().size() > maxLocals) { maxLocals = getLocalVars().getContents().size(); } }
private void updateMaxValues() { if (getStack().getContents().size() > maxStackDepth) { maxStackDepth = getStack().getContents().size(); } if (getLocalVars().getContents().size() > maxLocals) { maxLocals = getLocalVars().getContents().size(); } }
private void updateMaxValues() { if (getStack().getContents().size() > maxStackDepth) { maxStackDepth = getStack().getContents().size(); } if (getLocalVars().getContents().size() > maxLocals) { maxLocals = getLocalVars().getContents().size(); } }
public void assertNotWideOnStack(int position, String message) { if (getStack().size() <= position) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } int index = getStack().getContents().size() - 1 - position; StackEntryType stype = getStack().getContents().get(index).getType(); if (stype == StackEntryType.TOP) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } }
public void assertNotWideOnStack(int position, String message) { if (getStack().size() <= position) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } int index = getStack().getContents().size() - 1 - position; StackEntryType stype = getStack().getContents().get(index).getType(); if (stype == StackEntryType.TOP) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } }
public void assertNotWideOnStack(int position, String message) { if (getStack().size() <= position) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } int index = getStack().getContents().size() - 1 - position; StackEntryType stype = getStack().getContents().get(index).getType(); if (stype == StackEntryType.TOP) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } }
public void assertNotWideOnStack(int position, String message) { if (getStack().size() <= position) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } int index = getStack().getContents().size() - 1 - position; StackEntryType stype = getStack().getContents().get(index).getType(); if (stype == StackEntryType.TOP) { throw new InvalidBytecodeException(message + " Stack State: " + getStack().toString()); } }