Home - Summaries: (main) : (py3.11) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

jit/backend/x86/test/test_virtualref.py::TestVRef::()::test_alloc_virtualref_and_then_alloc_structure

self = <rpython.jit.backend.x86.test.test_virtualref.TestVRef object at 0x00000181c40916e0>

    def test_alloc_virtualref_and_then_alloc_structure(self):
        myjitdriver = JitDriver(greens = [], reds = ['n'])
        #
        class XY:
            pass
        class ExCtx:
            pass
        exctx = ExCtx()
        @dont_look_inside
        def escapexy(xy):
            print 'escapexy:', xy.n
            if xy.n % 5 == 0:
                vr = exctx.vr
                print 'accessing via vr:', vr()
                assert vr() is xy
        #
        def f(n):
            while n > 0:
                myjitdriver.jit_merge_point(n=n)
                xy = XY()
                xy.n = n
                vr = virtual_ref(xy)
                # force the virtualref to be allocated
                exctx.vr = vr
                # force xy to be allocated
                escapexy(xy)
                # clean up
                exctx.vr = vref_None
                virtual_ref_finish(vr, xy)
                n -= 1
            return 1
        #
>       res = self.meta_interp(f, [15])

jit\metainterp\test\test_virtualref.py:558: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit\metainterp\test\support.py:265: in meta_interp
    return ll_meta_interp(*args, **kwds)
jit\metainterp\warmspot.py:89: in ll_meta_interp
    return jittify_and_run(interp, graph, args, backendopt=backendopt, **kwds)
jit\metainterp\warmspot.py:127: in jittify_and_run
    res = interp.eval_graph(graph, args)
rtyper\llinterp.py:97: in eval_graph
    retval = llframe.eval()
rtyper\llinterp.py:295: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:319: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:422: in eval_operation
    retval = ophandler(*vals)
rtyper\llinterp.py:697: in op_direct_call
    return self.perform_call(f, FTYPE.ARGS, args)
rtyper\llinterp.py:684: in perform_call
    return self.invoke_callable_with_pyexceptions(f, *args)
rtyper\llinterp.py:507: in invoke_callable_with_pyexceptions
    self.make_llexception()
rtyper\llinterp.py:484: in make_llexception
    evalue = exdata.get_standard_ll_exc_instance_by_class(exc.__class__)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <rpython.rtyper.exceptiondata.ExceptionData object at 0x00000181c3fec138>
exceptionclass = <class 'rpython.translator.tool.pdbplus.NoTTY'>

    def get_standard_ll_exc_instance_by_class(self, exceptionclass):
        if exceptionclass not in self.standardexceptions:
>           raise UnknownException(exceptionclass)
E           UnknownException: <class 'rpython.translator.tool.pdbplus.NoTTY'>

rtyper\exceptiondata.py:42: UnknownException
---------- Captured stdout call ----------
> d:\pypy_stuff\buildbot64\slave\rpython-win-x86-64\build\rpython\translator\platform\windows.py(319)_handle_error()
-> raise CompilationError(stdout, stderr)
---------- Captured stderr call ----------
[platform:msg] Updated environment with vsver 160, using x64 True
[rtyper] specializing: 100 / 388 blocks   (25%)
[rtyper] specializing: 200 / 445 blocks   (44%)
[rtyper] specializing: 300 / 445 blocks   (67%)
[rtyper] specializing: 400 / 445 blocks   (89%)
[rtyper] -=- specialized 445 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 19 more blocks -=-
[rtyper] -=- specialized 12 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 9 bytes
[rtyper] replaced 2 'jit_force_virtual' with <* fn force_virtual_if_necessary>
[jitcodewriter] compute_bitstrings:
[jitcodewriter]   1 effectinfos:
[jitcodewriter]     0 descrs for arrays
[jitcodewriter]     0 descrs for fields
[jitcodewriter]     0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
builder: rpython-win-x86-64 build #441+
test: jit/backend/x86/test/test_virtualref.py::TestVRef::()::test_alloc_virtualref_and_then_alloc_structure