public void pushParams(ArrayList<ArithmeticResult> argumentList) {
		// ReversePush
		instructions.add(new SSAInstruction(OP.SAVE_STATUS));
		for (int i = argumentList.size() - 1; i >= 0; --i) {
			ArithmeticResult result = argumentList.get(i);
			if (result.getKind() == Kind.CONST) {
				instructions.add(new SSAInstruction(OP.PUSH, result.getConstValue()));
			} else if (result.getKind() == Kind.VAR) {
				SSAVar var = result.getVariable() instanceof SSAVar ? (SSAVar) result.getVariable()
						: loadToSSA(result.getVariable());
				instructions.add(new SSAInstruction(OP.PUSH, var));
			}
		}
	}