Example #1
0
def small_int_BINARY_ADD(f, oparg, next_instr):
    w_2 = f.popvalue()
    w_1 = f.popvalue()
    if (type(w_1) is smallintobject.W_SmallIntObject and
        type(w_2) is smallintobject.W_SmallIntObject):
        try:
            w_result = smallintobject.add__SmallInt_SmallInt(f.space, w_1, w_2)
        except FailedToImplement:
            w_result = f.space.add(w_1, w_2)
    else:
        w_result = f.space.add(w_1, w_2)
    f.pushvalue(w_result)
Example #2
0
def small_int_BINARY_ADD(f, oparg, next_instr):
    w_2 = f.popvalue()
    w_1 = f.popvalue()
    if (type(w_1) is smallintobject.W_SmallIntObject
            and type(w_2) is smallintobject.W_SmallIntObject):
        try:
            w_result = smallintobject.add__SmallInt_SmallInt(f.space, w_1, w_2)
        except FailedToImplement:
            w_result = f.space.add(w_1, w_2)
    else:
        w_result = f.space.add(w_1, w_2)
    f.pushvalue(w_result)
Example #3
0
 def BINARY_ADD(f, oparg, *ignored):
     from pypy.objspace.std.smallintobject import \
          W_SmallIntObject, add__SmallInt_SmallInt
     w_2 = f.popvalue()
     w_1 = f.popvalue()
     if type(w_1) is W_SmallIntObject and type(w_2) is W_SmallIntObject:
         try:
             w_result = add__SmallInt_SmallInt(f.space, w_1, w_2)
         except FailedToImplement:
             w_result = f.space.add(w_1, w_2)
     else:
         w_result = f.space.add(w_1, w_2)
     f.pushvalue(w_result)