/** * Loads the given variable of primitive type onto the stack. * * Operand stack: * ... -> ..., value * * @param variableIndex the index of the variable to be loaded. * @param type the type of the variable to be loaded. */ public InstructionSequenceBuilder load(int variableIndex, char type) { switch (type) { case ClassConstants.TYPE_BOOLEAN: case ClassConstants.TYPE_BYTE: case ClassConstants.TYPE_CHAR: case ClassConstants.TYPE_SHORT: case ClassConstants.TYPE_INT: return iload(variableIndex); case ClassConstants.TYPE_LONG: return lload(variableIndex); case ClassConstants.TYPE_FLOAT: return fload(variableIndex); case ClassConstants.TYPE_DOUBLE: return dload(variableIndex); default: return aload(variableIndex); } }
/** * Loads the given variable of primitive type onto the stack. * * Operand stack: * ... -> ..., value * * @param variableIndex the index of the variable to be loaded. * @param type the type of the variable to be loaded. */ public InstructionSequenceBuilder load(int variableIndex, char type) { switch (type) { case ClassConstants.TYPE_BOOLEAN: case ClassConstants.TYPE_BYTE: case ClassConstants.TYPE_CHAR: case ClassConstants.TYPE_SHORT: case ClassConstants.TYPE_INT: return iload(variableIndex); case ClassConstants.TYPE_LONG: return lload(variableIndex); case ClassConstants.TYPE_FLOAT: return fload(variableIndex); case ClassConstants.TYPE_DOUBLE: return dload(variableIndex); default: return aload(variableIndex); } }
/** * Loads the given variable of primitive type onto the stack. * * Operand stack: * ... -> ..., value * * @param variableIndex the index of the variable to be loaded. * @param type the type of the variable to be loaded. */ public InstructionSequenceBuilder load(int variableIndex, char type) { switch (type) { case ClassConstants.TYPE_BOOLEAN: case ClassConstants.TYPE_BYTE: case ClassConstants.TYPE_CHAR: case ClassConstants.TYPE_SHORT: case ClassConstants.TYPE_INT: return iload(variableIndex); case ClassConstants.TYPE_LONG: return lload(variableIndex); case ClassConstants.TYPE_FLOAT: return fload(variableIndex); case ClassConstants.TYPE_DOUBLE: return dload(variableIndex); default: return aload(variableIndex); } }
}, { // dload/pop2 = nothing ____.dload(X) .pop2().__(), }, }, { // d = d = nothing ____.dload(X) .dstore(X).__(), }, }, { // dload/dload = dload/dup2 ____.dload(X) .dload(X).__(), ____.dload(X) .dup2().__() }, { // dstore/dload = dup2/dstore ____.dstore(X) .dload(X).__(), }, { // dload/dup2/dstore = dload ____.dload(X) .dup2()
}, { // dload/pop2 = nothing ____.dload(X) .pop2().__(), }, }, { // d = d = nothing ____.dload(X) .dstore(X).__(), }, }, { // dload/dload = dload/dup2 ____.dload(X) .dload(X).__(), ____.dload(X) .dup2().__() }, { // dstore/dload = dup2/dstore ____.dstore(X) .dload(X).__(), }, { // dload/dup2/dstore = dload ____.dload(X) .dup2()
}, { // dload/pop2 = nothing ____.dload(X) .pop2().__(), }, }, { // d = d = nothing ____.dload(X) .dstore(X).__(), }, }, { // dload/dload = dload/dup2 ____.dload(X) .dload(X).__(), ____.dload(X) .dup2().__() }, { // dstore/dload = dup2/dstore ____.dstore(X) .dload(X).__(), }, { // dload/dup2/dstore = dload ____.dload(X) .dup2()