jit/backend/x86/test/test_zrpy_gc_boehm.py::test_compile_boehm
def compile_boehm_test():
myjitdriver = JitDriver(greens = [], reds = ['n', 'x'])
@dont_look_inside
def see(lst, n):
assert len(lst) == 3
assert lst[0] == n+10
assert lst[1] == n+20
assert lst[2] == n+30
def main(n, x):
while n > 0:
myjitdriver.can_enter_jit(n=n, x=x)
myjitdriver.jit_merge_point(n=n, x=x)
y = X()
y.foo = x.foo
n -= y.foo
see([n+10, n+20, n+30], n)
> res = compile_and_run(get_entry(get_g(main)), "boehm", jit=True)
jit\backend\llsupport\test\zrpy_gc_boehm_test.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit\backend\llsupport\test\zrpy_gc_boehm_test.py:20: in compile_and_run
cbuilder = compile(f, gc, **kwds)
jit\backend\llsupport\test\zrpy_gc_test.py:120: in compile
cbuilder.compile()
translator\c\genc.py:341: in compile
extra_opts)
translator\platform\windows.py:574: in execute_makefile
self._handle_error(returncode, stdout, stderr, path.join('make'))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <MsvcPlatform cc=cl.exe>, returncode = 3221225477, stdout = ''
stderr = ''
outname = local('d:\\systemtemp\\pytest\\usession-main-2209\\testing_1\\make')
def _handle_error(self, returncode, stdout, stderr, outname):
if returncode != 0:
# Microsoft compilers write compilation errors to stdout
stderr = stdout + stderr
errorfile = outname.new(ext='errors')
errorfile.write(stderr, mode='wb')
if self.log_errors:
stderrlines = stderr.splitlines()
for line in stderrlines:
log.Error(line)
# ^^^ don't use ERROR, because it might actually be fine.
# Also, ERROR confuses lib-python/conftest.py.
> raise CompilationError(stdout, stderr)
E CompilationError: CompilationError(out="""
E """)
translator\platform\windows.py:319: CompilationError
---------- Captured stderr call ----------
[platform:msg] Updated environment with vsver 160, using x64 True
[rtyper] specializing: 100 / 471 blocks (21%)
[rtyper] specializing: 200 / 530 blocks (37%)
[rtyper] specializing: 300 / 534 blocks (56%)
[rtyper] specializing: 400 / 534 blocks (74%)
[rtyper] specializing: 500 / 534 blocks (93%)
[rtyper] -=- specialized 534 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] specializing: 600 / 604 blocks (99%)
[rtyper] -=- specialized 66 more 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 -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 6 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 10 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 5 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[rtyper] specializing: 2500 / 49788 blocks (5%)
[rtyper] specializing: 5400 / 53937 blocks (10%)
[rtyper] specializing: 8700 / 57429 blocks (15%)
[rtyper] specializing: 11700 / 58398 blocks (20%)
[rtyper] specializing: 14700 / 58403 blocks (25%)
[rtyper] specializing: 17600 / 58408 blocks (30%)
[rtyper] specializing: 22000 / 62618 blocks (35%)
[rtyper] specializing: 25100 / 62648 blocks (40%)
[rtyper] specializing: 28300 / 62668 blocks (45%)
[rtyper] specializing: 31400 / 62683 blocks (50%)
[rtyper] specializing: 34800 / 63213 blocks (55%)
[rtyper] specializing: 38100 / 63365 blocks (60%)
[rtyper] specializing: 41200 / 63365 blocks (65%)
[rtyper] specializing: 44400 / 63365 blocks (70%)
[rtyper] specializing: 47600 / 63365 blocks (75%)
[rtyper] specializing: 47800 / 63365 blocks (75%)
[rtyper] specializing: 50800 / 63470 blocks (80%)
[rtyper] specializing: 54000 / 63470 blocks (85%)
[rtyper] specializing: 57200 / 63470 blocks (90%)
[rtyper] specializing: 60300 / 63470 blocks (95%)
[rtyper] specializing: 63400 / 63472 blocks (99%)
[rtyper] -=- specialized 62815 more blocks -=-
[rtyper] specializing: 63500 / 63506 blocks (99%)
[rtyper] -=- specialized 34 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[backendopt:removeassert] Could not remove 203 asserts, but removed 1792 asserts.
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 27218 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3921 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 25 more blocks -=-
[rtyper] -=- specialized 64 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 8 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] specializing: 63600 / 63609 blocks (99%)
[rtyper] -=- specialized 14 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[c] 1000 nodes [ array: 1116 boehm rtti: 26 func: 104 struct: 2470 ]
[c] 2000 nodes [ array: 3116 boehm rtti: 26 func: 104 struct: 2470 ]
[c] 3000 nodes [ array: 4331 boehm rtti: 29 func: 129 struct: 2530 ]
[c] 4000 nodes [ array: 4331 boehm rtti: 29 func: 129 struct: 2530 ]
[c] 5000 nodes [ array: 4331 boehm rtti: 29 func: 129 struct: 2530 ]
[c] 6000 nodes [ array: 4331 boehm rtti: 29 func: 129 struct: 2530 ]
[c] 7000 nodes [ array: 4347 boehm rtti: 33 func: 196 struct: 2577 ]
[c] 8000 nodes [ array: 4536 boehm rtti: 57 func: 483 struct: 5032 ]
[c] 9000 nodes [ array: 4732 boehm rtti: 144 func: 679 struct: 5190 ]
[c] 10000 nodes [ array: 4740 boehm rtti: 284 func: 878 struct: 5368 ]
[c] 11000 nodes [ array: 4947 boehm rtti: 287 func: 923 struct: 5445 ]
[c] 12000 nodes [ array: 5108 boehm rtti: 309 func: 1291 struct: 5660 ]
[c] 13000 nodes [ array: 5200 boehm rtti: 327 func: 1764 struct: 6073 ]
[c] 14000 nodes [ array: 5278 boehm rtti: 348 func: 2471 struct: 6664 ]
[c] 15000 nodes [ array: 5351 boehm rtti: 373 func: 2776 struct: 6968 ]
[c] 16000 nodes [ array: 5437 boehm rtti: 406 func: 3238 struct: 7851 ]
[c] 17000 nodes [ array: 5458 boehm rtti: 415 func: 3403 struct: 7903 ]
[rtyper] -=- specialized 30 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 5 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 20 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[c:database] GC transformer: finished helpers
[c:database] GC transformer: finished tables
[c:database] Inlining GC helpers and postprocessing
[c] 17563 nodes [ array: 5517 boehm rtti: 433 func: 3623 struct: 7990 ]
[c:database] Completed
[c:writing] structdef.h
[c:writing] forwarddecl.h
[c:writing] preimpl.h
[c:writing] data_rpython_flowspace.c
[c:writing] data_rpython_jit_backend.c
[c:writing] data_rpython_jit_backend_llsupport.c
[c:writing] data_rpython_jit_backend_llsupport_test.c
[c:writing] data_rpython_jit_backend_x86.c
[c:writing] data_rpython_jit_codewriter.c
[c:writing] data_rpython_jit_metainterp.c
[c:writing] data_rpython_jit_metainterp_optimizeopt.c
[c:writing] data_rpython_memory_gctransform.c
[c:writing] data_rpython_rlib.c
[c:writing] data_rpython_rlib_rjitlog.c
[c:writing] data_rpython_rtyper.c
[c:writing] data_rpython_rtyper_lltypesystem.c
[c:writing] data_rpython_translator_c.c
[c:writing] nonfuncnodes.c
[c:writing] data_rpython_jit_backend_llsupport_1.c
[c:writing] data_rpython_jit_backend_x86_1.c
[c:writing] data_rpython_jit_metainterp_1.c
[c:writing] data_rpython_rlib_1.c
[c:writing] data_rpython_rlib_rjitlog_1.c
[c:writing] data_rpython_rlib_rvmprof.c
[c:writing] data_rpython_rtyper_lltypesystem_1.c
[c:writing] data_rpython_rtyper_lltypesystem_module.c
[c:writing] implement.c
[c:writing] rpython_flowspace.c
[c:writing] rpython_jit_backend.c
[c:writing] rpython_jit_backend_llsupport.c
[c:computedgoto] pypy_g_GcRewriterAssembler_handle_malloc_operation: 6 cases
[c:writing] rpython_jit_backend_llsupport_test.c
[c:writing] rpython_jit_backend_x86.c
[c:writing] rpython_jit_backend_x86_1.c
[c:writing] rpython_jit_backend_x86_2.c
[c:writing] rpython_jit_codewriter.c
[c:writing] rpython_jit_metainterp.c
[c:computedgoto] pypy_g_dispatch_loop: 12 cases
[c:computedgoto] pypy_g_HeapCache_clear_caches_not_necessary: 15 cases
[c:computedgoto] pypy_g_HeapCache_clear_caches_varargs: 11 cases
[c:computedgoto] pypy_g_execute_nonspec_const: 253 cases
[c:writing] rpython_jit_metainterp_1.c
[c:writing] rpython_jit_metainterp_optimizeopt.c
[c:computedgoto] pypy_g_OptHeap_check_postprocess_: 6 cases
[c:computedgoto] pypy_g_dispatch_postprocess___star_0: 6 cases
[c:writing] rpython_jit_metainterp_optimizeopt_1.c
[c:computedgoto] pypy_g_Optimizer_protect_speculative_operation: 8 cases
[c:writing] rpython_jit_metainterp_optimizeopt_2.c
[c:writing] rpython_memory_gctransform.c
[c:writing] rpython_rlib.c
[c:writing] rpython_rlib_rjitlog.c
[c:writing] rpython_rlib_rvmprof.c
[c:writing] rpython_rtyper.c
[c:writing] rpython_rtyper_lltypesystem.c
[c:writing] rpython_rtyper_lltypesystem_1.c
[c:writing] rpython_rtyper_lltypesystem_module.c
[c:writing] rpython_translator.c
[c:writing] rpython_translator_c.c
[platform:execute] jom.exe in d:\systemtemp\pytest\usession-main-2209\testing_1
(somefailed=True in jit/backend/x86/test/test_zrpy_gc_boehm.py)
builder: rpython-win-x86-64 build #451+
test: jit/backend/x86/test/test_zrpy_gc_boehm.py::test_compile_boehm