'slice(TOS1, TOS) or slice(TOS2, TOS1, TOS)'

def op_BUILD_SLICE(self, info, inst):

    argc = inst.arg
    if (argc == 2):
        tos = info.pop()
        tos1 = info.pop()
        start = tos1
        stop = tos
        step = None
    elif (argc == 3):
        tos = info.pop()
        tos1 = info.pop()
        tos2 = info.pop()
        start = tos2
        stop = tos1
        step = tos
    else:
        raise Exception('unreachable')
    slicevar = info.make_temp()
    res = info.make_temp()
    info.append(inst, start=start, stop=stop, step=step, res=res, slicevar=slicevar)
    info.push(res)
