Beispiel #1
0
def test_get_jitcode():
    from pypy.jit.codewriter.test.test_flatten import FakeCPU

    class FakeRTyper:
        class annotator:
            translator = None

        class type_system:
            name = "lltypesystem"

            @staticmethod
            def getcallable(graph):
                F = lltype.FuncType([], lltype.Signed)
                return lltype.functionptr(F, "bar")

    #
    cc = CallControl(FakeCPU(FakeRTyper()))

    class somegraph:
        name = "foo"

    jitcode = cc.get_jitcode(somegraph)
    assert jitcode is cc.get_jitcode(somegraph)  # caching
    assert jitcode.name == "foo"
    pending = list(cc.enum_pending_graphs())
    assert pending == [(somegraph, jitcode)]