Example #1
0
 def test_fast_entry(self):
     a = MyPPCAssembler()
     a.blr()
     f = make_func(a, "O", "O")
     assert f(1) == 1
     b = MyPPCAssembler()
     from pypy.jit.codegen.ppc.ppcgen import util
     # eurgh!:
     b.load_word(r0, util.access_at(id(f.code), 8) + f.FAST_ENTRY_LABEL)
     b.mtctr(r0)
     b.bctr()
     g = make_func(b, "O", "O")
     assert g(1) == 1
Example #2
0
 def test_fast_entry(self):
     a = MyPPCAssembler()
     a.blr()
     f = make_func(a, "O", "O")
     assert f(1) == 1
     b = MyPPCAssembler()
     from pypy.jit.codegen.ppc.ppcgen import util
     # eurgh!:
     b.load_word(r0, util.access_at(id(f.code), 8) + f.FAST_ENTRY_LABEL)
     b.mtctr(r0)
     b.bctr()
     g = make_func(b, "O", "O")
     assert g(1) == 1
Example #3
0
def access_at():
    a = MyPPCAssembler()

    a.lwzx(r3, r3, r4)
    a.blr()

    return make_func(a, "i", "ii")
Example #4
0
 def test_simple(self):
     a = MyPPCAssembler()
     a.blr()
     f = make_func(a, "O", "O")
     assert f(1) == 1
     raises(TypeError, f)
     raises(TypeError, f, 1, 2)
Example #5
0
 def test_simple(self):
     a = MyPPCAssembler()
     a.blr()
     f = make_func(a, "O", "O")
     assert f(1) == 1
     raises(TypeError, f)
     raises(TypeError, f, 1, 2)
Example #6
0
def access_at():
    a = MyPPCAssembler()

    a.lwzx(r3, r3, r4)
    a.blr()

    return make_func(a, "i", "ii")
Example #7
0
 def test_floats(self):
     a = MyPPCAssembler()
     a.fadd(fr1, fr1, fr2)
     a.blr()
     f = make_func(a, 'f', 'ff')
     raises(TypeError, f)
     raises(TypeError, f, 1.0)
     assert f(1.0, 2.0) == 3.0
     raises(TypeError, f, 1.0, 2.0, 3.0)
     raises(TypeError, f, 1.0, 2)
Example #8
0
 def test_signature(self):
     a = MyPPCAssembler()
     a.add(r3, r3, r4)
     a.blr()
     f = make_func(a, "i", "ii")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2) == 3
     raises(TypeError, f, 1, 2, 3)
     raises(TypeError, f, 1, "2")
Example #9
0
 def test_floats(self):
     a = MyPPCAssembler()
     a.fadd(fr1, fr1, fr2)
     a.blr()
     f = make_func(a, 'f', 'ff')
     raises(TypeError, f)
     raises(TypeError, f, 1.0)
     assert f(1.0, 2.0) == 3.0
     raises(TypeError, f, 1.0, 2.0, 3.0)
     raises(TypeError, f, 1.0, 2)
Example #10
0
 def test_signature(self):
     a = MyPPCAssembler()
     a.add(r3, r3, r4)
     a.blr()
     f = make_func(a, "i", "ii")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2) == 3
     raises(TypeError, f, 1, 2, 3)
     raises(TypeError, f, 1, "2")
Example #11
0
 def test_less_simple(self):
     a = MyPPCAssembler()
     s = lookup("PyNumber_Add")
     a.load_word(r5, s)
     a.mtctr(r5)
     a.bctr()
     f = make_func(a, "O", "OO")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2) == 3
     raises(TypeError, f, 1, 2, 3)
Example #12
0
 def test_less_simple(self):
     a = MyPPCAssembler()
     s = lookup("PyNumber_Add")
     a.load_word(r5, s)
     a.mtctr(r5)
     a.bctr()
     f = make_func(a, "O", "OO")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2) == 3
     raises(TypeError, f, 1, 2, 3)
Example #13
0
 def test_signature2(self):
     a = MyPPCAssembler()
     a.add(r3, r3, r4)
     a.add(r3, r3, r5)
     a.add(r3, r3, r6)
     a.add(r3, r3, r7)
     s = lookup("PyInt_FromLong")
     a.load_word(r0, s)
     a.mtctr(r0)
     a.bctr()
     f = make_func(a, "O", "iiiii")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2, 3, 4, 5) == 1 + 2 + 3 + 4 + 5
     raises(TypeError, f, 1, 2, 3)
     raises(TypeError, f, 1, "2", 3, 4, 5)
Example #14
0
 def test_signature2(self):
     a = MyPPCAssembler()
     a.add(r3, r3, r4)
     a.add(r3, r3, r5)
     a.add(r3, r3, r6)
     a.add(r3, r3, r7)
     s = lookup("PyInt_FromLong")
     a.load_word(r0, s)
     a.mtctr(r0)
     a.bctr()
     f = make_func(a, "O", "iiiii")
     raises(TypeError, f)
     raises(TypeError, f, 1)
     assert f(1, 2, 3, 4, 5) == 1 + 2 + 3 + 4 + 5
     raises(TypeError, f, 1, 2, 3)
     raises(TypeError, f, 1, "2", 3, 4, 5)
Example #15
0
def itoO():
    a = MyPPCAssembler()

    a.blr()

    return make_func(a, "O", "i")
Example #16
0
def itoO():
    a = MyPPCAssembler()

    a.blr()

    return make_func(a, "O", "i")