virt_test/bin/python testrunner/runner.py --logfile=testrun.log --config=pypy/testrunner_cfg.py '--config=~/machine_cfg.py' --root=rpython --timeout=4000 in dir /build_dir/rpython-linux-x86-32/build (timeout 4000 secs) watching logfiles {'pytestLog': 'testrun.log'} argv: ['virt_test/bin/python', 'testrunner/runner.py', '--logfile=testrun.log', '--config=pypy/testrunner_cfg.py', '--config=~/machine_cfg.py', '--root=rpython', '--timeout=4000'] environment: AUDITWHEEL_ARCH=i686 AUDITWHEEL_PLAT=manylinux2014_i686 AUDITWHEEL_POLICY=manylinux2014 DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root HOME=/home/buildslave HOSTNAME=ffc60fde56a7 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib/dyninst LOGNAME=buildslave PATH=/python27_virt/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig PWD=/build_dir/rpython-linux-x86-32/build PYPYCHERRYPICK= PYPY_LOCALBASE=/usr/local PYPY_MAKE_PORTABLE=1 PYTHONPATH=.: SHELL=/bin/bash SHLVL=3 SSL_CERT_FILE=/opt/_internal/certs.pem TERM=xterm TMPDIR=/build_dir/tmp/pytest USER=buildslave _=/usr/bin/linux32 using PTY: False using config pypy/testrunner_cfg.py using config /home/buildslave/machine_cfg.py running 4 parallel test workers setting MAKEFLAGS to ' ' (space) -- annotator/test -- config/test -- flowspace/test -- jit/backend/aarch64/test/test_basic.py -- jit/backend/aarch64/test/test_call.py -- jit/backend/aarch64/test/test_calling_convention.py -- jit/backend/aarch64/test/test_del.py -- jit/backend/aarch64/test/test_dict.py -- jit/backend/aarch64/test/test_exception.py -- jit/backend/aarch64/test/test_fficall.py -- jit/backend/aarch64/test/test_float.py -- jit/backend/aarch64/test/test_instr_builder.py -- jit/backend/aarch64/test/test_jitlog.py -- jit/backend/aarch64/test/test_list.py -- jit/backend/aarch64/test/test_llop.py -- jit/backend/aarch64/test/test_loop_unroll.py -- jit/backend/aarch64/test/test_quasiimmut.py -- jit/backend/aarch64/test/test_rawmem.py -- jit/backend/aarch64/test/test_recursive.py -- jit/backend/aarch64/test/test_runner.py -- jit/backend/aarch64/test/test_rvmprof.py -- jit/backend/aarch64/test/test_send.py -- jit/backend/aarch64/test/test_slist.py -- jit/backend/aarch64/test/test_string.py -- jit/backend/aarch64/test/test_tl.py -- jit/backend/aarch64/test/test_tlc.py -- jit/backend/aarch64/test/test_virtual.py -- jit/backend/aarch64/test/test_virtualizable.py -- jit/backend/aarch64/test/test_virtualref.py -- jit/backend/aarch64/test/test_zrpy_gc.py -- jit/backend/aarch64/test/test_zrpy_gc_boehm.py -- jit/backend/aarch64/test/test_zrpy_releasegil.py -- jit/backend/aarch64/test/test_zrpy_vmprof.py -- jit/backend/aarch64/test/test_ztranslation_basic.py -- jit/backend/aarch64/test/test_ztranslation_call_assembler.py -- jit/backend/aarch64/test/test_ztranslation_jit_stats.py -- jit/backend/arm/test -- jit/backend/llgraph/test -- jit/backend/llsupport/test -- jit/backend/ppc/test -- jit/backend/riscv/test -- jit/backend/test -- jit/backend/x86/test/test_assembler.py -- jit/backend/x86/test/test_basic.py -- jit/backend/x86/test/test_call.py -- jit/backend/x86/test/test_callbuilder.py -- jit/backend/x86/test/test_calling_convention.py -- jit/backend/x86/test/test_del.py -- jit/backend/x86/test/test_dict.py -- jit/backend/x86/test/test_exception.py -- jit/backend/x86/test/test_fficall.py -- jit/backend/x86/test/test_float.py -- jit/backend/x86/test/test_jitlog.py -- jit/backend/x86/test/test_jump.py -- jit/backend/x86/test/test_list.py -- jit/backend/x86/test/test_llop.py -- jit/backend/x86/test/test_longlong.py -- jit/backend/x86/test/test_loop_unroll.py -- jit/backend/x86/test/test_quasiimmut.py -- jit/backend/x86/test/test_rawmem.py -- jit/backend/x86/test/test_recursive.py -- jit/backend/x86/test/test_regalloc.py -- jit/backend/x86/test/test_regloc.py -- jit/backend/x86/test/test_runner.py -- jit/backend/x86/test/test_rvmprof.py -- jit/backend/x86/test/test_rx86.py -- jit/backend/x86/test/test_rx86_32_auto_encoding.py -- jit/backend/x86/test/test_rx86_64_auto_encoding.py -- jit/backend/x86/test/test_send.py -- jit/backend/x86/test/test_slist.py -- jit/backend/x86/test/test_string.py -- jit/backend/x86/test/test_symbolic_x86.py -- jit/backend/x86/test/test_tl.py -- jit/backend/x86/test/test_tlc.py -- jit/backend/x86/test/test_tracelimit.py -- jit/backend/x86/test/test_virtual.py -- jit/backend/x86/test/test_virtualizable.py -- jit/backend/x86/test/test_virtualref.py -- jit/backend/x86/test/test_x86vector.py -- jit/backend/x86/test/test_zmath.py -- jit/backend/x86/test/test_zrpy_gc.py -- jit/backend/x86/test/test_zrpy_gc_boehm.py -- jit/backend/x86/test/test_zrpy_releasegil.py -- jit/backend/x86/test/test_zrpy_vecopt.py -- jit/backend/x86/test/test_zrpy_vmprof.py -- jit/backend/x86/test/test_ztranslation_basic.py -- jit/backend/x86/test/test_ztranslation_call_assembler.py -- jit/backend/x86/test/test_ztranslation_external_exception.py -- jit/backend/x86/test/test_ztranslation_jit_stats.py -- jit/backend/x86/tool/test/test_viewcode.py -- jit/backend/zarch/test -- jit/codewriter/test -- jit/metainterp/optimizeopt/test/test_costmodel.py -- jit/metainterp/optimizeopt/test/test_dependency.py -- jit/metainterp/optimizeopt/test/test_guard.py -- jit/metainterp/optimizeopt/test/test_intbound.py -- jit/metainterp/optimizeopt/test/test_intdiv.py -- jit/metainterp/optimizeopt/test/test_optimizebasic.py -- jit/metainterp/optimizeopt/test/test_optimizebridge.py -- jit/metainterp/optimizeopt/test/test_optimizeheap.py -- jit/metainterp/optimizeopt/test/test_optimizeintbound.py -- jit/metainterp/optimizeopt/test/test_optimizeopt.py -- jit/metainterp/optimizeopt/test/test_rawbuffer.py -- jit/metainterp/optimizeopt/test/test_schedule.py -- jit/metainterp/optimizeopt/test/test_short.py -- jit/metainterp/optimizeopt/test/test_unroll.py -- jit/metainterp/optimizeopt/test/test_util.py -- jit/metainterp/optimizeopt/test/test_vecopt.py -- jit/metainterp/optimizeopt/test/test_virtualstate.py -- jit/metainterp/optimizeopt/test/test_z3checktests.py -- jit/metainterp/optimizeopt/test/test_z3intbound.py -- jit/metainterp/ruleopt/test/test_codegen.py -- jit/metainterp/ruleopt/test/test_parse.py -- jit/metainterp/ruleopt/test/test_prove.py -- jit/metainterp/test/test_ajit.py -- jit/metainterp/test/test_blackhole.py -- jit/metainterp/test/test_bridgeopt.py -- jit/metainterp/test/test_bytearray.py -- jit/metainterp/test/test_call.py -- jit/metainterp/test/test_compile.py -- jit/metainterp/test/test_counter.py -- jit/metainterp/test/test_del.py -- jit/metainterp/test/test_dict.py -- jit/metainterp/test/test_exception.py -- jit/metainterp/test/test_executor.py -- jit/metainterp/test/test_fficall.py -- jit/metainterp/test/test_float.py -- jit/metainterp/test/test_greenfield.py -- jit/metainterp/test/test_heapcache.py -- jit/metainterp/test/test_history.py -- jit/metainterp/test/test_immutable.py -- jit/metainterp/test/test_jitdriver.py -- jit/metainterp/test/test_jitiface.py -- jit/metainterp/test/test_jitprof.py -- jit/metainterp/test/test_list.py -- jit/metainterp/test/test_llop.py -- jit/metainterp/test/test_logger.py -- jit/metainterp/test/test_longlong.py -- jit/metainterp/test/test_loop.py -- jit/metainterp/test/test_loop_unroll.py -- jit/metainterp/test/test_loop_unroll_disopt.py -- jit/metainterp/test/test_math.py -- jit/metainterp/test/test_memmgr.py -- jit/metainterp/test/test_opencoder.py -- jit/metainterp/test/test_pyjitpl.py -- jit/metainterp/test/test_quasiimmut.py -- jit/metainterp/test/test_rawmem.py -- jit/metainterp/test/test_recursive.py -- jit/metainterp/test/test_resoperation.py -- jit/metainterp/test/test_resume.py -- jit/metainterp/test/test_resumecode.py -- jit/metainterp/test/test_send.py -- jit/metainterp/test/test_slist.py -- jit/metainterp/test/test_string.py -- jit/metainterp/test/test_support.py -- jit/metainterp/test/test_threadlocal.py -- jit/metainterp/test/test_tl.py -- jit/metainterp/test/test_tlc.py -- jit/metainterp/test/test_tracelimit.py -- jit/metainterp/test/test_tracingopts.py -- jit/metainterp/test/test_virtual.py -- jit/metainterp/test/test_virtualizable.py -- jit/metainterp/test/test_virtualref.py -- jit/metainterp/test/test_warmspot.py -- jit/metainterp/test/test_warmstate.py -- jit/metainterp/test/test_zvector.py -- jit/tl/test -- jit/tl/tinyframe/test -- jit/tl/tla -- jit/tool/test -- memory/gc/test -- memory/gctransform/test -- memory/test/test_gctypelayout.py -- memory/test/test_generational_gc.py -- memory/test/test_growingsemispace_gc.py -- memory/test/test_hybrid_gc.py -- memory/test/test_hybrid_gc_smallheap.py -- memory/test/test_incminimark_gc.py -- memory/test/test_incminimark_gc_cardmarking.py -- memory/test/test_lldict.py -- memory/test/test_minimark_gc.py -- memory/test/test_minimark_gc_cardmarking.py -- memory/test/test_semispace_gc.py -- memory/test/test_support.py -- memory/test/test_transformed_gc.py -- rlib/parsing/test/test_deterministic.py -- rlib/parsing/test/test_ebnfparse.py -- rlib/parsing/test/test_lexer.py -- rlib/parsing/test/test_parse.py -- rlib/parsing/test/test_parseerrors.py -- rlib/parsing/test/test_pcre_regtest.py -- rlib/parsing/test/test_pypackrat.py -- rlib/parsing/test/test_pythonlexer.py -- rlib/parsing/test/test_pythonparse.py -- rlib/parsing/test/test_regex.py -- rlib/parsing/test/test_regexparse.py -- rlib/parsing/test/test_translate.py -- rlib/parsing/test/test_translate_lexer.py -- rlib/parsing/test/test_tree.py -- rlib/rjitlog/test/test_jitlog.py -- rlib/rsre/test/test_char.py -- rlib/rsre/test/test_ext_opcode.py -- rlib/rsre/test/test_match.py -- rlib/rsre/test/test_re.py -- rlib/rsre/test/test_search.py -- rlib/rsre/test/test_zexternal.py -- rlib/rsre/test/test_zinterp.py -- rlib/rsre/test/test_zjit.py -- rlib/rstrategies/test/test_rstrategies.py -- rlib/rstruct/test/test_ieee.py -- rlib/rstruct/test/test_pack.py -- rlib/rstruct/test/test_runpack.py -- rlib/rvmprof/test/test_file.py -- rlib/rvmprof/test/test_rvmprof.py -- rlib/rvmprof/test/test_support.py -- rlib/rvmprof/test/test_traceback.py -- rlib/rvmprof/test/test_ztranslation.py -- rlib/test/test__jit_vref.py -- rlib/test/test_buffer.py -- rlib/test/test_cache.py -- rlib/test/test_clibffi.py -- rlib/test/test_compilerinfo.py -- rlib/test/test_debug.py -- rlib/test/test_jit.py -- rlib/test/test_jit_libffi.py -- rlib/test/test_libffi.py -- rlib/test/test_listsort.py -- rlib/test/test_longlong2float.py -- rlib/test/test_mutbuffer.py -- rlib/test/test_nonconst.py -- rlib/test/test_objectmodel.py -- rlib/test/test_posix.py -- rlib/test/test_rStringIO.py -- rlib/test/test_rarithmetic.py -- rlib/test/test_rawrefcount.py -- rlib/test/test_rawrefcount_boehm.py -- rlib/test/test_rawstorage.py -- rlib/test/test_rbigint.py -- rlib/test/test_rbisect.py -- rlib/test/test_rcomplex.py -- rlib/test/test_rdtoa.py -- rlib/test/test_rdynload.py -- rlib/test/test_rerased.py -- rlib/test/test_rfile.py -- rlib/test/test_rfloat.py -- rlib/test/test_rgc.py -- rlib/test/test_rgil.py -- rlib/test/test_rlocale.py -- rlib/test/test_rmarshal.py -- rlib/test/test_rmd5.py -- rlib/test/test_rmmap.py -- rlib/test/test_rope.py -- rlib/test/test_rpath.py -- rlib/test/test_rpoll.py -- rlib/test/test_rposix.py -- rlib/test/test_rposix_environ.py -- rlib/test/test_rposix_scandir.py -- rlib/test/test_rposix_stat.py -- rlib/test/test_rrandom.py -- rlib/test/test_rrawarray.py -- rlib/test/test_rsha.py -- rlib/test/test_rshrinklist.py -- rlib/test/test_rsignal.py -- rlib/test/test_rsiphash.py -- rlib/test/test_rsocket.py -- rlib/test/test_rstacklet.py -- rlib/test/test_rstackovf.py -- rlib/test/test_rstring.py -- rlib/test/test_rtermios.py -- rlib/test/test_rthread.py -- rlib/test/test_rtime.py -- rlib/test/test_rtimer.py -- rlib/test/test_runicode.py -- rlib/test/test_rurandom.py -- rlib/test/test_rutf8.py -- rlib/test/test_rweakkeydict.py -- rlib/test/test_rweaklist.py -- rlib/test/test_rweakref.py -- rlib/test/test_rweakvaldict.py -- rlib/test/test_rwin32.py -- rlib/test/test_rzipfile.py -- rlib/test/test_rzlib.py -- rlib/test/test_signature.py -- rlib/test/test_streamio.py -- rlib/test/test_z3.py -- rlib/unicodedata/test/test_codegen.py -- rlib/unicodedata/test/test_dawg.py -- rlib/unicodedata/test/test_ucd.py -- rlib/unicodedata/test/test_unicodedata.py -- rtyper/lltypesystem/module/test -- rtyper/lltypesystem/test -- rtyper/test -- rtyper/tool/test -- tool/algo/test -- tool/cparser/test -- tool/jitlogparser/test -- tool/pytest/test -- tool/test -- translator/backendopt/test -- translator/c/test/test_backendoptimized.py -- translator/c/test/test_boehm.py -- translator/c/test/test_database.py -- translator/c/test/test_exception.py -- translator/c/test/test_extfunc.py -- translator/c/test/test_genc.py -- translator/c/test/test_lladdresses.py -- translator/c/test/test_llop.py -- translator/c/test/test_lltyped.py -- translator/c/test/test_math.py -- translator/c/test/test_newgc.py -- translator/c/test/test_refcount.py -- translator/c/test/test_rtagged.py -- translator/c/test/test_standalone.py -- translator/c/test/test_standalone_print_function.py -- translator/c/test/test_support.py -- translator/c/test/test_symbolic.py -- translator/c/test/test_typed.py -- translator/platform/arch/test -- translator/platform/test -- translator/sandbox/test -- translator/test -- translator/tool/test -- total: 322 to run ++ 09:28:57 starting annotator/test [1 started in total] ++ 09:28:57 starting config/test [2 started in total] ++ 09:28:57 starting flowspace/test [3 started in total] ++ 09:28:57 starting jit/backend/aarch64/test/test_basic.py [4 started in total] __ config/test [1 done in total, somefailed=False] ____________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 43 items config/test/test_config.py .................................... config/test/test_parse.py .. config/test/test_support.py .ss config/test/test_translationoption.py .. ===================== 41 passed, 2 skipped in 7.14 seconds ===================== ++ 09:29:06 starting jit/backend/aarch64/test/test_call.py [5 started in total] __ jit/backend/aarch64/test/test_basic.py [2 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:06 starting jit/backend/aarch64/test/test_calling_convention.py [6 started in total] __ flowspace/test [3 done in total, somefailed=False] _________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 162 items flowspace/test/test_argument.py ..... flowspace/test/test_checkgraph.py ........ flowspace/test/test_flowcontext.py ..... flowspace/test/test_framestate.py .......... flowspace/test/test_generator.py ..... flowspace/test/test_model.py ......... flowspace/test/test_objspace.py .............................................................xx...................xx..x................ flowspace/test/test_objspace_py2.py .... flowspace/test/test_print_function.py ......... flowspace/test/test_unroll.py .... ==================== 157 passed, 5 xfailed in 6.27 seconds ===================== ++ 09:29:06 starting jit/backend/aarch64/test/test_del.py [7 started in total] __ jit/backend/aarch64/test/test_call.py [4 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:08 starting jit/backend/aarch64/test/test_dict.py [8 started in total] __ jit/backend/aarch64/test/test_calling_convention.py [5 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:08 starting jit/backend/aarch64/test/test_exception.py [9 started in total] __ jit/backend/aarch64/test/test_del.py [6 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:08 starting jit/backend/aarch64/test/test_fficall.py [10 started in total] __ jit/backend/aarch64/test/test_exception.py [7 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:11 starting jit/backend/aarch64/test/test_float.py [11 started in total] __ jit/backend/aarch64/test/test_dict.py [8 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:11 starting jit/backend/aarch64/test/test_instr_builder.py [12 started in total] __ jit/backend/aarch64/test/test_fficall.py [9 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:11 starting jit/backend/aarch64/test/test_jitlog.py [13 started in total] __ jit/backend/aarch64/test/test_float.py [10 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:14 starting jit/backend/aarch64/test/test_list.py [14 started in total] __ jit/backend/aarch64/test/test_jitlog.py [11 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:14 starting jit/backend/aarch64/test/test_llop.py [15 started in total] __ jit/backend/aarch64/test/test_instr_builder.py [12 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:14 starting jit/backend/aarch64/test/test_loop_unroll.py [16 started in total] __ jit/backend/aarch64/test/test_llop.py [13 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:16 starting jit/backend/aarch64/test/test_quasiimmut.py [17 started in total] __ jit/backend/aarch64/test/test_loop_unroll.py [14 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:17 starting jit/backend/aarch64/test/test_rawmem.py [18 started in total] __ jit/backend/aarch64/test/test_list.py [15 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:18 starting jit/backend/aarch64/test/test_recursive.py [19 started in total] __ jit/backend/aarch64/test/test_rawmem.py [16 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:20 starting jit/backend/aarch64/test/test_runner.py [20 started in total] __ jit/backend/aarch64/test/test_recursive.py [17 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:20 starting jit/backend/aarch64/test/test_rvmprof.py [21 started in total] __ jit/backend/aarch64/test/test_quasiimmut.py [18 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:21 starting jit/backend/aarch64/test/test_send.py [22 started in total] __ jit/backend/aarch64/test/test_runner.py [19 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:22 starting jit/backend/aarch64/test/test_slist.py [23 started in total] __ jit/backend/aarch64/test/test_rvmprof.py [20 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:23 starting jit/backend/aarch64/test/test_string.py [24 started in total] __ jit/backend/aarch64/test/test_send.py [21 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:23 starting jit/backend/aarch64/test/test_tl.py [25 started in total] __ jit/backend/aarch64/test/test_slist.py [22 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:25 starting jit/backend/aarch64/test/test_tlc.py [26 started in total] __ jit/backend/aarch64/test/test_string.py [23 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:25 starting jit/backend/aarch64/test/test_virtual.py [27 started in total] __ jit/backend/aarch64/test/test_tl.py [24 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:26 starting jit/backend/aarch64/test/test_virtualizable.py [28 started in total] __ jit/backend/aarch64/test/test_tlc.py [25 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:27 starting jit/backend/aarch64/test/test_virtualref.py [29 started in total] __ jit/backend/aarch64/test/test_virtual.py [26 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:28 starting jit/backend/aarch64/test/test_zrpy_gc.py [30 started in total] __ jit/backend/aarch64/test/test_virtualizable.py [27 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 09:29:28 starting jit/backend/aarch64/test/test_zrpy_gc_boehm.py [31 started in total] __ jit/backend/aarch64/test/test_virtualref.py [28 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:30 starting jit/backend/aarch64/test/test_zrpy_releasegil.py [32 started in total] __ jit/backend/aarch64/test/test_zrpy_gc.py [29 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:30 starting jit/backend/aarch64/test/test_zrpy_vmprof.py [33 started in total] __ jit/backend/aarch64/test/test_zrpy_gc_boehm.py [30 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:31 starting jit/backend/aarch64/test/test_ztranslation_basic.py [34 started in total] __ jit/backend/aarch64/test/test_zrpy_releasegil.py [31 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:32 starting jit/backend/aarch64/test/test_ztranslation_call_assembler.py [35 started in total] __ jit/backend/aarch64/test/test_zrpy_vmprof.py [32 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:33 starting jit/backend/aarch64/test/test_ztranslation_jit_stats.py [36 started in total] __ jit/backend/aarch64/test/test_ztranslation_basic.py [33 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:33 starting jit/backend/arm/test [37 started in total] __ jit/backend/aarch64/test/test_ztranslation_call_assembler.py [34 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:35 starting jit/backend/llgraph/test [38 started in total] __ jit/backend/aarch64/test/test_ztranslation_jit_stats.py [35 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:35 starting jit/backend/llsupport/test [39 started in total] __ jit/backend/arm/test [36 done in total, somefailed=False] __________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 09:29:36 starting jit/backend/ppc/test [40 started in total] __ jit/backend/ppc/test [37 done in total, somefailed=False] __________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:29:38 starting jit/backend/riscv/test [41 started in total] __ jit/backend/riscv/test [38 done in total, somefailed=False] ________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:29:42 starting jit/backend/test [42 started in total] __ jit/backend/llgraph/test [39 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 156 items jit/backend/llgraph/test/test_llgraph.py ss...............................................................................sss..........s.sssss......s.................s.....s.........s.....s........ ==================== 140 passed, 16 skipped in 4.35 seconds ==================== ++ 09:29:42 starting jit/backend/x86/test/test_assembler.py [43 started in total] __ jit/backend/x86/test/test_assembler.py [40 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_assembler.py ... =========================== 3 passed in 0.63 seconds =========================== ++ 09:29:45 starting jit/backend/x86/test/test_basic.py [44 started in total] __ annotator/test [41 done in total, somefailed=False] ________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.py rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 697 items annotator/test/test_annrpython.py ......................................................................................x..........................................................................................................................................x........................................................................................XX............. annotator/test/test_annrpython_py2.py ... annotator/test/test_annsimplifyrpython.py ......................................................................................x..........................................................................................................................................x........................................................................................XX................ annotator/test/test_argument.py ...... annotator/test/test_description.py ... annotator/test/test_model.py ..........x.x.......... annotator/test/test_signature.py . ============== 687 passed, 6 xfailed, 4 xpassed in 44.52 seconds =============== ++ 09:29:48 starting jit/backend/x86/test/test_call.py [45 started in total] __ jit/backend/x86/test/test_call.py [42 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/backend/x86/test/test_call.py ................ ========================== 16 passed in 6.45 seconds =========================== ++ 09:29:59 starting jit/backend/x86/test/test_callbuilder.py [46 started in total] __ jit/backend/x86/test/test_callbuilder.py [43 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/backend/x86/test/test_callbuilder.py .. =========================== 2 passed in 0.11 seconds =========================== ++ 09:30:02 starting jit/backend/x86/test/test_calling_convention.py [47 started in total] __ jit/backend/x86/test/test_calling_convention.py [44 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/x86/test/test_calling_convention.py ......s ===================== 6 passed, 1 skipped in 50.10 seconds ===================== ++ 09:31:00 starting jit/backend/x86/test/test_del.py [48 started in total] __ jit/backend/x86/test/test_del.py [45 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_del.py ... =========================== 3 passed in 2.18 seconds =========================== ++ 09:31:06 starting jit/backend/x86/test/test_dict.py [49 started in total] __ jit/backend/x86/test/test_basic.py [46 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 194 items jit/backend/x86/test/test_basic.py .s...........................................................................................................................................s................s..............s...........s........ =================== 189 passed, 5 skipped in 132.46 seconds ==================== ++ 09:32:03 starting jit/backend/x86/test/test_exception.py [50 started in total] __ jit/backend/x86/test/test_exception.py [47 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 32 items jit/backend/x86/test/test_exception.py s............................... ==================== 31 passed, 1 skipped in 12.54 seconds ===================== ++ 09:32:20 starting jit/backend/x86/test/test_fficall.py [51 started in total] __ jit/backend/x86/test/test_dict.py [48 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit/backend/x86/test/test_dict.py .................... ========================== 20 passed in 80.48 seconds ========================== ++ 09:32:33 starting jit/backend/x86/test/test_float.py [52 started in total] __ jit/backend/x86/test/test_float.py [49 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit/backend/x86/test/test_float.py .......... ========================== 10 passed in 4.61 seconds =========================== ++ 09:32:42 starting jit/backend/x86/test/test_jitlog.py [53 started in total] __ jit/backend/x86/test/test_fficall.py [50 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/x86/test/test_fficall.py ............ ========================== 12 passed in 22.47 seconds ========================== ++ 09:32:48 starting jit/backend/x86/test/test_jump.py [54 started in total] __ jit/backend/x86/test/test_jump.py [51 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/x86/test/test_jump.py ............ ========================== 12 passed in 11.66 seconds ========================== ++ 09:33:02 starting jit/backend/x86/test/test_list.py [55 started in total] __ jit/backend/x86/test/test_jitlog.py [52 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_jitlog.py ... ========================== 3 passed in 26.10 seconds =========================== ++ 09:33:14 starting jit/backend/x86/test/test_llop.py [56 started in total] __ jit/backend/x86/test/test_list.py [53 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items jit/backend/x86/test/test_list.py ...s................... ==================== 22 passed, 1 skipped in 13.11 seconds ===================== ++ 09:33:20 starting jit/backend/x86/test/test_longlong.py [57 started in total] __ jit/backend/x86/test/test_llop.py [54 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_llop.py ..... =========================== 5 passed in 4.13 seconds =========================== ++ 09:33:21 starting jit/backend/x86/test/test_loop_unroll.py [58 started in total] __ jit/backend/x86/test/test_longlong.py [55 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items jit/backend/x86/test/test_longlong.py .............. ========================== 14 passed in 7.10 seconds =========================== ++ 09:33:30 starting jit/backend/x86/test/test_quasiimmut.py [59 started in total] __ jit/backend/x86/test/test_quasiimmut.py [56 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit/backend/x86/test/test_quasiimmut.py ..............s..... ==================== 19 passed, 1 skipped in 11.00 seconds ===================== ++ 09:33:44 starting jit/backend/x86/test/test_rawmem.py [60 started in total] __ jit/backend/x86/test/test_rawmem.py [57 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/x86/test/test_rawmem.py ....... =========================== 7 passed in 3.53 seconds =========================== ++ 09:33:51 starting jit/backend/x86/test/test_recursive.py [61 started in total] __ jit/backend/x86/test/test_loop_unroll.py [58 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/backend/x86/test/test_loop_unroll.py ..............................ss.s... ==================== 34 passed, 3 skipped in 37.56 seconds ===================== ++ 09:34:05 starting jit/backend/x86/test/test_regalloc.py [62 started in total] __ jit/backend/x86/test/test_regalloc.py [59 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit/backend/x86/test/test_regalloc.py ....s........s.ssss ===================== 13 passed, 6 skipped in 1.19 seconds ===================== ++ 09:34:10 starting jit/backend/x86/test/test_regloc.py [63 started in total] __ jit/backend/x86/test/test_regloc.py [60 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items jit/backend/x86/test/test_regloc.py .....ssssssssssssssssssss ===================== 5 passed, 20 skipped in 0.25 seconds ===================== ++ 09:34:13 starting jit/backend/x86/test/test_runner.py [64 started in total] __ jit/backend/test [61 done in total, somefailed=False] ______________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/test/test_detect_cpu.py ..... jit/backend/test/test_ll_random.py . jit/backend/test/test_model.py . jit/backend/test/test_random.py . jit/backend/test/test_zll_stress_0.py . jit/backend/test/test_zll_stress_1.py . jit/backend/test/test_zll_stress_2.py . jit/backend/test/test_zll_stress_3.py . ========================= 12 passed in 350.88 seconds ========================== ++ 09:35:36 starting jit/backend/x86/test/test_rvmprof.py [65 started in total] __ jit/backend/x86/test/test_rvmprof.py [62 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_rvmprof.py ... =========================== 3 passed in 6.84 seconds =========================== ++ 09:35:46 starting jit/backend/x86/test/test_rx86.py [66 started in total] __ jit/backend/x86/test/test_recursive.py [63 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit/backend/x86/test/test_recursive.py ................s........s..............s. ==================== 39 passed, 3 skipped in 109.94 seconds ==================== ++ 09:35:47 starting jit/backend/x86/test/test_rx86_32_auto_encoding.py [67 started in total] __ jit/backend/x86/test/test_rx86.py [64 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 34 items jit/backend/x86/test/test_rx86.py .................................. ========================== 34 passed in 0.10 seconds =========================== ++ 09:35:49 starting jit/backend/x86/test/test_rx86_64_auto_encoding.py [68 started in total] __ jit/backend/x86/test/test_rx86_64_auto_encoding.py [65 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.05 seconds =========================== ++ 09:35:53 starting jit/backend/x86/test/test_send.py [69 started in total] __ jit/backend/x86/test/test_send.py [66 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items jit/backend/x86/test/test_send.py ....................... ========================== 23 passed in 22.07 seconds ========================== ++ 09:36:20 starting jit/backend/x86/test/test_slist.py [70 started in total] __ jit/backend/x86/test/test_slist.py [67 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit/backend/x86/test/test_slist.py s..... ===================== 5 passed, 1 skipped in 5.11 seconds ====================== ++ 09:36:31 starting jit/backend/x86/test/test_string.py [71 started in total] __ jit/backend/x86/test/test_runner.py [68 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 [c5fd4cd06d44580] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffea000 +0 894D20894524895528895D2C897530897D348F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3 [c5fd4cd06e87200] jit-backend-dump} [c5fd4cd073cc180] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9fc0 +0 894D20894524895528895D2C897530897D348B1D04728BF5C70500728BF500000000C70504728BF500000000895D148F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3 [c5fd4cd07554d00] jit-backend-dump} [c5fd4cd08221480] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9f60 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708B44240883EC0C89442404892C248B0D04728BF5894D148B1D00728BF5C70500728BF500000000C70504728BF500000000E8F82EA94789C58B4D14C7451400000000890D04728BF5891D00728BF583C40CC7450C000000008B4D208B45248B55288B5D2C8B75308B7D34F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3 [c5fd4cd085fec80] jit-backend-dump} [c5fd4cd08b1c980] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9e80 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3 [c5fd4cd08cd5880] jit-backend-dump} [c5fd4cd093d2000] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9e20 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708B1D04728BF5C70500728BF500000000C70504728BF500000000895D148F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3 [c5fd4cd09622200] jit-backend-dump} [c5fd4cd09a1bb80] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9da0 +0 8B0504728BF5C70500728BF500000000C70504728BF500000000894514C745040000000089E88B7C24488B7424448B5C24408B6C243C83C45CC3 [c5fd4cd09b5c080] jit-backend-dump} [c5fd4cd09e8d880] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9d50 +0 895D2C83EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B4D208B55288B5D2C8B75308B7D34C3 [c5fd4cd09f91700] jit-backend-dump} [c5fd4cd0a21cb00] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9d10 +0 83EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B55288B4D20C3 [c5fd4cd0a2f5580] jit-backend-dump} [c5fd4cd0aaf7880] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9ce0 +0 895D2CF20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D7083EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B4D208B55288B5D2C8B75308B7D34F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3 [c5fd4cd0ad7ec00] jit-backend-dump} [c5fd4cd0b47ff00] {jit-backend-dump BACKEND x86 SYS_EXECUTABLE ?? CODE_DUMP @-4ffe9c50 +0 F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D7083EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B55288B4D20F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3 [c5fd4cd0b6b2f00] jit-backend-dump} collected 172 items jit/backend/x86/test/test_runner.py ............................................................................................s...read saved errno: 24 read saved errno: 0 read saved errno: 25 read saved errno: 0 .ss..................................................sssss....s....ss...s... =================== 160 passed, 12 skipped in 175.06 seconds =================== ++ 09:37:14 starting jit/backend/x86/test/test_symbolic_x86.py [72 started in total] __ jit/backend/x86/test/test_symbolic_x86.py [69 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit/backend/x86/test/test_symbolic_x86.py ...... =========================== 6 passed in 0.02 seconds =========================== ++ 09:37:17 starting jit/backend/x86/test/test_tl.py [73 started in total] __ jit/backend/x86/test/test_tl.py [70 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_tl.py ..... ========================== 5 passed in 13.96 seconds =========================== ++ 09:37:38 starting jit/backend/x86/test/test_tlc.py [74 started in total] __ jit/backend/x86/test/test_tlc.py [71 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_tlc.py ss. ===================== 1 passed, 2 skipped in 6.35 seconds ====================== ++ 09:37:48 starting jit/backend/x86/test/test_tracelimit.py [75 started in total] __ jit/backend/x86/test/test_string.py [72 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 97 items jit/backend/x86/test/test_string.py .............................s............................................s...................... ==================== 95 passed, 2 skipped in 97.74 seconds ===================== ++ 09:38:12 starting jit/backend/x86/test/test_virtual.py [76 started in total] __ jit/backend/x86/test/test_virtual.py [73 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items jit/backend/x86/test/test_virtual.py .................................................... ========================== 52 passed in 44.13 seconds ========================== ++ 09:39:04 starting jit/backend/x86/test/test_virtualizable.py [77 started in total] __ jit/backend/x86/test/test_virtualizable.py [74 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/backend/x86/test/test_virtualizable.py s...x................................ =============== 35 passed, 1 skipped, 1 xfailed in 54.74 seconds =============== ++ 09:40:02 starting jit/backend/x86/test/test_virtualref.py [78 started in total] __ jit/backend/x86/test/test_virtualref.py [75 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items jit/backend/x86/test/test_virtualref.py ..s.................. ==================== 20 passed, 1 skipped in 18.68 seconds ===================== ++ 09:40:26 starting jit/backend/x86/test/test_x86vector.py [79 started in total] __ jit/backend/x86/test/test_tracelimit.py [76 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_tracelimit.py ..... ========================== 5 passed in 152.87 seconds ========================== ++ 09:40:27 starting jit/backend/x86/test/test_zmath.py [80 started in total] __ jit/backend/x86/test/test_x86vector.py [77 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.93 seconds =========================== ++ 09:40:30 starting jit/backend/x86/test/test_zrpy_gc.py [81 started in total] __ jit/backend/x86/test/test_zmath.py [78 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zmath.py . ========================== 1 passed in 18.65 seconds =========================== ++ 09:40:51 starting jit/backend/x86/test/test_zrpy_gc_boehm.py [82 started in total] __ jit/backend/llsupport/test [79 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 420 items jit/backend/llsupport/test/test_asmmemmgr.py ...........s... jit/backend/llsupport/test/test_codemap.py .. jit/backend/llsupport/test/test_descr.py ...................... jit/backend/llsupport/test/test_ffisupport.py . jit/backend/llsupport/test/test_gc.py ............. jit/backend/llsupport/test/test_gc_integration.py ..............s...... jit/backend/llsupport/test/test_gcreftracer.py ... jit/backend/llsupport/test/test_recompilation.py ..... jit/backend/llsupport/test/test_regalloc.py ...............................................s. jit/backend/llsupport/test/test_regalloc_integration.py ...........................ssssss jit/backend/llsupport/test/test_rewrite.py ........................................................................................... jit/backend/llsupport/test/test_runner.py ssssssssssssss.sssssssssssssssss.ss..sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss..sssssss.s.s.s.s.ssssssssssssssssssssssssssssssssssss jit/backend/llsupport/test/test_skiplist.py . jit/backend/llsupport/test/test_symbolic.py ...... jit/backend/llsupport/test/test_zrpy_gc_direct.py .. ================== 266 passed, 154 skipped in 672.13 seconds =================== ++ 09:40:53 starting jit/backend/x86/test/test_zrpy_releasegil.py [83 started in total] __ jit/backend/x86/test/test_rx86_32_auto_encoding.py [80 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 615 items jit/backend/x86/test/test_rx86_32_auto_encoding.py ..................................................s...................................................................................s..s....................................................................................................................s........................................................................................................................................................................................................................................................................................................................................................................ =================== 611 passed, 4 skipped in 478.31 seconds ==================== ++ 09:43:51 starting jit/backend/x86/test/test_zrpy_vecopt.py [84 started in total] __ jit/backend/x86/test/test_zrpy_vecopt.py [81 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zrpy_vecopt.py . ========================== 1 passed in 395.99 seconds ========================== ++ 09:50:35 starting jit/backend/x86/test/test_zrpy_vmprof.py [85 started in total] __ jit/backend/x86/test/test_zrpy_gc_boehm.py [82 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zrpy_gc_boehm.py . ========================== 1 passed in 582.99 seconds ========================== ++ 09:50:43 starting jit/backend/x86/test/test_ztranslation_basic.py [86 started in total] __ jit/backend/x86/test/test_zrpy_releasegil.py [83 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_zrpy_releasegil.py ... ========================== 3 passed in 915.70 seconds ========================== ++ 09:56:17 starting jit/backend/x86/test/test_ztranslation_call_assembler.py [87 started in total] __ jit/backend/x86/test/test_zrpy_gc.py [84 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit/backend/x86/test/test_zrpy_gc.py ................... ========================= 19 passed in 1015.56 seconds ========================= ++ 09:57:34 starting jit/backend/x86/test/test_ztranslation_external_exception.py [88 started in total] __ jit/backend/x86/test/test_ztranslation_basic.py [85 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_ztranslation_basic.py . ========================== 1 passed in 704.04 seconds ========================== ++ 10:02:37 starting jit/backend/x86/test/test_ztranslation_jit_stats.py [89 started in total] __ jit/backend/x86/test/test_zrpy_vmprof.py [86 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zrpy_vmprof.py . ========================== 1 passed in 875.69 seconds ========================== ++ 10:05:22 starting jit/backend/x86/tool/test/test_viewcode.py [90 started in total] __ jit/backend/x86/tool/test/test_viewcode.py [87 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/tool/test/test_viewcode.py ... =========================== 3 passed in 0.02 seconds =========================== ++ 10:05:27 starting jit/backend/zarch/test [91 started in total] __ jit/backend/zarch/test [88 done in total, somefailed=False] ________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 10:05:31 starting jit/codewriter/test [92 started in total] __ jit/codewriter/test [89 done in total, somefailed=False] ___________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 530 items jit/codewriter/test/test_assembler.py .............. jit/codewriter/test/test_call.py .......s...s... jit/codewriter/test/test_codewriter.py ....... jit/codewriter/test/test_effectinfo.py ............ jit/codewriter/test/test_flatten.py .................................................. jit/codewriter/test/test_format.py ............ jit/codewriter/test/test_jitcode.py . jit/codewriter/test/test_jtransform.py .............................................................................................................................................................................................................................................................................................................................................. jit/codewriter/test/test_list.py ............. jit/codewriter/test/test_liveness.py ................ jit/codewriter/test/test_longlong.py ......... jit/codewriter/test/test_policy.py ........... jit/codewriter/test/test_regalloc.py ............ jit/codewriter/test/test_support.py ........... jit/codewriter/test/test_void_list.py ............. ==================== 528 passed, 2 skipped in 17.79 seconds ==================== ++ 10:05:51 starting jit/metainterp/optimizeopt/test/test_costmodel.py [93 started in total] __ jit/metainterp/optimizeopt/test/test_costmodel.py [90 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.66 seconds =========================== ++ 10:05:57 starting jit/metainterp/optimizeopt/test/test_dependency.py [94 started in total] __ jit/metainterp/optimizeopt/test/test_dependency.py [91 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 36 items jit/metainterp/optimizeopt/test/test_dependency.py .................................... ========================== 36 passed in 2.46 seconds =========================== ++ 10:06:03 starting jit/metainterp/optimizeopt/test/test_guard.py [95 started in total] __ jit/metainterp/optimizeopt/test/test_guard.py [92 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.61 seconds =========================== ++ 10:06:08 starting jit/metainterp/optimizeopt/test/test_intbound.py [96 started in total] __ jit/backend/x86/test/test_ztranslation_call_assembler.py [93 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_ztranslation_call_assembler.py . ========================== 1 passed in 704.01 seconds ========================== ++ 10:08:11 starting jit/metainterp/optimizeopt/test/test_intdiv.py [97 started in total] __ jit/metainterp/optimizeopt/test/test_intdiv.py [94 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/optimizeopt/test/test_intdiv.py ... =========================== 3 passed in 2.44 seconds =========================== ++ 10:08:15 starting jit/metainterp/optimizeopt/test/test_optimizebasic.py [98 started in total] __ jit/metainterp/optimizeopt/test/test_optimizebasic.py [95 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 136 items jit/metainterp/optimizeopt/test/test_optimizebasic.py ............................................x.........................................................x..............x.................. ==================== 133 passed, 3 xfailed in 5.83 seconds ===================== ++ 10:08:24 starting jit/metainterp/optimizeopt/test/test_optimizebridge.py [99 started in total] __ jit/metainterp/optimizeopt/test/test_optimizebridge.py [96 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items jit/metainterp/optimizeopt/test/test_optimizebridge.py .... =========================== 4 passed in 2.66 seconds =========================== ++ 10:08:28 starting jit/metainterp/optimizeopt/test/test_optimizeheap.py [100 started in total] __ jit/metainterp/optimizeopt/test/test_optimizeheap.py [97 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 111 items jit/metainterp/optimizeopt/test/test_optimizeheap.py ..........................................x......................x............................................. ==================== 109 passed, 2 xfailed in 3.86 seconds ===================== ++ 10:08:35 starting jit/metainterp/optimizeopt/test/test_optimizeintbound.py [101 started in total] __ jit/metainterp/optimizeopt/test/test_optimizeintbound.py [98 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 218 items jit/metainterp/optimizeopt/test/test_optimizeintbound.py ................................................................s..............................................s........................s..........s...........................................................s........s. ==================== 212 passed, 6 skipped in 6.10 seconds ===================== ++ 10:08:43 starting jit/metainterp/optimizeopt/test/test_optimizeopt.py [102 started in total] __ jit/metainterp/optimizeopt/test/test_optimizeopt.py [99 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 417 items jit/metainterp/optimizeopt/test/test_optimizeopt.py ......................................................................................................................x..............................................................................................x..............x..............................................................................................................x.....x.....x....................................x...........................s ============== 409 passed, 1 skipped, 7 xfailed in 13.80 seconds =============== ++ 10:09:00 starting jit/metainterp/optimizeopt/test/test_rawbuffer.py [103 started in total] __ jit/metainterp/optimizeopt/test/test_rawbuffer.py [100 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/optimizeopt/test/test_rawbuffer.py ....... =========================== 7 passed in 1.56 seconds =========================== ++ 10:09:04 starting jit/metainterp/optimizeopt/test/test_schedule.py [104 started in total] __ jit/metainterp/optimizeopt/test/test_schedule.py [101 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.58 seconds =========================== ++ 10:09:08 starting jit/metainterp/optimizeopt/test/test_short.py [105 started in total] __ jit/metainterp/optimizeopt/test/test_short.py [102 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/metainterp/optimizeopt/test/test_short.py .. =========================== 2 passed in 2.06 seconds =========================== ++ 10:09:13 starting jit/metainterp/optimizeopt/test/test_unroll.py [106 started in total] __ jit/metainterp/optimizeopt/test/test_unroll.py [103 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/metainterp/optimizeopt/test/test_unroll.py ............ ========================== 12 passed in 2.55 seconds =========================== ++ 10:09:18 starting jit/metainterp/optimizeopt/test/test_util.py [107 started in total] __ jit/metainterp/optimizeopt/test/test_util.py [104 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/optimizeopt/test/test_util.py ... =========================== 3 passed in 2.27 seconds =========================== ++ 10:09:22 starting jit/metainterp/optimizeopt/test/test_vecopt.py [108 started in total] __ jit/metainterp/optimizeopt/test/test_vecopt.py [105 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.80 seconds =========================== ++ 10:09:27 starting jit/metainterp/optimizeopt/test/test_virtualstate.py [109 started in total] __ jit/metainterp/optimizeopt/test/test_virtualstate.py [106 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 49 items jit/metainterp/optimizeopt/test/test_virtualstate.py ...........................................ssssss ===================== 43 passed, 6 skipped in 2.94 seconds ===================== ++ 10:09:32 starting jit/metainterp/optimizeopt/test/test_z3checktests.py [110 started in total] __ jit/metainterp/optimizeopt/test/test_z3checktests.py [107 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.94 seconds =========================== ++ 10:09:37 starting jit/metainterp/optimizeopt/test/test_z3intbound.py [111 started in total] __ jit/metainterp/optimizeopt/test/test_z3intbound.py [108 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.20 seconds =========================== ++ 10:09:41 starting jit/metainterp/ruleopt/test/test_codegen.py [112 started in total] __ jit/metainterp/ruleopt/test/test_codegen.py [109 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:09:44 starting jit/metainterp/ruleopt/test/test_parse.py [113 started in total] __ jit/metainterp/ruleopt/test/test_parse.py [110 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:09:46 starting jit/metainterp/ruleopt/test/test_prove.py [114 started in total] __ jit/metainterp/ruleopt/test/test_prove.py [111 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:09:48 starting jit/metainterp/test/test_ajit.py [115 started in total] __ jit/backend/x86/test/test_ztranslation_external_exception.py [112 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_ztranslation_external_exception.py . ========================== 1 passed in 862.48 seconds ========================== ++ 10:12:07 starting jit/metainterp/test/test_blackhole.py [116 started in total] __ jit/metainterp/test/test_blackhole.py [113 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_blackhole.py ......xxx.. ===================== 8 passed, 3 xfailed in 2.47 seconds ====================== ++ 10:12:11 starting jit/metainterp/test/test_bridgeopt.py [117 started in total] __ jit/metainterp/optimizeopt/test/test_intbound.py [114 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 133 items jit/metainterp/optimizeopt/test/test_intbound.py ......................................................................................................s.............................. =================== 132 passed, 1 skipped in 361.35 seconds ==================== ++ 10:12:16 starting jit/metainterp/test/test_bytearray.py [118 started in total] __ jit/backend/x86/test/test_ztranslation_jit_stats.py [115 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/backend/x86/test/test_ztranslation_jit_stats.py s. ==================== 1 passed, 1 skipped in 574.85 seconds ===================== ++ 10:12:21 starting jit/metainterp/test/test_call.py [119 started in total] __ jit/metainterp/test/test_bytearray.py [116 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items jit/metainterp/test/test_bytearray.py ......s. ===================== 7 passed, 1 skipped in 4.24 seconds ====================== ++ 10:12:23 starting jit/metainterp/test/test_compile.py [120 started in total] __ jit/metainterp/test/test_compile.py [117 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/metainterp/test/test_compile.py .. =========================== 2 passed in 1.77 seconds =========================== ++ 10:12:28 starting jit/metainterp/test/test_counter.py [121 started in total] __ jit/metainterp/test/test_bridgeopt.py [118 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_bridgeopt.py ..........x ==================== 10 passed, 1 xfailed in 14.77 seconds ===================== ++ 10:12:29 starting jit/metainterp/test/test_del.py [122 started in total] __ jit/metainterp/test/test_call.py [119 done in total, somefailed=True] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/metainterp/test/test_call.py ......FF........ =================================== FAILURES =================================== ________________ TestCall.test_cond_call_constant_in_optimizer _________________ self = <rpython.jit.metainterp.test.test_call.TestCall object at 0xf535152c> def test_cond_call_constant_in_optimizer(self): myjitdriver = jit.JitDriver(greens = ['m'], reds = ['n', 'p']) def externfn(x): return x - 3 class V: def __init__(self, value): self.value = value def f(n, m, p): while n > 0: myjitdriver.can_enter_jit(n=n, p=p, m=m) myjitdriver.jit_merge_point(n=n, p=p, m=m) m1 = noConst(m) n -= jit.conditional_call_elidable(p, externfn, m1) return n res = self.meta_interp(f, [21, 5, 0]) assert res == -1 # the COND_CALL_VALUE is constant-folded away by optimizeopt.py self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_call.py:116: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5373b8c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-1, 0, 60, 55] -> 60 bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame! ~~~ return value: -1 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 17 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes [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 [c5fd5d7d29de480] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d7d2bef980] {jit-trace-done trace length: 66 number operations: 12 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d7d2c1c080] jit-trace-done} [c5fd5d7d2c56f80] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = same_as_i(5) p4 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i6 = cond_call_value_i(i1, ConstClass(externfn), i3, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf576732c: EF=2>)) i7 = int_sub(i0, i6) i9 = int_gt(i7, 0) guard_true(i9) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i7, i1, descr=<Loop-1>) [c5fd5d7d2cf1600] jit-log-noopt} [c5fd5d7d2d01e00] {jit-optimize [c5fd5d7d2d25680] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5320f6c>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d7d31ac780] jit-log-intbounds} [c5fd5d7d3254b00] {jit-log-exported-state [i10, i11] INP(i10 = int_add(i12, -2/ci)) INP(i11) PureOp(i13 = int_gt(i10, 0/ci)) [c5fd5d7d326f800] jit-log-exported-state} [c5fd5d7d327aa00] jit-optimize} [c5fd5d7d3291500] {jit-optimize [c5fd5d7d33f5e80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) i4 = int_add(i2, -2) # i4: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2) i6 = int_gt(i4, 0) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5326c2c>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d7d39de980] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(-181251828)) [c5fd5d7d3b66d00] jit-optimize} [c5fd5d7d3b73800] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd5d7d3b88f80] jit-log-short-preamble} [c5fd5d7d3bbb480] {jit-backend [c5fd5d7d3bd4100] {jit-log-compiling-loop [i12, i11] label(i12, i11, descr=TargetToken(-181247476)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i12, -2) i13 = int_gt(i10, 0) guard_true(i13, descr=<Guard0xf5320f6c>) [i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(-181251828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i10, -2) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf5326c2c>) [i19, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, i11, descr=TargetToken(-181251828)) [c5fd5d7d3c2d880] jit-log-compiling-loop} [c5fd5d7d3c40d80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d7d3c4cb00] jit-mem-looptoken-alloc} [c5fd5d7d3c78d80] jit-backend} compiled new loop [c5fd5d7d3c84b00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(-181247476)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<Guard0xf5320f6c>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i1, descr=TargetToken(-181251828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i3, -2) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0xf5326c2c>) [i7, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(-181251828)) [c5fd5d7d3ce1780] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d7d3f38200] jit-tracing} _______________ TestCall.test_cond_call_constant_in_optimizer_1 ________________ self = <rpython.jit.metainterp.test.test_call.TestCall object at 0xf538160c> def test_cond_call_constant_in_optimizer_1(self): # same as test_cond_call_constant_in_optimizer, but the 'value' # argument changes myjitdriver = jit.JitDriver(greens = ['m'], reds = ['n', 'p']) def externfn(x): return x - 3 class V: def __init__(self, value): self.value = value def f(n, m, p): while n > 0: myjitdriver.can_enter_jit(n=n, p=p, m=m) myjitdriver.jit_merge_point(n=n, p=p, m=m) m1 = noConst(m) n -= jit.conditional_call_elidable(p, externfn, m1) return n assert f(21, 5, 0) == -1 res = self.meta_interp(f, [21, 5, 0]) assert res == -1 # the COND_CALL_VALUE is constant-folded away by optimizeopt.py self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_call.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5293fac> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-1, 0, 60, 55] -> 60 bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame! ~~~ return value: -1 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 17 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes [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 [c5fd5d7ddc36a80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d7dde52780] {jit-trace-done trace length: 66 number operations: 12 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d7dde7e400] jit-trace-done} [c5fd5d7ddeba700] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = same_as_i(5) p4 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i6 = cond_call_value_i(i1, ConstClass(externfn), i3, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf576732c: EF=2>)) i7 = int_sub(i0, i6) i9 = int_gt(i7, 0) guard_true(i9) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i7, i1, descr=<Loop-1>) [c5fd5d7ddf4a400] jit-log-noopt} [c5fd5d7ddf59800] {jit-optimize [c5fd5d7ddf79400] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52e7c2c>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d7de3b7300] jit-log-intbounds} [c5fd5d7de455600] {jit-log-exported-state [i10, i11] INP(i11) PureOp(i12 = int_gt(i10, 0/ci)) INP(i10 = int_add(i13, -2/ci)) [c5fd5d7de46ec80] jit-log-exported-state} [c5fd5d7de478a80] jit-optimize} [c5fd5d7de490200] {jit-optimize [c5fd5d7de5dfd00] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) i4 = int_add(i2, -2) # i4: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2) i6 = int_gt(i4, 0) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52eb7cc>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d7debb1e80] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(-181486420)) [c5fd5d7ded31180] jit-optimize} [c5fd5d7ded3db00] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd5d7ded52c80] jit-log-short-preamble} [c5fd5d7ded85900] {jit-backend [c5fd5d7ded9fd00] {jit-log-compiling-loop [i13, i11] label(i13, i11, descr=TargetToken(-181502708)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i13, -2) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0xf52e7c2c>) [i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(-181486420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i10, -2) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf52eb7cc>) [i19, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, i11, descr=TargetToken(-181486420)) [c5fd5d7dedf1d80] jit-log-compiling-loop} [c5fd5d7dee02d00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d7dee0e680] jit-mem-looptoken-alloc} [c5fd5d7dee39c00] jit-backend} compiled new loop [c5fd5d7dee45500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(-181502708)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<Guard0xf52e7c2c>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i1, descr=TargetToken(-181486420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i3, -2) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0xf52eb7cc>) [i7, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(-181486420)) [c5fd5d7deea2180] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d7df01ba80] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_call.py::TestCall::()::test_cond_call_constant_in_optimizer FAIL jit/metainterp/test/test_call.py::TestCall::()::test_cond_call_constant_in_optimizer_1 ===================== 2 failed, 14 passed in 7.24 seconds ====================== ++ 10:12:31 starting jit/metainterp/test/test_dict.py [123 started in total] __ jit/metainterp/test/test_del.py [120 done in total, somefailed=True] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/test/test_del.py F.. =================================== FAILURES =================================== _________________________ TestLLtype.test_del_keep_obj _________________________ self = <rpython.jit.metainterp.test.test_del.TestLLtype instance at 0xf58e306c> def test_del_keep_obj(self): myjitdriver = JitDriver(greens = [], reds = ['n', 'x']) class Foo: def __del__(self): pass def f(n): x = None while n > 0: myjitdriver.can_enter_jit(x=x, n=n) myjitdriver.jit_merge_point(x=x, n=n) x = Foo() Foo() n -= 1 return 42 self.meta_interp(f, [20]) self.check_resops({'call_r': 4, # calls to a helper function 'guard_no_exception': 4, # follows the calls 'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_del.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf580764c> insns = {'call_r': 4, 'guard_no_exception': 4, 'guard_true': 2, 'int_add': 2, ...} expected = {'call_r': 4, 'guard_no_exception': 4, 'guard_true': 2, 'int_gt': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'call_r': 4,..._add': 2, ...} == {'call_r': 4, ...t_gt': 2, ...} E Omitting 5 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: live [32] -> 34 bh: int_sub [1, 1] -> 0 bh: live [39] -> 41 bh: goto_if_not_int_gt [0, 0, 51, 46] -> 51 bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame! ~~~ return value: 42 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 5 -live- ops. Size of liveness is 9 bytes [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 [c5fd5d8532ad200] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d857fd8600] {jit-trace-done trace length: 58 number operations: 12 total snapshots: 4 snapshot data: 48 snapshot array data: 26 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d858007000] jit-trace-done} [c5fd5d858040680] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception() p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception() i7 = int_sub(i0, 1) i9 = int_gt(i7, 0) guard_true(i9) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i7, p3, descr=<Loop-1>) [c5fd5d8580dd580] jit-log-noopt} [c5fd5d8580f7600] {jit-optimize [c5fd5d8581c9900] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf5737eec>) [i0, p3] p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf5737f2c>) [i0, p3] i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf574d50c>) [i0, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d858836580] jit-log-intbounds} [c5fd5d8588beb00] {jit-log-exported-state [i10, r11] INP(r11 = call_r(-176299476/ci, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))) PureOp(i12 = int_gt(i10, 0/ci)) INP(i10 = int_add(i13, -1/ci)) [c5fd5d8588e8100] jit-log-exported-state} [c5fd5d8588f3700] jit-optimize} [c5fd5d85890a000] {jit-optimize [c5fd5d858a08c80] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf574dc0c>) [i4, p3] p6 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf574ddec>) [i4, p3] # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i4, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf574dcec>) [i4, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d859181a00] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p3, descr=TargetToken(-176786196)) [c5fd5d8592ba200] jit-optimize} [c5fd5d8592c6b00] {jit-log-short-preamble [] label(i14, p15) jump() [c5fd5d8592dbd00] jit-log-short-preamble} [c5fd5d859338780] {jit-backend [c5fd5d85934fe00] {jit-log-compiling-loop [i13, p16] label(i13, p16, descr=TargetToken(-176892276)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p11 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf5737eec>) [i13, p11] p19 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf5737f2c>) [i13, p11] i10 = int_add(i13, -1) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0xf574d50c>) [i13, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, p11, descr=TargetToken(-176786196)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p23 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf574dc0c>) [i10, p23] p25 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf574ddec>) [i10, p23] i27 = int_add(i10, -1) i29 = int_gt(i27, 0) guard_true(i29, descr=<Guard0xf574dcec>) [i10, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i27, p23, descr=TargetToken(-176786196)) [c5fd5d8593ec400] jit-log-compiling-loop} [c5fd5d8593ff100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d85940b680] jit-mem-looptoken-alloc} [c5fd5d859454a00] jit-backend} compiled new loop [c5fd5d859461580] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, p1] label(i0, p1, descr=TargetToken(-176892276)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf5737eec>) [i0, p3] p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf5737f2c>) [i0, p3] i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0xf574d50c>) [i0, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, p3, descr=TargetToken(-176786196)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p11 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf574dc0c>) [i7, p11] p13 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)) guard_no_exception(descr=<Guard0xf574ddec>) [i7, p11] i15 = int_add(i7, -1) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0xf574dcec>) [i7, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, p11, descr=TargetToken(-176786196)) [c5fd5d859506a00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d859e27e80] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_del.py::TestLLtype::()::test_del_keep_obj ====================== 1 failed, 2 passed in 3.00 seconds ====================== ++ 10:12:34 starting jit/metainterp/test/test_exception.py [124 started in total] __ jit/metainterp/test/test_counter.py [121 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_counter.py ....... =========================== 7 passed in 8.16 seconds =========================== ++ 10:12:38 starting jit/metainterp/test/test_executor.py [125 started in total] __ jit/metainterp/test/test_executor.py [122 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_executor.py ....... =========================== 7 passed in 1.54 seconds =========================== ++ 10:12:41 starting jit/metainterp/test/test_fficall.py [126 started in total] __ jit/metainterp/test/test_exception.py [123 done in total, somefailed=True] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 32 items jit/metainterp/test/test_exception.py .F.............................. =================================== FAILURES =================================== _________________________ TestLLtype.test_no_exception _________________________ self = <rpython.jit.metainterp.test.test_exception.TestLLtype instance at 0xf5686cac> def test_no_exception(self): myjitdriver = JitDriver(greens = [], reds = ['n']) class X: pass def f(n): while n > 0: myjitdriver.can_enter_jit(n=n) myjitdriver.jit_merge_point(n=n) X() n -= 1 return n res = self.meta_interp(f, [10]) assert res == 0 self.check_resops({'jump': 1, 'guard_true': 2, > 'int_gt': 2, 'int_sub': 2}) jit/metainterp/test/test_exception.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf563572c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 36, 31] -> 36 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5d8fda94a00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d8fdbc2600] {jit-trace-done trace length: 40 number operations: 8 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d8fdbedd80] jit-trace-done} [c5fd5d8fdc1a100] {jit-log-noopt # Traced loop or bridge with 8 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_exception.X { super }>)) i3 = int_sub(i0, 1) i5 = int_gt(i3, 0) guard_true(i5) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i3, descr=<Loop-1>) [c5fd5d8fdc7cc80] jit-log-noopt} [c5fd5d8fdc8c280] {jit-optimize [c5fd5d8fdd41d80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf560874c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d8fe140800] jit-log-intbounds} [c5fd5d8fe1bb500] {jit-log-exported-state [i6] INP(i6 = int_add(i7, -1/ci)) PureOp(i8 = int_gt(i6, 0/ci)) [c5fd5d8fe1d4d80] jit-log-exported-state} [c5fd5d8fe1ded80] jit-optimize} [c5fd5d8fe1f5500] {jit-optimize [c5fd5d8fe2dd380] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf559720c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d8fe81cf80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-178686420)) [c5fd5d8fe940800] jit-optimize} [c5fd5d8fe94d380] {jit-log-short-preamble [] label(i9) jump() [c5fd5d8fe961f80] jit-log-short-preamble} [c5fd5d8fe990d00] {jit-backend [c5fd5d8fe9a7100] {jit-log-compiling-loop [i7] label(i7, descr=TargetToken(-178223252)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i7, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf560874c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i6, descr=TargetToken(-178686420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i6, -1) i15 = int_gt(i13, 0) guard_true(i15, descr=<Guard0xf559720c>) [i13] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i13, descr=TargetToken(-178686420)) [c5fd5d8fe9fb680] jit-log-compiling-loop} [c5fd5d8fea0c780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d8fea18a80] jit-mem-looptoken-alloc} [c5fd5d8fea43680] jit-backend} compiled new loop [c5fd5d8fea4fa00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-178223252)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf560874c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-178686420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf559720c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-178686420)) [c5fd5d8feaab300] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d8febf3680] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_exception.py::TestLLtype::()::test_no_exception ===================== 1 failed, 31 passed in 9.82 seconds ====================== ++ 10:12:46 starting jit/metainterp/test/test_float.py [127 started in total] __ jit/metainterp/test/test_float.py [124 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit/metainterp/test/test_float.py .......... ========================== 10 passed in 4.90 seconds =========================== ++ 10:12:55 starting jit/metainterp/test/test_greenfield.py [128 started in total] __ jit/metainterp/test/test_greenfield.py [125 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.65 seconds =========================== ++ 10:12:58 starting jit/metainterp/test/test_heapcache.py [129 started in total] __ jit/metainterp/test/test_heapcache.py [126 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 44 items jit/metainterp/test/test_heapcache.py ...............s.sss........................ ===================== 40 passed, 4 skipped in 1.95 seconds ===================== ++ 10:13:02 starting jit/metainterp/test/test_history.py [130 started in total] __ jit/metainterp/test/test_fficall.py [127 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items jit/metainterp/test/test_fficall.py ............s.... ==================== 16 passed, 1 skipped in 27.67 seconds ===================== ++ 10:13:14 starting jit/metainterp/test/test_immutable.py [131 started in total] __ jit/metainterp/test/test_history.py [128 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_history.py ....... =========================== 7 passed in 9.91 seconds =========================== ++ 10:13:15 starting jit/metainterp/test/test_jitdriver.py [132 started in total] __ jit/metainterp/test/test_immutable.py [129 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items jit/metainterp/test/test_immutable.py ........ =========================== 8 passed in 9.20 seconds =========================== ++ 10:13:26 starting jit/metainterp/test/test_jitiface.py [133 started in total] __ jit/metainterp/test/test_jitdriver.py [130 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_jitdriver.py ....s.. ===================== 6 passed, 1 skipped in 11.90 seconds ===================== ++ 10:13:29 starting jit/metainterp/test/test_jitprof.py [134 started in total] __ jit/metainterp/test/test_jitiface.py [131 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_jitiface.py ........... ========================== 11 passed in 5.78 seconds =========================== ++ 10:13:34 starting jit/metainterp/test/test_list.py [135 started in total] __ jit/metainterp/test/test_jitprof.py [132 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items jit/metainterp/test/test_jitprof.py s... ===================== 3 passed, 1 skipped in 3.11 seconds ====================== ++ 10:13:35 starting jit/metainterp/test/test_llop.py [136 started in total] __ jit/metainterp/test/test_llop.py [133 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_llop.py ..... =========================== 5 passed in 4.56 seconds =========================== ++ 10:13:42 starting jit/metainterp/test/test_logger.py [137 started in total] __ jit/metainterp/test/test_logger.py [134 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/metainterp/test/test_logger.py ................ ========================== 16 passed in 1.46 seconds =========================== ++ 10:13:45 starting jit/metainterp/test/test_longlong.py [138 started in total] __ jit/metainterp/test/test_longlong.py [135 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items jit/metainterp/test/test_longlong.py .............. ========================== 14 passed in 5.92 seconds =========================== ++ 10:13:53 starting jit/metainterp/test/test_loop.py [139 started in total] __ jit/metainterp/test/test_list.py [136 done in total, somefailed=True] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 27 items jit/metainterp/test/test_list.py F..s........F....FFF....... =================================== FAILURES =================================== _________________________ TestLLtype.test_simple_array _________________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf58057ac> def test_simple_array(self): jitdriver = JitDriver(greens = [], reds = ['n']) def f(n): while n > 0: jitdriver.can_enter_jit(n=n) jitdriver.jit_merge_point(n=n) lst = [n] n = lst[0] - 1 return n res = self.meta_interp(f, [10], listops=True) assert res == 0 > self.check_resops(int_sub=2) jit/metainterp/test/test_list.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5745cec> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = None, check = {'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 0 'int_sub', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 20 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 2 callsites. [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:16)f at 0xf571bc8c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:16)f at 0xf571bc8c>; should have be removed [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5dffd6cd380] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5e002513b00] {jit-trace-done trace length: 51 number operations: 9 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5e002540580] jit-trace-done} [c5fd5e002570880] {jit-log-noopt # Traced loop or bridge with 9 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new_array(1, descr=ArrayDescr(<GcArray of Signed >)) setarrayitem_gc(p2, 0, i0, descr=ArrayDescr(<GcArray of Signed >)) i5 = int_sub(i0, 1) i7 = int_gt(i5, 0) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i5, descr=<Loop-1>) [c5fd5e0025ea880] jit-log-noopt} [c5fd5e002603280] {jit-optimize [c5fd5e0026cec80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5679d6c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e002c3a780] jit-log-intbounds} [c5fd5e002cbdb80] {jit-log-exported-state [i8] INP(i8 = int_add(i9, -1/ci)) PureOp(i10 = int_gt(i8, 0/ci)) [c5fd5e002cd8500] jit-log-exported-state} [c5fd5e002ce2f00] jit-optimize} [c5fd5e002cfc300] {jit-optimize [c5fd5e002df0f80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf56968cc>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e0033e5780] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-177759156)) [c5fd5e003500d00] jit-optimize} [c5fd5e00350d880] {jit-log-short-preamble [] label(i11) jump() [c5fd5e003521800] jit-log-short-preamble} [c5fd5e003569880] {jit-backend [c5fd5e003585200] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(-177758836)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i9, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf5679d6c>) [i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, descr=TargetToken(-177759156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i15 = int_add(i8, -1) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0xf56968cc>) [i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, descr=TargetToken(-177759156)) [c5fd5e0035d4f80] jit-log-compiling-loop} [c5fd5e0035e6900] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5e0035f2680] jit-mem-looptoken-alloc} [c5fd5e00361d380] jit-backend} compiled new loop [c5fd5e003629780] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-177758836)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf5679d6c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-177759156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf56968cc>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-177759156)) [c5fd5e003684280] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5e0037d5c80] jit-tracing} ________________________ TestLLtype.test_virtual_resize ________________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf50ba82c> def test_virtual_resize(self): jitdriver = JitDriver(greens = [], reds = ['n', 's']) def f(n): s = 0 while n > 0: jitdriver.jit_merge_point(n=n, s=s) lst = [] lst += [1] n -= len(lst) s += lst[0] lst.pop() lst.append(1) lst.insert(0, 5) lst.insert(0, 5) lst.insert(1, 6) s *= lst.pop() return s res = self.meta_interp(f, [15], listops=True) assert res == f(15) self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2, > 'guard_true': 2, 'int_sub': 2}) jit/metainterp/test/test_list.py:232: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4ff266c> insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_sub': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...} E Omitting 3 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 154, 151] -> 154 bh: int_return [<BHInterp <JitCode 'f'>>, 15] -> LeaveFrame! ~~~ return value: 15 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 159 blocks (62%) [rtyper] -=- specialized 159 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 10 callsites. [rtyper] specializing: 200 / 200 blocks (100%) [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:214)f at 0xf4ffef8c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:214)f at 0xf4ffef8c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0xf4f8cc6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0xf4f8cc6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really__v623___simple_call__function__ at 0xf4fad5cc>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:635)ll_pop_default__dum_nocheckConst_listPtr at 0xf4fb37ec>; should have be removed [jitcodewriter:info] There are 15 JitCode instances. [jitcodewriter:info] There are 41 -live- ops. Size of liveness is 55 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 3 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5e0d92ac100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5e0d9744980] {jit-tco removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [c5fd5e0d975c080] jit-tco} [c5fd5e0d98e8600] {jit-tco removed frame ll_extend__listPtr_arrayPtr [c5fd5e0d98fda00] jit-tco} (jitdriver: no get_printable_location) [c5fd5e0dac85080] {jit-trace-done trace length: 243 number operations: 33 total snapshots: 2 snapshot data: 24 snapshot array data: 14 bigint consts: 4 4 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5e0daccce80] jit-trace-done} [c5fd5e0dad20680] {jit-log-noopt # Traced loop or bridge with 32 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new(descr=SizeDescr(<GcStruct list { length, items }>)) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) p5 = new_array(0, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, p5, descr=FieldDescr(<GcStruct list { length, items }>, 'items')) p7 = new_array(1, descr=ArrayDescr(<GcArray of Signed >)) setarrayitem_gc(p7, 0, 1, descr=ArrayDescr(<GcArray of Signed >)) p11 = new_array(4, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, p11, descr=FieldDescr(<GcStruct list { length, items }>, 'items')) setfield_gc(p2, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), p7, p11, 0, 0, 1, descr=CallDescr(<Void>, (<* GcArray of Signed >, <* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4fa8f6c: EF=2 OS=1>)) i18 = int_sub(i0, 1) i20 = int_add(i1, 1) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) setfield_gc(p2, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) setarrayitem_gc(p11, 0, 1, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, 2, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 0, 1, 1, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>)) setarrayitem_gc(p11, 0, 5, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, 3, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 0, 1, 2, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>)) setarrayitem_gc(p11, 0, 5, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, 4, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 1, 2, 2, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>)) setarrayitem_gc(p11, 1, 6, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p2, 3, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) i48 = int_mul(i20, 1) i50 = int_gt(i18, 0) guard_true(i50) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i18, i48, descr=<Loop-1>) [c5fd5e0dafcba80] jit-log-noopt} [c5fd5e0dafe6080] {jit-optimize [c5fd5e0db01c180] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -1) i5 = int_add(i1, 1) # i5 -> (?) IntBound.unbounded() i7 = int_gt(i3, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4f86e8c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e0db960880] jit-log-intbounds} [c5fd5e0dba6c180] {jit-log-exported-state [i51, i52] PureOp(i53 = int_gt(i51, 0/ci)) INP(i52 = int_add(i54, 1/ci)) INP(i51 = int_add(i55, -1/ci)) [c5fd5e0dba9b900] jit-log-exported-state} [c5fd5e0dbaad280] jit-optimize} [c5fd5e0dbad3a00] {jit-optimize [c5fd5e0dbcfcd80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) i4 = int_add(i2, -1) i7 = int_add(i5, 1) # i7 -> (?) IntBound.unbounded() # i4: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i9 = int_gt(i4, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fde02c>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e0dc87e880] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(-184667700)) [c5fd5e0dca30d80] jit-optimize} [c5fd5e0dca3de80] {jit-log-short-preamble [] label(i56, i57) jump() [c5fd5e0dca53080] jit-log-short-preamble} [c5fd5e0dca8a700] {jit-backend [c5fd5e0dcaa1880] {jit-log-compiling-loop [i55, i54] label(i55, i54, descr=TargetToken(-185045524)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i55, -1) i52 = int_add(i54, 1) i53 = int_gt(i51, 0) guard_true(i53, descr=<Guard0xf4f86e8c>) [i51, i52] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, i52, descr=TargetToken(-184667700)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i62 = int_add(i51, -1) i64 = int_add(i52, 1) i66 = int_gt(i62, 0) guard_true(i66, descr=<Guard0xf4fde02c>) [i62, i64] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i62, i64, descr=TargetToken(-184667700)) [c5fd5e0dcafec80] jit-log-compiling-loop} [c5fd5e0dcb10d80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5e0dcb1cd00] jit-mem-looptoken-alloc} [c5fd5e0dcb4d800] jit-backend} compiled new loop [c5fd5e0dcb59a00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(-185045524)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -1) i5 = int_add(i1, 1) i7 = int_gt(i3, 0) guard_true(i7, descr=<Guard0xf4f86e8c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(-184667700)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i3, -1) i11 = int_add(i5, 1) i13 = int_gt(i9, 0) guard_true(i13, descr=<Guard0xf4fde02c>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(-184667700)) [c5fd5e0dcbc3a80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5e0dcd91580] jit-tracing} _______________________ TestLLtype.test_list_mul_virtual _______________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4cc2acc> def test_list_mul_virtual(self): class Foo: def __init__(self, l): self.l = l l[0] = self myjitdriver = JitDriver(greens = [], reds = ['y']) def f(y): while y > 0: myjitdriver.jit_merge_point(y=y) Foo([None] * 5) y -= 1 return 42 self.meta_interp(f, [5]) self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_list.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4ddf86c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54 bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame! ~~~ return value: 42 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 78 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 100 / 114 blocks (87%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4c9680c>; should have be removed [jitcodewriter:info] There are 12 JitCode instances. [jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 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 [c5fd5e11ee40d80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5e11eec8300] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5e11eed5a00] jit-tco} [c5fd5e11efa0600] {jit-tco removed frame Foo.__init__ [c5fd5e11efb0600] jit-tco} (jitdriver: no get_printable_location) [c5fd5e11f0b8300] {jit-trace-done trace length: 61 number operations: 11 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5e11f0e9d80] jit-trace-done} [c5fd5e11f118600] {jit-log-noopt # Traced loop or bridge with 11 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>)) setfield_gc(p3, p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l')) setarrayitem_gc(p2, 0, p3, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) i6 = int_sub(i0, 1) i8 = int_gt(i6, 0) guard_true(i8) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i6, descr=<Loop-1>) [c5fd5e11f1a9a00] jit-log-noopt} [c5fd5e11f1baf80] {jit-optimize [c5fd5e11f1d8e00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4cb0c0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e11f6b9a80] jit-log-intbounds} [c5fd5e11f73b280] {jit-log-exported-state [i9] INP(i9 = int_add(i10, -1/ci)) PureOp(i11 = int_gt(i9, 0/ci)) [c5fd5e11f75cc00] jit-log-exported-state} [c5fd5e11f767980] jit-optimize} [c5fd5e11f780080] {jit-optimize [c5fd5e11f878680] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4c397ac>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e11fe0c680] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-188507156)) [c5fd5e11ff34300] jit-optimize} [c5fd5e11ff40c00] {jit-log-short-preamble [] label(i12) jump() [c5fd5e11ff55480] jit-log-short-preamble} [c5fd5e11ff85580] {jit-backend [c5fd5e11ff9bd00] {jit-log-compiling-loop [i10] label(i10, descr=TargetToken(-188019668)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i10, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0xf4cb0c0c>) [i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, descr=TargetToken(-188507156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i9, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0xf4c397ac>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i16, descr=TargetToken(-188507156)) [c5fd5e11fff3380] jit-log-compiling-loop} [c5fd5e120005300] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5e120014700] jit-mem-looptoken-alloc} [c5fd5e120042f00] jit-backend} compiled new loop [c5fd5e120050400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-188019668)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4cb0c0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-188507156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4c397ac>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-188507156)) [c5fd5e1200b2800] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5e1201dd980] jit-tracing} ___________________ TestLLtype.test_list_mul_virtual_nonzero ___________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4bdc36c> def test_list_mul_virtual_nonzero(self): class base: pass class Foo(base): def __init__(self, l): self.l = l l[0] = self class nil(base): pass nil = nil() myjitdriver = JitDriver(greens = [], reds = ['y']) def f(y): while y > 0: myjitdriver.jit_merge_point(y=y) Foo([nil] * 5) y -= 1 return 42 self.meta_interp(f, [5]) self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_list.py:325: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4c4eb6c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54 bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame! ~~~ return value: 42 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 78 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 100 / 114 blocks (87%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4c1ef2c>; should have be removed [jitcodewriter:info] There are 12 JitCode instances. [jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 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 [c5fd5e12eb78f00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5e12ec00900] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5e12ec0df80] jit-tco} [c5fd5e12ec2eb00] {jit-tco removed frame _ll_alloc_and_set_jit__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5e12ec3b200] jit-tco} [c5fd5e12ec73e00] {jit-tco removed frame _ll_alloc_and_set_nonnull_look_inside_iff__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5e12ec80b80] jit-tco} [c5fd5e12ee93b80] {jit-tco removed frame Foo.__init__ [c5fd5e12eea1400] jit-tco} (jitdriver: no get_printable_location) [c5fd5e12ef98b00] {jit-trace-done trace length: 109 number operations: 17 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 5 4 2 descrs: 1 [c5fd5e12efc6980] jit-trace-done} [c5fd5e12eff4280] {jit-log-noopt # Traced loop or bridge with 17 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = same_as_i(1) p4 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) setarrayitem_gc(p4, 0, ConstPtr(ptr6), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) setarrayitem_gc(p4, 1, ConstPtr(ptr8), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) setarrayitem_gc(p4, 2, ConstPtr(ptr10), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) setarrayitem_gc(p4, 3, ConstPtr(ptr12), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) setarrayitem_gc(p4, 4, ConstPtr(ptr14), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) p15 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>)) setfield_gc(p15, p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l')) setarrayitem_gc(p4, 0, p15, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) i18 = int_sub(i0, 1) i20 = int_gt(i18, 0) guard_true(i20) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i18, descr=<Loop-1>) [c5fd5e12f130e80] jit-log-noopt} [c5fd5e12f151480] {jit-optimize [c5fd5e12f184300] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bd1b2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e12f980d80] jit-log-intbounds} [c5fd5e12fa2f680] {jit-log-exported-state [i21] PureOp(i22 = int_gt(i21, 0/ci)) INP(i21 = int_add(i23, -1/ci)) [c5fd5e12fa4ae00] jit-log-exported-state} [c5fd5e12fa56380] jit-optimize} [c5fd5e12fa6f400] {jit-optimize [c5fd5e12fb6de00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bf71ec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e130245980] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-188778996)) [c5fd5e130375a80] jit-optimize} [c5fd5e130383380] {jit-log-short-preamble [] label(i24) jump() [c5fd5e130398b00] jit-log-short-preamble} [c5fd5e1303cbb80] {jit-backend [c5fd5e1303e1580] {jit-log-compiling-loop [i23] label(i23, descr=TargetToken(-188933108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i23, -1) i22 = int_gt(i21, 0) guard_true(i22, descr=<Guard0xf4bd1b2c>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(-188778996)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0xf4bf71ec>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(-188778996)) [c5fd5e130430e80] jit-log-compiling-loop} [c5fd5e130443780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5e13044f900] jit-mem-looptoken-alloc} [c5fd5e13047a480] jit-backend} compiled new loop [c5fd5e130486600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-188933108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4bd1b2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-188778996)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4bf71ec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-188778996)) [c5fd5e1304e6300] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5e13065fa80] jit-tracing} __________________ TestLLtype.test_list_mul_unsigned_virtual ___________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4c54eec> def test_list_mul_unsigned_virtual(self): from rpython.rlib.rarithmetic import r_uint class Foo: def __init__(self, l): self.l = l l[0] = self myjitdriver = JitDriver(greens = [], reds = ['y']) def f(y): while y > 0: myjitdriver.jit_merge_point(y=y) Foo([None] * r_uint(5)) y -= 1 return 42 self.meta_interp(f, [5]) self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_list.py:347: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4ba58ac> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54 bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame! ~~~ return value: 42 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 78 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 100 / 114 blocks (87%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4ba3dcc>; should have be removed [jitcodewriter:info] There are 12 JitCode instances. [jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 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 [c5fd5e13fd6b300] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5e13fdee400] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5e13fdfad80] jit-tco} [c5fd5e13feca000] {jit-tco removed frame Foo.__init__ [c5fd5e13fed6d00] jit-tco} (jitdriver: no get_printable_location) [c5fd5e13ffbfb80] {jit-trace-done trace length: 61 number operations: 11 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5e13ffeba80] jit-trace-done} [c5fd5e140017e00] {jit-log-noopt # Traced loop or bridge with 11 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>)) setfield_gc(p3, p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l')) setarrayitem_gc(p2, 0, p3, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >)) i6 = int_sub(i0, 1) i8 = int_gt(i6, 0) guard_true(i8) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i6, descr=<Loop-1>) [c5fd5e14009b580] jit-log-noopt} [c5fd5e1400aab00] {jit-optimize [c5fd5e1400c4b80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b09e0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e140519980] jit-log-intbounds} [c5fd5e140596000] {jit-log-exported-state [i9] INP(i9 = int_add(i10, -1/ci)) PureOp(i11 = int_gt(i9, 0/ci)) [c5fd5e1405af080] jit-log-exported-state} [c5fd5e1405b9a80] jit-optimize} [c5fd5e1405cfc00] {jit-optimize [c5fd5e1406be800] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b10a2c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5e140c2e380] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-189723028)) [c5fd5e140e4f000] jit-optimize} [c5fd5e140e5c180] {jit-log-short-preamble [] label(i12) jump() [c5fd5e140e70b80] jit-log-short-preamble} [c5fd5e140ea1900] {jit-backend [c5fd5e140eb8980] {jit-log-compiling-loop [i10] label(i10, descr=TargetToken(-189751764)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i10, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0xf4b09e0c>) [i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, descr=TargetToken(-189723028)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i9, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0xf4b10a2c>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i16, descr=TargetToken(-189723028)) [c5fd5e140f0c980] jit-log-compiling-loop} [c5fd5e140f1e100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5e140f2a400] jit-mem-looptoken-alloc} [c5fd5e140f57100] jit-backend} compiled new loop [c5fd5e140f63600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-189751764)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4b09e0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-189723028)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4b10a2c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-189723028)) [c5fd5e140fbfc80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5e1410e4a00] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_simple_array FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_virtual_resize FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_virtual FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_virtual_nonzero FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_unsigned_virtual =============== 5 failed, 21 passed, 1 skipped in 19.23 seconds ================ ++ 10:13:58 starting jit/metainterp/test/test_loop_unroll.py [140 started in total] __ jit/metainterp/test/test_ajit.py [137 done in total, somefailed=True] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 223 items jit/metainterp/test/test_ajit.py .....F...FF...F...F.........FF.FF....................................................................F......F................................................s.............Fs.....FFF...s................F...............s.s... =================================== FAILURES =================================== ____________________________ TestLLtype.test_loop_1 ____________________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf55096ec> def test_loop_1(self): myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'res']) def f(x, y): res = 0 while y > 0: myjitdriver.can_enter_jit(x=x, y=y, res=res) myjitdriver.jit_merge_point(x=x, y=y, res=res) res += x y -= 1 return res res = self.meta_interp(f, [6, 7]) assert res == 42 self.check_trace_count(1) self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2, > 'guard_true': 2, 'int_sub': 2}) jit/metainterp/test/test_ajit.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf552bbcc> insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_sub': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...} E Omitting 3 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 38, 33] -> 38 bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame! ~~~ return value: 42 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5c5b44dc400] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c5b4650b00] {jit-trace-done trace length: 44 number operations: 10 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c5b467f900] jit-trace-done} [c5fd5c5b46c0800] {jit-log-noopt # Traced loop or bridge with 8 ops [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i2, i0) i5 = int_sub(i1, 1) i7 = int_gt(i5, 0) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i5, i3, descr=<Loop-1>) [c5fd5c5b473bc80] jit-log-noopt} [c5fd5c5b474ca80] {jit-optimize [c5fd5c5b4808a00] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i2, i0) # i3 -> (?) IntBound.unbounded() i5 = int_add(i1, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54821cc>) [i0, i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5b4d44400] jit-log-intbounds} [c5fd5c5b4e2d400] {jit-log-exported-state [i8, i9, i10] INP(i9 = int_add(i11, -1/ci)) INP(i10 = int_add(i12, i8)) PureOp(i13 = int_gt(i9, 0/ci)) INP(i8) [c5fd5c5b4e4f700] jit-log-exported-state} [c5fd5c5b4e5a680] jit-optimize} [c5fd5c5b4e70e00] {jit-optimize [c5fd5c5b5062b80] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, i4) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5482b0c>) [i4, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5b56a7900] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i8, i5, descr=TargetToken(-179760468)) [c5fd5c5b58a3400] jit-optimize} [c5fd5c5b58af780] {jit-log-short-preamble [] label(i14, i15, i16) jump() [c5fd5c5b58c4f00] jit-log-short-preamble} [c5fd5c5b5900f80] {jit-backend [c5fd5c5b5917900] {jit-log-compiling-loop [i8, i11, i12] label(i8, i11, i12, descr=TargetToken(-179822452)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i12, i8) i9 = int_add(i11, -1) i13 = int_gt(i9, 0) guard_true(i13, descr=<Guard0xf54821cc>) [i8, i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, i10, descr=TargetToken(-179760468)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i10, i8) i21 = int_add(i9, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0xf5482b0c>) [i8, i21, i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i8, i21, i19, descr=TargetToken(-179760468)) [c5fd5c5b597a180] jit-log-compiling-loop} [c5fd5c5b598ad00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c5b5997000] jit-mem-looptoken-alloc} [c5fd5c5b59c8580] jit-backend} compiled new loop [c5fd5c5b59d4700] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(-179822452)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i2, i0) i5 = int_add(i1, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0xf54821cc>) [i0, i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i5, i3, descr=TargetToken(-179760468)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i3, i0) i10 = int_add(i5, -1) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0xf5482b0c>) [i0, i10, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i10, i8, descr=TargetToken(-179760468)) [c5fd5c5b5a41b00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c5b5ba8900] jit-tracing} _____________________ TestLLtype.test_loop_invariant_mul1 ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf5337cec> def test_loop_invariant_mul1(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x']) def f(x, y): res = 0 while y > 0: myjitdriver.can_enter_jit(x=x, y=y, res=res) myjitdriver.jit_merge_point(x=x, y=y, res=res) res += x * x y -= 1 return res res = self.meta_interp(f, [6, 7]) assert res == 252 self.check_trace_count(1) self.check_simple_loop(int_mul=0) self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2, > 'int_mul': 1, 'guard_true': 2, 'int_sub': 2}) jit/metainterp/test/test_ajit.py:178: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf53524ac> insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'int_mul': 1, ...} expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_mul': 1, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'..._mul': 1, ...} == {'guard_true':..._mul': 1, ...} E Omitting 4 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 42, 37] -> 42 bh: int_return [<BHInterp <JitCode 'f'>>, 252] -> LeaveFrame! ~~~ return value: 252 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5c5e6819e80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c5e69abe00] {jit-trace-done trace length: 49 number operations: 11 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c5e69da200] jit-trace-done} [c5fd5c5e6a1a380] {jit-log-noopt # Traced loop or bridge with 9 ops [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_mul(i2, i2) i4 = int_add(i1, i3) i6 = int_sub(i0, 1) i8 = int_gt(i6, 0) guard_true(i8) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i6, i4, i2, descr=<Loop-1>) [c5fd5c5e6a9f080] jit-log-noopt} [c5fd5c5e6ab0d80] {jit-optimize [c5fd5c5e6adbb00] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_mul(i2, i2) # i3 -> (?) IntBound.unbounded() i4 = int_add(i1, i3) # i4 -> (?) IntBound.unbounded() i6 = int_add(i0, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf507720c>) [i6, i4, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5e7062800] jit-log-intbounds} [c5fd5c5e7142800] {jit-log-exported-state [i9, i10, i11] PureOp(i12 = int_mul(i11, i11)) PureOp(i13 = int_gt(i9, 0/ci)) INP(i9 = int_add(i14, -1/ci)) INP(i10 = int_add(i15, i12)) INP(i11) [c5fd5c5e716a300] jit-log-exported-state} [c5fd5c5e7175e80] jit-optimize} [c5fd5c5e718d380] {jit-optimize [c5fd5c5e73a0d00] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, i4) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf507756c>) [i8, i5, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5e7a9fb00] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i5, i11, i4, descr=TargetToken(-180184820)) [c5fd5c5e7cae100] jit-optimize} [c5fd5c5e7cbaa80] {jit-log-short-preamble [] label(i16, i17, i18) i19 = int_mul(i18, i18) jump(i19) [c5fd5c5e7cd7d80] jit-log-short-preamble} [c5fd5c5e7d11300] {jit-backend [c5fd5c5e7d27100] {jit-log-compiling-loop [i14, i15, i11] label(i14, i15, i11, descr=TargetToken(-179399732)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_mul(i11, i11) i10 = int_add(i15, i12) i9 = int_add(i14, -1) i13 = int_gt(i9, 0) guard_true(i13, descr=<Guard0xf507720c>) [i9, i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, i10, i11, i12, descr=TargetToken(-180184820)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_add(i10, i12) i24 = int_add(i9, -1) i26 = int_gt(i24, 0) guard_true(i26, descr=<Guard0xf507756c>) [i24, i22, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, i22, i11, i12, descr=TargetToken(-180184820)) [c5fd5c5e7d97180] jit-log-compiling-loop} [c5fd5c5e7da9100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c5e7db6200] jit-mem-looptoken-alloc} [c5fd5c5e7df0580] jit-backend} compiled new loop [c5fd5c5e7dfd480] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(-179399732)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_mul(i2, i2) i4 = int_add(i1, i3) i6 = int_add(i0, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf507720c>) [i6, i4, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i6, i4, i2, i3, descr=TargetToken(-180184820)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i4, i3) i11 = int_add(i6, -1) i13 = int_gt(i11, 0) guard_true(i13, descr=<Guard0xf507756c>) [i11, i9, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i11, i9, i2, i3, descr=TargetToken(-180184820)) [c5fd5c5e7e73100] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c5e7fdad00] jit-tracing} ___________________ TestLLtype.test_loop_invariant_mul_ovf1 ____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4e053ec> def test_loop_invariant_mul_ovf1(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x']) def f(x, y): res = 0 while y > 0: myjitdriver.can_enter_jit(x=x, y=y, res=res) myjitdriver.jit_merge_point(x=x, y=y, res=res) b = y * 2 try: res += ovfcheck(x * x) + b except OverflowError: assert 0 y -= 1 return res res = self.meta_interp(f, [6, 7]) assert res == 308 self.check_trace_count(1) self.check_simple_loop(int_mul_ovf=0) self.check_resops({'jump': 1, 'int_lshift': 2, 'int_gt': 2, 'int_mul_ovf': 1, 'int_add': 4, 'guard_true': 2, 'guard_no_overflow': 1, > 'int_sub': 2}) jit/metainterp/test/test_ajit.py:202: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4e9950c> insns = {'guard_no_overflow': 1, 'guard_true': 2, 'int_add': 6, 'int_gt': 2, ...} expected = {'guard_no_overflow': 1, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_no_ov...t_gt': 2, ...} == {'guard_no_ove...t_gt': 2, ...} E Omitting 6 identical items, use -v to show E Differing items: E {'int_add': 6} != {'int_add': 4} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 55, 50] -> 55 bh: int_return [<BHInterp <JitCode 'f'>>, 308] -> LeaveFrame! ~~~ return value: 308 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 10 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 8 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5c5f839df80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c5f85b1380] {jit-trace-done trace length: 62 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 28 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c5f85dff80] jit-trace-done} [c5fd5c5f8621880] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_mul(i0, 2) i5 = int_mul_ovf(i2, i2) guard_no_overflow() i6 = int_add(i5, i4) i7 = int_add(i1, i6) i9 = int_sub(i0, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i9, i7, i2, descr=<Loop-1>) [c5fd5c5f86bcd00] jit-log-noopt} [c5fd5c5f86cd480] {jit-optimize [c5fd5c5f86f9b80] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_lshift(i0, 1) i5 = int_mul_ovf(i2, i2) guard_no_overflow(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4e9db0c>) [i0, i1, i2, i4] # i5: (0 <= 0b0?...?) IntBound.nonnegative() # i4: (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10)) i6 = int_add(i5, i4) # i6 -> (?) IntBound.unbounded() i7 = int_add(i1, i6) # i7 -> (?) IntBound.unbounded() i9 = int_add(i0, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4e9df6c>) [i0, i1, i2, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5f8eee980] jit-log-intbounds} [c5fd5c5f8fcbe00] {jit-log-exported-state [i12, i13, i14] PureOp(i15 = int_mul_ovf(i14, i14)) PureOp(i16 = int_gt(i12, 0/ci)) INP(i13 = int_add(i17, i18)) INP(i14) INP(i12 = int_add(i19, -1/ci)) [c5fd5c5f8fef880] jit-log-exported-state} [c5fd5c5f8ffb000] jit-optimize} [c5fd5c5f9010e00] {jit-optimize [c5fd5c5f9206b00] {jit-log-intbounds [i0, i1, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) i5 = int_lshift(i3, 1) # i6: (0 <= 0b0?...?) IntBound.nonnegative() # i5: (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10)) i7 = int_add(i6, i5) # i7 -> (?) IntBound.unbounded() i9 = int_add(i8, i7) # i9 -> (?) IntBound.unbounded() i11 = int_add(i3, -1) # i11: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i13 = int_gt(i11, 0) guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ea1e0c>) [i11, i9, i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c5f9c90d00] jit-log-intbounds} # i11: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i9, i14, i6, descr=TargetToken(-186001364)) [c5fd5c5f9f81e00] jit-optimize} [c5fd5c5f9f8f480] {jit-log-short-preamble [] label(i20, i21, i22) i23 = int_mul_ovf(i22, i22) guard_no_overflow() i25 = int_ge(i23, 0) guard_true(i25) jump(i23) [c5fd5c5f9fbb800] jit-log-short-preamble} [c5fd5c5fa004d80] {jit-backend [c5fd5c5fa01d000] {jit-log-compiling-loop [i19, i17, i14] label(i19, i17, i14, descr=TargetToken(-186001108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_lshift(i19, 1) i15 = int_mul_ovf(i14, i14) guard_no_overflow(descr=<Guard0xf4e9db0c>) [i19, i17, i14, i27] i18 = int_add(i15, i27) i13 = int_add(i17, i18) i12 = int_add(i19, -1) i16 = int_gt(i12, 0) guard_true(i16, descr=<Guard0xf4e9df6c>) [i19, i17, i14, i27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, i13, i14, i15, descr=TargetToken(-186001364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i31 = int_lshift(i12, 1) i32 = int_add(i15, i31) i33 = int_add(i13, i32) i35 = int_add(i12, -1) i37 = int_gt(i35, 0) guard_true(i37, descr=<Guard0xf4ea1e0c>) [i35, i33, i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i35, i33, i14, i15, descr=TargetToken(-186001364)) [c5fd5c5fa0a8300] jit-log-compiling-loop} [c5fd5c5fa0b9c80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c5fa0c6580] jit-mem-looptoken-alloc} [c5fd5c5fa107800] jit-backend} compiled new loop [c5fd5c5fa117200] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(-186001108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_lshift(i0, 1) i5 = int_mul_ovf(i2, i2) guard_no_overflow(descr=<Guard0xf4e9db0c>) [i0, i1, i2, i4] i6 = int_add(i5, i4) i7 = int_add(i1, i6) i9 = int_add(i0, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0xf4e9df6c>) [i0, i1, i2, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, i7, i2, i5, descr=TargetToken(-186001364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_lshift(i9, 1) i14 = int_add(i5, i13) i15 = int_add(i7, i14) i17 = int_add(i9, -1) i19 = int_gt(i17, 0) guard_true(i19, descr=<Guard0xf4ea1e0c>) [i17, i15, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i17, i15, i2, i5, descr=TargetToken(-186001364)) [c5fd5c5fa1ac500] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c5fa32d100] jit-tracing} ____________ TestLLtype.test_loop_invariant_mul_bridge_maintaining3 ____________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf5306ecc> def test_loop_invariant_mul_bridge_maintaining3(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x', 'm']) def f(x, y, m): res = 0 while y > 0: myjitdriver.can_enter_jit(x=x, y=y, res=res, m=m) myjitdriver.jit_merge_point(x=x, y=y, res=res, m=m) z = x * x res += z if y<m: res += z y -= 1 return res res = self.meta_interp(f, [6, 32, 16]) assert res == 1692 self.check_trace_count(3) self.check_resops({'int_lt': 4, 'int_gt': 4, 'guard_false': 2, 'guard_true': 6, 'int_sub': 4, 'jump': 3, > 'int_mul': 3, 'int_add': 4}) jit/metainterp/test/test_ajit.py:273: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5322e6c> insns = {'guard_false': 2, 'guard_true': 6, 'int_add': 8, 'int_gt': 4, ...} expected = {'guard_false': 2, 'guard_true': 6, 'int_add': 4, 'int_gt': 4, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_false...t_gt': 4, ...} == {'guard_false'...t_gt': 4, ...} E Omitting 6 identical items, use -v to show E Differing items: E {'int_add': 8} != {'int_add': 4} E Right contains more items: E {'int_sub': 4} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_lt [15, 16, 57, 34] -> 34 bh: int_add [648, 36] -> 684 bh: int_sub [15, 1] -> 14 bh: live [43] -> 45 bh: goto_if_not_int_gt [14, 0, 55, 50] -> 50 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [14, 684, 6, 16], [], []] -> ContinueRunningNormally! bh: goto_if_not_int_lt [13, 16, 57, 34] -> 34 bh: int_add [792, 36] -> 828 bh: int_sub [13, 1] -> 12 bh: live [43] -> 45 bh: goto_if_not_int_gt [12, 0, 55, 50] -> 50 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [12, 828, 6, 16], [], []] -> ContinueRunningNormally! bh: goto_if_not_int_lt [1, 16, 57, 34] -> 34 bh: int_add [1656, 36] -> 1692 bh: int_sub [1, 1] -> 0 bh: live [43] -> 45 bh: goto_if_not_int_gt [0, 0, 55, 50] -> 55 bh: int_return [<BHInterp <JitCode 'f'>>, 1692] -> LeaveFrame! ~~~ return value: 1692 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 8 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5c621823180] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c621b71100] {jit-trace-done trace length: 60 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 34 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c621bb6800] jit-trace-done} [c5fd5c621c31380] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, i1, i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_mul(i2, i2) i5 = int_add(i1, i4) i6 = int_lt(i0, i3) guard_false(i6) i8 = int_sub(i0, 1) i10 = int_gt(i8, 0) guard_true(i10) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i8, i5, i2, i3, descr=<Loop-1>) [c5fd5c621d53600] jit-log-noopt} [c5fd5c621d74d00] {jit-optimize [c5fd5c621dd4000] {jit-log-intbounds [i0, i1, i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_mul(i2, i2) # i4 -> (?) IntBound.unbounded() i5 = int_add(i1, i4) # i5 -> (?) IntBound.unbounded() i6 = int_lt(i0, i3) guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf528d38c>) [i0, i5, i2, i3, i4] i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf528d8ac>) [i0, i5, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6226f0880] jit-log-intbounds} [c5fd5c6227fe900] {jit-log-exported-state [i11, i12, i13, i14] PureOp(i15 = int_mul(i13, i13)) INP(i12 = int_add(i16, i15)) INP(i11 = int_add(i17, -1/ci)) PureOp(i18 = int_gt(i11, 0/ci)) INP(i13) INP(i14) [c5fd5c622827780] jit-log-exported-state} [c5fd5c622833e80] jit-optimize} [c5fd5c62284bd80] {jit-optimize [c5fd5c622aa2580] {jit-log-intbounds [i0, i1, i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i4, i5) # i6 -> (?) IntBound.unbounded() # i7: (1 <= 0b0?...?) IntBound(1, MAXINT) i9 = int_lt(i7, i8) guard_false(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529222c>) [i7, i6, i10, i8, i5] i12 = int_add(i7, -1) # i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i14 = int_gt(i12, 0) guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf52921ac>) [i7, i6, i10, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6232c5580] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, i6, i10, i8, i5, descr=TargetToken(-181852148)) [c5fd5c62354f200] jit-optimize} [c5fd5c62355c100] {jit-log-short-preamble [] label(i19, i20, i21, i22) i23 = int_mul(i21, i21) jump(i23) [c5fd5c623578080] jit-log-short-preamble} [c5fd5c6235ca100] {jit-backend [c5fd5c6235e1a00] {jit-log-compiling-loop [i17, i16, i13, i14] label(i17, i16, i13, i14, descr=TargetToken(-181873364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i15 = int_mul(i13, i13) i12 = int_add(i16, i15) i24 = int_lt(i17, i14) guard_false(i24, descr=<Guard0xf528d38c>) [i17, i12, i13, i14, i15] i11 = int_add(i17, -1) i18 = int_gt(i11, 0) guard_true(i18, descr=<Guard0xf528d8ac>) [i17, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i11, i12, i13, i14, i15, descr=TargetToken(-181852148)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_add(i12, i15) i28 = int_lt(i11, i14) guard_false(i28, descr=<Guard0xf529222c>) [i11, i27, i13, i14, i15] i30 = int_add(i11, -1) i32 = int_gt(i30, 0) guard_true(i32, descr=<Guard0xf52921ac>) [i11, i27, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i30, i27, i13, i14, i15, descr=TargetToken(-181852148)) [c5fd5c623669000] jit-log-compiling-loop} [c5fd5c62367b300] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c623687600] jit-mem-looptoken-alloc} [c5fd5c6236ff600] jit-backend} compiled new loop [c5fd5c623711180] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 20 ops [i0, i1, i2, i3] label(i0, i1, i2, i3, descr=TargetToken(-181873364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_mul(i2, i2) i5 = int_add(i1, i4) i6 = int_lt(i0, i3) guard_false(i6, descr=<Guard0xf528d38c>) [i0, i5, i2, i3, i4] i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf528d8ac>) [i0, i5, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i5, i2, i3, i4, descr=TargetToken(-181852148)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i11 = int_add(i5, i4) i12 = int_lt(i8, i3) guard_false(i12, descr=<Guard0xf529222c>) [i8, i11, i2, i3, i4] i14 = int_add(i8, -1) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf52921ac>) [i8, i11, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, i11, i2, i3, i4, descr=TargetToken(-181852148)) [c5fd5c6237a9e80] jit-log-opt-loop} ContinueRunningNormally [c5fd5c623a54c80] jit-tracing} [c5fd5c623d04880] {jit-tracing (jitdriver: no get_printable_location) [c5fd5c623f94280] {jit-trace-done trace length: 60 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 34 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5c623fc1500] jit-trace-done} [c5fd5c623fd7680] {jit-log-noopt # Traced loop or bridge with 9 ops [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5) i6 = int_add(i1, i4) i8 = int_sub(i0, 1) i10 = int_gt(i8, 0) guard_true(i10) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i8, i6, i2, i3, descr=<Loop1>) [c5fd5c624061180] jit-log-noopt} [c5fd5c624070a00] {jit-optimize [c5fd5c62413e700] {jit-log-intbounds [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529602c>) [i0, i1, i2, i3, i4] i6 = int_add(i1, i4) # i6 -> (?) IntBound.unbounded() # i0: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1) i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf529650c>) [i0, i1, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c62479f780] jit-log-intbounds} i11 = int_mul(i2, i2) # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i6, i2, i3, i11, descr=TargetToken(-181852148)) [c5fd5c624954800] jit-optimize} [c5fd5c624971500] {jit-backend [c5fd5c62497ca80] {jit-log-compiling-bridge [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c6249c5680] jit-log-compiling-bridge} [c5fd5c6249d7400] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd5c6249e6000] jit-mem-looptoken-alloc} [c5fd5c624a0cd00] jit-backend} compiled new bridge [c5fd5c624a1a800] {jit-log-opt-bridge # bridge out of Guard 0xf528d38c with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c624a66280] jit-log-opt-bridge} [c5fd5c624a70c80] {jit-log-opt-bridge # bridge out of Guard 0xf528d38c with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c624abc200] jit-log-opt-bridge} [c5fd5c624b4d400] {jit-tracing (jitdriver: no get_printable_location) [c5fd5c624dece00] {jit-trace-done trace length: 60 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 34 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5c624e1a100] jit-trace-done} [c5fd5c624e2fc80] {jit-log-noopt # Traced loop or bridge with 9 ops [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5) i6 = int_add(i1, i4) i8 = int_sub(i0, 1) i10 = int_gt(i8, 0) guard_true(i10) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i8, i6, i2, i3, descr=<Loop1>) [c5fd5c624ebc680] jit-log-noopt} [c5fd5c624ecbc80] {jit-optimize [c5fd5c624f8fd80] {jit-log-intbounds [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529a46c>) [i0, i1, i2, i3, i4] i6 = int_add(i1, i4) # i6 -> (?) IntBound.unbounded() # i0: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1) i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf529a8cc>) [i0, i1, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6255f3980] jit-log-intbounds} i11 = int_mul(i2, i2) # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i6, i2, i3, i11, descr=TargetToken(-181852148)) [c5fd5c6257a7000] jit-optimize} [c5fd5c6257c3b00] {jit-backend [c5fd5c6257cec80] {jit-log-compiling-bridge [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c625819000] jit-log-compiling-bridge} [c5fd5c62582b300] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 1 [c5fd5c625839e00] jit-mem-looptoken-alloc} [c5fd5c625861880] jit-backend} compiled new bridge [c5fd5c62586f300] {jit-log-opt-bridge # bridge out of Guard 0xf529222c with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c6258b9100] jit-log-opt-bridge} [c5fd5c6258c3700] {jit-log-opt-bridge # bridge out of Guard 0xf529222c with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i22 = int_mul(i13, i13) jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148)) [c5fd5c62590eb80] jit-log-opt-bridge} DoneWithThisFrameInt [c5fd5c625b78a80] jit-tracing} DoneWithThisFrameInt [c5fd5c625ba9000] jit-tracing} ____________________ TestLLtype.test_loop_invariant_intbox _____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf51a318c> def test_loop_invariant_intbox(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x']) class I: __slots__ = 'intval' _immutable_ = True def __init__(self, intval): self.intval = intval def f(i, y): res = 0 x = I(i) while y > 0: myjitdriver.can_enter_jit(x=x, y=y, res=res) myjitdriver.jit_merge_point(x=x, y=y, res=res) res += x.intval * x.intval y -= 1 return res res = self.meta_interp(f, [6, 7]) assert res == 252 self.check_trace_count(1) self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2, 'getfield_gc_i': 1, 'int_mul': 1, > 'guard_true': 2, 'int_sub': 2}) jit/metainterp/test/test_ajit.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf51abbec> insns = {'getfield_gc_i': 1, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...} expected = {'getfield_gc_i': 1, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'getfield_gc...t_gt': 2, ...} == {'getfield_gc_...t_gt': 2, ...} E Omitting 5 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 52, 47] -> 52 bh: int_return [<BHInterp <JitCode 'f'>>, 252] -> LeaveFrame! ~~~ return value: 252 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more 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] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5c674dae500] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c674f85c00] {jit-trace-done trace length: 54 number operations: 12 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c674fb5600] jit-trace-done} [c5fd5c674ff5d00] {jit-log-noopt # Traced loop or bridge with 10 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i4 = int_mul(i3, i3) i5 = int_add(i1, i4) i7 = int_sub(i0, 1) i9 = int_gt(i7, 0) guard_true(i9) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i7, i5, p2, descr=<Loop-1>) [c5fd5c675092500] jit-log-noopt} [c5fd5c6750a3280] {jit-optimize [c5fd5c6750cdc00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i4 = int_mul(i3, i3) # i4 -> (?) IntBound.unbounded() i5 = int_add(i1, i4) # i5 -> (?) IntBound.unbounded() i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf515a7ac>) [i7, i5, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6756cab80] jit-log-intbounds} [c5fd5c675798080] {jit-log-exported-state [i10, i11, r12] PureOp(i13 = int_gt(i10, 0/ci)) INP(r12) HeapOp(i14 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')), i15 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))) PureOp(i16 = int_mul(i14, i14)) INP(i11 = int_add(i17, i16)) INP(i10 = int_add(i18, -1/ci)) [c5fd5c6757c7280] jit-log-exported-state} [c5fd5c6757d2e00] jit-optimize} [c5fd5c6757ea700] {jit-optimize [c5fd5c675972880] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, i4) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf516136c>) [i8, i5, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c676180680] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i5, p11, i4, descr=TargetToken(-183100564)) [c5fd5c6763b9800] jit-optimize} [c5fd5c6763c6d00] {jit-log-short-preamble [] label(i19, i20, p21) guard_nonnull(p21) guard_is_object(p21) guard_subclass(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.I_vtable { super=... }>) i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i24 = int_mul(i23, i23) jump(i24) [c5fd5c6763fbc80] jit-log-short-preamble} [c5fd5c67643a480] {jit-backend [c5fd5c676451600] {jit-log-compiling-loop [i18, i17, p12] label(i18, i17, p12, descr=TargetToken(-183149652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i14 = getfield_gc_i(p12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i16 = int_mul(i14, i14) i11 = int_add(i17, i16) i10 = int_add(i18, -1) i13 = int_gt(i10, 0) guard_true(i13, descr=<Guard0xf515a7ac>) [i10, i11, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, p12, i16, descr=TargetToken(-183100564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_add(i11, i16) i29 = int_add(i10, -1) i31 = int_gt(i29, 0) guard_true(i31, descr=<Guard0xf516136c>) [i29, i27, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i29, i27, p12, i16, descr=TargetToken(-183100564)) [c5fd5c6764c5f00] jit-log-compiling-loop} [c5fd5c6764d7c80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c6764e4780] jit-mem-looptoken-alloc} [c5fd5c67651f880] jit-backend} compiled new loop [c5fd5c67652ca00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-183149652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i4 = int_mul(i3, i3) i5 = int_add(i1, i4) i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0xf515a7ac>) [i7, i5, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, i5, p2, i4, descr=TargetToken(-183100564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i5, i4) i12 = int_add(i7, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0xf516136c>) [i12, i10, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, i10, p2, i4, descr=TargetToken(-183100564)) [c5fd5c6765abe80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c67672e280] jit-tracing} ___________________ TestLLtype.test_constfold_call_elidable ____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4b61bec> def test_constfold_call_elidable(self): myjitdriver = JitDriver(greens = ['m'], reds = ['n']) @elidable def externfn(x): return x - 3 def f(n, m): while n > 0: myjitdriver.can_enter_jit(n=n, m=m) myjitdriver.jit_merge_point(n=n, m=m) n -= externfn(m) return n res = self.meta_interp(f, [21, 5]) assert res == -1 # the CALL_PURE is constant-folded away by optimizeopt.py > self.check_resops(call_pure_i=0, call_i=0, int_sub=2) jit/metainterp/test/test_ajit.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4a7e72c> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 0 'int_sub', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-1, 0, 46, 41] -> 46 bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame! ~~~ return value: -1 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 4 bytes [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 [c5fd5c6d7f69b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c6d80bfc00] {jit-trace-done trace length: 41 number operations: 7 total snapshots: 2 snapshot data: 24 snapshot array data: 14 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c6d80eda80] jit-trace-done} [c5fd5c6d8127480] {jit-log-noopt # Traced loop or bridge with 7 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_sub(i0, 2) i4 = int_gt(i2, 0) guard_true(i4) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i2, descr=<Loop-1>) [c5fd5c6d8185a00] jit-log-noopt} [c5fd5c6d8197900] {jit-optimize [c5fd5c6d81b2e80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4aa8d8c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6d85f0180] jit-log-intbounds} [c5fd5c6d866d380] {jit-log-exported-state [i5] PureOp(i6 = int_gt(i5, 0/ci)) INP(i5 = int_add(i7, -2/ci)) [c5fd5c6d8685680] jit-log-exported-state} [c5fd5c6d868fc80] jit-optimize} [c5fd5c6d86a6b80] {jit-optimize [c5fd5c6d87b4c00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -2) # i3: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4aa8c8c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6d8d77000] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-190130548)) [c5fd5c6d8ea0980] jit-optimize} [c5fd5c6d8ead900] {jit-log-short-preamble [] label(i8) jump() [c5fd5c6d8ec1f00] jit-log-short-preamble} [c5fd5c6d8ef2e00] {jit-backend [c5fd5c6d8f0bc80] {jit-log-compiling-loop [i7] label(i7, descr=TargetToken(-190148852)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i7, -2) i6 = int_gt(i5, 0) guard_true(i6, descr=<Guard0xf4aa8d8c>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(-190130548)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -2) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0xf4aa8c8c>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(-190130548)) [c5fd5c6d8f5eb00] jit-log-compiling-loop} [c5fd5c6d8f70000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c6d8f7c380] jit-mem-looptoken-alloc} [c5fd5c6d8fa6f00] jit-backend} compiled new loop [c5fd5c6d8fb3400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-190148852)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4aa8d8c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-190130548)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -2) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4aa8c8c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-190130548)) [c5fd5c6d9010080] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c6d9187e00] jit-tracing} __________________ TestLLtype.test_constfold_call_elidable_2 ___________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4a8cc8c> def test_constfold_call_elidable_2(self): myjitdriver = JitDriver(greens = ['m'], reds = ['n']) @elidable def externfn(x): return x - 3 class V: def __init__(self, value): self.value = value def f(n, m): while n > 0: myjitdriver.can_enter_jit(n=n, m=m) myjitdriver.jit_merge_point(n=n, m=m) v = V(m) n -= externfn(v.value) return n res = self.meta_interp(f, [21, 5]) assert res == -1 # the CALL_PURE is constant-folded away by optimizeopt.py > self.check_resops(call_pure_i=0, call_i=0, int_sub=2) jit/metainterp/test/test_ajit.py:519: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4679eac> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 0 'int_sub', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-1, 0, 65, 60] -> 65 bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame! ~~~ return value: -1 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 10 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 5 -live- ops. Size of liveness is 9 bytes [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 [c5fd5c6ea813280] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c6eaa25080] {jit-trace-done trace length: 51 number operations: 9 total snapshots: 2 snapshot data: 24 snapshot array data: 14 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c6eaa53d00] jit-trace-done} [c5fd5c6eaa8a800] {jit-log-noopt # Traced loop or bridge with 9 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.V { super, inst_value }>)) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.V { super, inst_value }>, 'inst_value')) i4 = int_sub(i0, 2) i6 = int_gt(i4, 0) guard_true(i6) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i4, descr=<Loop-1>) [c5fd5c6eab03f00] jit-log-noopt} [c5fd5c6eab16200] {jit-optimize [c5fd5c6eab32900] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46a154c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6eafb3c80] jit-log-intbounds} [c5fd5c6eb033f80] {jit-log-exported-state [i7] PureOp(i8 = int_gt(i7, 0/ci)) INP(i7 = int_add(i9, -2/ci)) [c5fd5c6eb04e100] jit-log-exported-state} [c5fd5c6eb059100] jit-optimize} [c5fd5c6eb071b80] {jit-optimize [c5fd5c6eb169600] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -2) # i3: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46a1dac>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c6eb754080] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-194350100)) [c5fd5c6eb893080] jit-optimize} [c5fd5c6eb8a0500] {jit-log-short-preamble [] label(i10) jump() [c5fd5c6eb8b5b00] jit-log-short-preamble} [c5fd5c6eb8e7400] {jit-backend [c5fd5c6eb900800] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(-194373940)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i9, -2) i8 = int_gt(i7, 0) guard_true(i8, descr=<Guard0xf46a154c>) [i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, descr=TargetToken(-194350100)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i14 = int_add(i7, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf46a1dac>) [i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, descr=TargetToken(-194350100)) [c5fd5c6eb955580] jit-log-compiling-loop} [c5fd5c6eb966d00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c6eb973800] jit-mem-looptoken-alloc} [c5fd5c6eb9a0500] jit-backend} compiled new loop [c5fd5c6eb9ace00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-194373940)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf46a154c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-194350100)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -2) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf46a1dac>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-194350100)) [c5fd5c6eba0ee80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c6ebb8ba80] jit-tracing} _______________________ TestLLtype.test_elidable_raising _______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf46db88c> def test_elidable_raising(self): myjitdriver = JitDriver(greens = ['m'], reds = ['n']) @elidable def externfn(x): if x <= 0: raise ValueError return x - 1 def f(n, m): while n > 0: myjitdriver.can_enter_jit(n=n, m=m) myjitdriver.jit_merge_point(n=n, m=m) try: n -= externfn(m) except ValueError: n -= 1 return n res = self.meta_interp(f, [22, 6]) assert res == -3 # the CALL_PURE is constant-folded away during tracing > self.check_resops(call_pure_i=0, call_i=0, int_sub=2) jit/metainterp/test/test_ajit.py:566: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf46f4eac> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 0 'int_sub', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-3, 0, 52, 47] -> 52 bh: int_return [<BHInterp <JitCode 'f'>>, -3] -> LeaveFrame! ~~~ return value: -3 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 14 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 5 -live- ops. Size of liveness is 8 bytes [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 [c5fd5c700219100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c70038b880] {jit-trace-done trace length: 41 number operations: 7 total snapshots: 2 snapshot data: 24 snapshot array data: 14 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c7003ba480] jit-trace-done} [c5fd5c7003f2500] {jit-log-noopt # Traced loop or bridge with 7 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_sub(i0, 5) i4 = int_gt(i2, 0) guard_true(i4) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i2, descr=<Loop-1>) [c5fd5c700455700] jit-log-noopt} [c5fd5c700466080] {jit-optimize [c5fd5c700482200] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46102cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c7009b7a00] jit-log-intbounds} [c5fd5c700a3a980] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -5/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd5c700a53a00] jit-log-exported-state} [c5fd5c700a5e780] jit-optimize} [c5fd5c700a75a80] {jit-optimize [c5fd5c700b6f700] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -5) # i3: (-4 <= ? <= MAXINT - 5) IntBound(-4, MAXINT - 5) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45fb12c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c70113f180] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-194243604)) [c5fd5c701277d80] jit-optimize} [c5fd5c701284900] {jit-log-short-preamble [] label(i8) jump() [c5fd5c701299080] jit-log-short-preamble} [c5fd5c7012c9080] {jit-backend [c5fd5c7012e1e80] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(-194209652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -5) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0xf46102cc>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(-194243604)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -5) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0xf45fb12c>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(-194243604)) [c5fd5c701335b00] jit-log-compiling-loop} [c5fd5c701346c00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c701352f00] jit-mem-looptoken-alloc} [c5fd5c70137e100] jit-backend} compiled new loop [c5fd5c70138ba00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-194209652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf46102cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-194243604)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -5) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf45fb12c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-194243604)) [c5fd5c7013e8e00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c7014d3f80] jit-tracing} ______________________ TestLLtype.test_elidable_raising_2 ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf465c5cc> def test_elidable_raising_2(self): myjitdriver = JitDriver(greens = ['m'], reds = ['n']) @elidable def externfn(x): if x <= 0: raise ValueError return x - 1 def f(n, m): while n > 0: myjitdriver.can_enter_jit(n=n, m=m) myjitdriver.jit_merge_point(n=n, m=m) try: n -= externfn(noConst(m)) except ValueError: n -= 1 return n res = self.meta_interp(f, [22, 6]) assert res == -3 # the CALL_PURE is constant-folded away by optimizeopt.py > self.check_resops(call_pure_i=0, call_i=0, int_sub=2) jit/metainterp/test/test_ajit.py:592: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4559cec> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 0 'int_sub', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [-3, 0, 65, 60] -> 65 bh: int_return [<BHInterp <JitCode 'f'>>, -3] -> LeaveFrame! ~~~ return value: -3 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 17 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes [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 [c5fd5c712de5d80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5c712fbab00] {jit-trace-done trace length: 56 number operations: 10 total snapshots: 3 snapshot data: 36 snapshot array data: 22 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5c712fe7a00] jit-trace-done} [c5fd5c71301c600] {jit-log-noopt # Traced loop or bridge with 10 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = same_as_i(6) i4 = call_pure_i(ConstClass(externfn), i2, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf46c54ec: EF=4>)) guard_no_exception() i5 = int_sub(i0, i4) i7 = int_gt(i5, 0) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i5, descr=<Loop-1>) [c5fd5c713099000] jit-log-noopt} [c5fd5c7130a9000] {jit-optimize [c5fd5c7130c4380] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45c482c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c713535480] jit-log-intbounds} [c5fd5c7135b0580] {jit-log-exported-state [i8] INP(i8 = int_add(i9, -5/ci)) PureOp(i10 = int_gt(i8, 0/ci)) [c5fd5c7135c8280] jit-log-exported-state} [c5fd5c7135d2480] jit-optimize} [c5fd5c7135e7e00] {jit-optimize [c5fd5c7136d6680] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -5) # i3: (-4 <= ? <= MAXINT - 5) IntBound(-4, MAXINT - 5) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45c43ec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5c713ca4600] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-195251412)) [c5fd5c713ddae80] jit-optimize} [c5fd5c713de7f80] {jit-log-short-preamble [] label(i11) jump() [c5fd5c713dfcf80] jit-log-short-preamble} [c5fd5c713e2e480] {jit-backend [c5fd5c713e47900] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(-195278420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i9, -5) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf45c482c>) [i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, descr=TargetToken(-195251412)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i15 = int_add(i8, -5) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0xf45c43ec>) [i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, descr=TargetToken(-195251412)) [c5fd5c713e9ed80] jit-log-compiling-loop} [c5fd5c713eb0300] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5c713ebce00] jit-mem-looptoken-alloc} [c5fd5c713ee9500] jit-backend} compiled new loop [c5fd5c713ef5e00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-195278420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf45c482c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-195251412)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -5) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf45c43ec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-195251412)) [c5fd5c713f56100] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5c714041100] jit-tracing} ________________ TestLLtype.test_multiple_specialied_versions1 _________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf2481e0c> def test_multiple_specialied_versions1(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'x', 'res']) class Base: def __init__(self, val): self.val = val class A(Base): def binop(self, other): return A(self.val + other.val) class B(Base): def binop(self, other): return B(self.val * other.val) def f(x, y): res = x while y > 0: myjitdriver.can_enter_jit(y=y, x=x, res=res) myjitdriver.jit_merge_point(y=y, x=x, res=res) res = res.binop(x) y -= 1 return res def g(x, y): a1 = f(A(x), y) a2 = f(A(x), y) b1 = f(B(x), y) b2 = f(B(x), y) assert a1.val == a2.val assert b1.val == b2.val return a1.val + b1.val res = self.meta_interp(g, [6, 7]) assert res == 6*8 + 6**8 self.check_trace_count(4) self.check_resops({'guard_class': 2, 'int_gt': 4, 'getfield_gc_i': 4, 'guard_true': 4, 'int_sub': 4, 'jump': 2, 'int_mul': 2, > 'int_add': 2}) jit/metainterp/test/test_ajit.py:1984: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf242f4ec> insns = {'getfield_gc_i': 4, 'guard_class': 2, 'guard_true': 4, 'int_add': 6, ...} expected = {'getfield_gc_i': 4, 'guard_class': 2, 'guard_true': 4, 'int_add': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'getfield_gc..._add': 6, ...} == {'getfield_gc_..._add': 2, ...} E Omitting 6 identical items, use -v to show E Differing items: E {'int_add': 6} != {'int_add': 2} E Right contains more items: E {'int_sub': 4} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58 bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame! bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop }>, 'cls_binop')] -> <AddressAsInt * fn B.binop> bh: live [26] -> 28 bh: int_guard_value [<AddressAsInt * fn B.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf2448b2c: EF=5>)] -> * GCREF hidden bh: live [39] -> 41 bh: int_sub [7, 1] -> 6 bh: live [46] -> 48 bh: goto_if_not_int_gt [6, 0, 58, 53] -> 53 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [6], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally! bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58 bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame! ~~~ return value: 1679664 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 21 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 7 -live- ops. Size of liveness is 14 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 1 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 1 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5cb41bfd980] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5cb41ee3a80] {jit-trace-done trace length: 71 number operations: 15 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5cb41f14000] jit-trace-done} [c5fd5cb41f53580] {jit-log-noopt # Traced loop or bridge with 13 ops [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_add(i4, i5) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i9 = int_sub(i0, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i9, p1, p7, descr=<Loop-1>) [c5fd5cb41ffe000] jit-log-noopt} [c5fd5cb4200e600] {jit-optimize [c5fd5cb42038600] {jit-log-intbounds [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23daf4c>) [i0, p1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_add(i4, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf23e25cc>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cb42624580] jit-log-intbounds} [c5fd5cb42712400] {jit-log-exported-state [i12, r13, r14] INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))) INP(r13) HeapOp(i15 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i16 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(i12 = int_add(i17, -1/ci)) PureOp(i18 = int_gt(i12, 0/ci)) INP(i19 = int_add(i20, i15)) [c5fd5cb42741080] jit-log-exported-state} [c5fd5cb4274d380] jit-optimize} [c5fd5cb42765a00] {jit-optimize [c5fd5cb428fbc00] {jit-log-intbounds [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, i4) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23e706c>) [i8, p11, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cb43098000] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i5, i4, descr=TargetToken(-230786964)) [c5fd5cb432f6580] jit-optimize} [c5fd5cb43304200] {jit-log-short-preamble [] label(i21, p22, i23, p24) guard_nonnull(p22) guard_is_object(p22) guard_subclass(p22, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=... }>) i26 = getfield_gc_i(p22, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) jump(i26) [c5fd5cb43334b80] jit-log-short-preamble} [c5fd5cb43379900] {jit-backend [c5fd5cb43391000] {jit-log-compiling-loop [i17, p13, p27] label(i17, p13, p27, descr=TargetToken(-230838324)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf23daf4c>) [i17, p13, p27] i20 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i19 = int_add(i20, i15) i12 = int_add(i17, -1) i18 = int_gt(i12, 0) guard_true(i18, descr=<Guard0xf23e25cc>) [i17, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i19, i15, descr=TargetToken(-230786964)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i31 = int_add(i19, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf23e706c>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(-230786964)) [c5fd5cb43412c00] jit-log-compiling-loop} [c5fd5cb43424d00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5cb43431a80] jit-mem-looptoken-alloc} [c5fd5cb43471400] jit-backend} compiled new loop [c5fd5cb4347e080] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 18 ops [i0, p1, p2] label(i0, p1, p2, descr=TargetToken(-230838324)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf23daf4c>) [i0, p1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_add(i4, i5) i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf23e25cc>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, p1, i6, i5, descr=TargetToken(-230786964)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i11 = int_add(i6, i5) i13 = int_add(i8, -1) i15 = int_gt(i13, 0) guard_true(i15, descr=<Guard0xf23e706c>) [i13, p1, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i13, p1, i11, i5, descr=TargetToken(-230786964)) [c5fd5cb43507600] jit-log-opt-loop} DoneWithThisFrameRef [c5fd5cb4371d500] jit-tracing} [c5fd5cb43908e00] {jit-tracing [c5fd5cb43afc080] {jit-trace-done trace length: 33 number operations: 9 total snapshots: 1 snapshot data: 12 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cb43b2d380] jit-trace-done} [c5fd5cb43b42180] {jit-log-noopt # Traced loop or bridge with 6 ops [i0, p1, i2] p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p3, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_gt(i0, 0) guard_false(i5) leave_portal_frame(0) finish(p3, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb43ba2e80] jit-log-noopt} [c5fd5cb43bb2a80] {jit-optimize [c5fd5cb43c5de80] {jit-log-intbounds [i0, p1, i2] i4 = int_gt(i0, 0) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23eb7ec>) [i0, p1, i2] leave_portal_frame(0) p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p6, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p6, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb43fb8700] jit-log-intbounds} [c5fd5cb43fc2700] jit-optimize} [c5fd5cb43fd8480] {jit-backend [c5fd5cb43fe3480] {jit-log-compiling-bridge [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb44013400] jit-log-compiling-bridge} [c5fd5cb44023a00] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd5cb44032400] jit-mem-looptoken-alloc} [c5fd5cb44050480] jit-backend} compiled new bridge [c5fd5cb4405db80] {jit-log-opt-bridge # bridge out of Guard 0xf23e706c with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb44091d80] jit-log-opt-bridge} [c5fd5cb4409c180] {jit-log-opt-bridge # bridge out of Guard 0xf23e706c with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb440cf580] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5cb440e0980] jit-tracing} [c5fd5cb445b0880] {jit-tracing (jitdriver: no get_printable_location) [c5fd5cb448f3f80] {jit-trace-done trace length: 73 number operations: 15 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cb44925a80] jit-trace-done} [c5fd5cb4493c780] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_mul(i4, i5) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i9 = int_sub(i0, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i9, p1, p7, descr=<Loop1>) [c5fd5cb449dbc80] jit-log-noopt} [c5fd5cb449ebc00] {jit-optimize [c5fd5cb44a9d800] {jit-log-intbounds [i0, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23ee4cc>) [i0, p1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_mul(i4, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf23eeb0c>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cb44ff1c00] jit-log-intbounds} Retracing (1/5) [c5fd5cb4518da00] {jit-log-exported-state [i12, r13, r14] INP(r13) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) HeapOp(i15 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i16 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(i17 = int_mul(i18, i15)) INP(i12 = int_add(i19, -1/ci)) PureOp(i20 = int_gt(i12, 0/ci)) [c5fd5cb451bb080] jit-log-exported-state} [c5fd5cb451c7400] jit-optimize} (jitdriver: no get_printable_location) [c5fd5cb4542eb80] {jit-trace-done trace length: 121 number operations: 25 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cb4545fa80] jit-trace-done} [c5fd5cb454a6400] {jit-optimize [c5fd5cb4562a880] {jit-log-intbounds [i0, p1, p2] i5 = int_mul(i3, i4) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23f3d0c>) [i8, p11, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cb45d12380] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i5, i4, descr=TargetToken(-230718708)) [c5fd5cb45f9ba80] jit-optimize} [c5fd5cb45fa5c80] {jit-log-short-preamble [] label(i21, p22, i23, p24) guard_nonnull(p22) guard_is_object(p22) guard_subclass(p22, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=... }>) i26 = getfield_gc_i(p22, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) jump(i26) [c5fd5cb45fd9c80] jit-log-short-preamble} [c5fd5cb45ffd880] {jit-backend [c5fd5cb46008a80] {jit-log-compiling-bridge [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27] i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_mul(i18, i15) i12 = int_add(i19, -1) i20 = int_gt(i12, 0) guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(-230718708)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(-230718708)) [c5fd5cb46073b80] jit-log-compiling-bridge} [c5fd5cb46086000] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 1 [c5fd5cb46094b00] jit-mem-looptoken-alloc} [c5fd5cb460cbb80] jit-backend} compiled new bridge [c5fd5cb460dc700] {jit-log-opt-bridge # bridge out of Guard 0xf23daf4c with 15 ops [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27] i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_mul(i18, i15) i12 = int_add(i19, -1) i20 = int_gt(i12, 0) guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(-230718708)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(-230718708)) [c5fd5cb46150100] jit-log-opt-bridge} [c5fd5cb4615ac80] {jit-log-opt-bridge # bridge out of Guard 0xf23daf4c with 15 ops [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27] i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_mul(i18, i15) i12 = int_add(i19, -1) i20 = int_gt(i12, 0) guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(-230718708)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(-230718708)) [c5fd5cb461c8e80] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5cb463da900] jit-tracing} [c5fd5cb465bca00] {jit-tracing [c5fd5cb4679d100] {jit-trace-done trace length: 33 number operations: 9 total snapshots: 1 snapshot data: 12 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cb467cbf80] jit-trace-done} [c5fd5cb467e1d00] {jit-log-noopt # Traced loop or bridge with 6 ops [i0, p1, i2] p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p3, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_gt(i0, 0) guard_false(i5) leave_portal_frame(0) finish(p3, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb46843380] jit-log-noopt} [c5fd5cb46852d80] {jit-optimize [c5fd5cb468fe600] {jit-log-intbounds [i0, p1, i2] i4 = int_gt(i0, 0) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23f8a2c>) [i0, p1, i2] leave_portal_frame(0) p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p6, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p6, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb46c42480] jit-log-intbounds} [c5fd5cb46c4c680] jit-optimize} [c5fd5cb46c63000] {jit-backend [c5fd5cb46c6e380] {jit-log-compiling-bridge [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb46c9eb00] jit-log-compiling-bridge} [c5fd5cb46cb0480] {jit-mem-looptoken-alloc allocating Bridge # 3 of Loop # 1 [c5fd5cb46cbf100] jit-mem-looptoken-alloc} [c5fd5cb46cdd700] jit-backend} compiled new bridge [c5fd5cb46ceae00] {jit-log-opt-bridge # bridge out of Guard 0xf23f3d0c with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb46d20780] jit-log-opt-bridge} [c5fd5cb46d2d600] {jit-log-opt-bridge # bridge out of Guard 0xf23f3d0c with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9] leave_portal_frame(0) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>) [c5fd5cb46d61680] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5cb46d73980] jit-tracing} __________________ TestLLtype.test_multiple_specialied_zigzag __________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf224578c> def test_multiple_specialied_zigzag(self): myjitdriver = JitDriver(greens = [], reds = ['y', 'x', 'res']) class Base: def __init__(self, val): self.val = val class A(Base): def binop(self, other): return A(self.val + other.val) def switch(self): return B(self.val) class B(Base): def binop(self, other): return B(self.val * other.val) def switch(self): return A(self.val) def f(x, y): res = x while y > 0: myjitdriver.can_enter_jit(y=y, x=x, res=res) myjitdriver.jit_merge_point(y=y, x=x, res=res) if y % 4 == 0: res = res.switch() res = res.binop(x) y -= 1 return res def g(x, y): set_param(myjitdriver, 'max_unroll_loops', 5) a1 = f(A(x), y) a2 = f(A(x), y) b1 = f(B(x), y) b2 = f(B(x), y) assert a1.val == a2.val assert b1.val == b2.val return a1.val + b1.val res = self.meta_interp(g, [3, 23]) assert res == 7068153 self.check_trace_count(6) self.check_resops(guard_true=8, guard_class=2, int_mul=3, > int_add=3, guard_false=4) jit/metainterp/test/test_ajit.py:2216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf21ecc2c> insns = {'debug_merge_point': 6, 'getfield_gc_i': 6, 'guard_class': 2, 'guard_false': 4, ...} expected = None check = {'guard_class': 2, 'guard_false': 4, 'guard_true': 8, 'int_add': 3, ...} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 9 'int_add', expected 3 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_is_zero [0, 102, 33] -> 33 bh: live [34] -> 36 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn B.switch> bh: live [45] -> 47 bh: int_guard_value [<AddressAsInt * fn B.switch>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn A.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [16, 1] -> 15 bh: live [88] -> 90 bh: goto_if_not_int_gt [15, 0, 100, 95] -> 95 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [15], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally! bh: goto_if_not_int_is_zero [2, 102, 33] -> 102 bh: goto [56] -> 56 bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn A.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [14, 1] -> 13 bh: live [88] -> 90 bh: goto_if_not_int_gt [13, 0, 100, 95] -> 95 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [13], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally! bh: goto_if_not_int_is_zero [0, 102, 33] -> 33 bh: live [34] -> 36 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn A.switch> bh: live [45] -> 47 bh: int_guard_value [<AddressAsInt * fn A.switch>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn B.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [12, 1] -> 11 bh: live [88] -> 90 bh: goto_if_not_int_gt [11, 0, 100, 95] -> 95 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [11], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally! bh: goto_if_not_int_is_zero [0, 102, 33] -> 33 bh: live [34] -> 36 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn A.switch> bh: live [45] -> 47 bh: int_guard_value [<AddressAsInt * fn A.switch>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn B.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [4, 1] -> 3 bh: live [88] -> 90 bh: goto_if_not_int_gt [3, 0, 100, 95] -> 95 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [3], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally! bh: goto_if_not_int_is_zero [1, 102, 33] -> 102 bh: goto [56] -> 56 bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn B.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [1, 1] -> 0 bh: live [88] -> 90 bh: goto_if_not_int_gt [0, 0, 100, 95] -> 100 bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame! bh: goto_if_not_int_is_zero [1, 102, 33] -> 102 bh: goto [56] -> 56 bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop> bh: live [68] -> 70 bh: int_guard_value [<AddressAsInt * fn A.binop>] bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden bh: live [81] -> 83 bh: int_sub [1, 1] -> 0 bh: live [88] -> 90 bh: goto_if_not_int_gt [0, 0, 100, 95] -> 100 bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame! ~~~ return value: 7068153 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 33 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 6 JitCode instances. [jitcodewriter:info] There are 13 -live- ops. Size of liveness is 14 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 3 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 1 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5cbca39af00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5cbca851000] {jit-trace-done trace length: 100 number operations: 20 total snapshots: 4 snapshot data: 48 snapshot array data: 36 bigint consts: 3 3 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5cbca87ee80] jit-trace-done} [c5fd5cbca8be280] {jit-log-noopt # Traced loop or bridge with 18 ops [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i0, 4, descr=CallDescr(<Signed>, (<Signed>, <Signed>), <EffectInfo 0xf50bd64c: EF=0 OS=14>)) i6 = int_is_zero(i5) guard_true(i6) guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>) i8 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i10 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i11 = int_mul(i8, i10) p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p12, i11, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i14 = int_sub(i0, 1) i16 = int_gt(i14, 0) guard_true(i16) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i14, p1, p12, descr=<Loop-1>) [c5fd5cbca9a0d80] jit-log-noopt} [c5fd5cbca9b1300] {jit-optimize [c5fd5cbca9dad00] {jit-log-intbounds [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_and(i0, 3) # i4: (0 <= 0b0...0?? <= 3) IntBound(0, 3) i5 = int_is_zero(i4) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2160e4c>) [i0, i4, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2160a2c>) [i0, i4, p1, p2] i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i9 = int_mul(i7, i8) # i9 -> (?) IntBound.unbounded() # i0: (0b?...?00 <= MAXINT - 3) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b100)) i11 = int_add(i0, -1) # i11: (MININT + 3 <= 0b?...?11) IntBound.from_knownbits(r_uint(0b11), r_uint(-0b100)) i13 = int_gt(i11, 0) guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216538c>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbcb49ac00] jit-log-intbounds} [c5fd5cbcb58d100] {jit-log-exported-state [i17, r18, r19] INP(r18) HeapOp(i20 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i21 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(i22 = int_mul(i23, i20)) INP(r19 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) INP(i17 = int_add(i24, -1/ci)) PureOp(i25 = int_gt(i17, 0/ci)) [c5fd5cbcb5bce80] jit-log-exported-state} [c5fd5cbcb5c9c00] jit-optimize} [c5fd5cbcb5e2c00] {jit-optimize [c5fd5cbcb778e80] {jit-log-intbounds [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i3: (3 <= 0b0?...?) IntBound(3, MAXINT) i5 = int_and(i3, 3) # i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3) i6 = int_is_zero(i5) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2165fec>) [i3, i5, p7, i8] [c5fd5cbcbe41780] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)) was proven to always fail [c5fd5cbcbe4e480] jit-abort} [c5fd5cbcbe57500] jit-log-intbounds} [c5fd5cbcbe60f80] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd5cbcc1bc180] {jit-trace-done trace length: 178 number operations: 34 total snapshots: 8 snapshot data: 96 snapshot array data: 70 bigint consts: 6 6 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbcc1e9c00] jit-trace-done} [c5fd5cbcc229580] {jit-log-noopt # Traced loop or bridge with 15 ops [i26, p27, p28] i31 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i26, 4, descr=CallDescr(<Signed>, (<Signed>, <Signed>), <EffectInfo 0xf50bd64c: EF=0 OS=14>)) i32 = int_is_zero(i31) guard_false(i32) guard_class(p28, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>) i34 = getfield_gc_i(p28, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i35 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i36 = int_mul(i34, i35) p37 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p37, i36, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i39 = int_sub(i26, 1) i41 = int_gt(i39, 0) guard_true(i41) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i39, p27, p37, descr=<Loop-1>) [c5fd5cbcc2eb700] jit-log-noopt} [c5fd5cbcc2fb500] {jit-optimize [c5fd5cbcc325e80] {jit-log-intbounds [i0, p1, p2] i4 = int_and(i0, 3) # i4: (0 <= 0b0...0?? <= 3) IntBound(0, 3) i5 = int_is_zero(i4) guard_false(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2165f0c>) [i0, i4, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2165d8c>) [i0, i4, p1, p2] i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i9 = int_mul(i7, i8) # i9 -> (?) IntBound.unbounded() i11 = int_add(i0, -1) i13 = int_gt(i11, 0) guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216502c>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbccc77080] jit-log-intbounds} [c5fd5cbccd5cc80] {jit-log-exported-state [i42, r43, r44] INP(i45 = int_mul(i46, i47)) HeapOp(i47 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i48 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(i42 = int_add(i49, -1/ci)) PureOp(i50 = int_gt(i42, 0/ci)) INP(r44 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) INP(r43) [c5fd5cbccd8b480] jit-log-exported-state} [c5fd5cbccd97980] jit-optimize} [c5fd5cbccdafb00] {jit-optimize [c5fd5cbccf2f980] {jit-log-intbounds [i0, p1, p2] # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) i5 = int_and(i3, 3) # i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3) i6 = int_is_zero(i5) guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf216b86c>) [i3, i5, p7, i8] i10 = int_mul(i8, i9) # i10 -> (?) IntBound.unbounded() i12 = int_add(i3, -1) # i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i14 = int_gt(i12, 0) guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216bc4c>) [i3, i5, p7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbcda5ce80] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, p7, i10, i9, descr=TargetToken(-233390324)) [c5fd5cbcdca0600] jit-optimize} [c5fd5cbcdcad500] {jit-log-short-preamble [] label(i51, p52, i53, p54) guard_nonnull(p52) guard_is_object(p52) guard_subclass(p52, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=..., cls_switch=... }>) i56 = getfield_gc_i(p52, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) jump(i56) [c5fd5cbcdce0180] jit-log-short-preamble} [c5fd5cbcdd2c080] {jit-backend [c5fd5cbcdd45e80] {jit-log-compiling-loop [i49, p43, p57] label(i49, p43, p57, descr=TargetToken(-233414676)) i59 = int_and(i49, 3) i60 = int_is_zero(i59) guard_false(i60, descr=<Guard0xf2165f0c>) [i49, i59, p43, p57] guard_class(p57, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf2165d8c>) [i49, i59, p43, p57] i46 = getfield_gc_i(p57, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i47 = getfield_gc_i(p43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i45 = int_mul(i46, i47) i42 = int_add(i49, -1) i50 = int_gt(i42, 0) guard_true(i50, descr=<Guard0xf216502c>) [i49, i59, p43, p57] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i42, p43, i45, i47, descr=TargetToken(-233390324)) i65 = int_and(i42, 3) i66 = int_is_zero(i65) guard_false(i66, descr=<Guard0xf216b86c>) [i42, i65, p43, i45] i67 = int_mul(i45, i47) i69 = int_add(i42, -1) i71 = int_gt(i69, 0) guard_true(i71, descr=<Guard0xf216bc4c>) [i42, i65, p43, i45] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i69, p43, i67, i47, descr=TargetToken(-233390324)) [c5fd5cbcdde7280] jit-log-compiling-loop} [c5fd5cbcddf9980] {jit-mem-looptoken-alloc allocating Loop # 2 [c5fd5cbcde06480] jit-mem-looptoken-alloc} [c5fd5cbcde5a080] jit-backend} compiled new loop [c5fd5cbcde67d00] {jit-log-opt-loop # Loop 2 ((jitdriver: no get_printable_location)) : loop with 22 ops [i0, p1, p2] label(i0, p1, p2, descr=TargetToken(-233414676)) i4 = int_and(i0, 3) i5 = int_is_zero(i4) guard_false(i5, descr=<Guard0xf2165f0c>) [i0, i4, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf2165d8c>) [i0, i4, p1, p2] i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i9 = int_mul(i7, i8) i11 = int_add(i0, -1) i13 = int_gt(i11, 0) guard_true(i13, descr=<Guard0xf216502c>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i11, p1, i9, i8, descr=TargetToken(-233390324)) i15 = int_and(i11, 3) i16 = int_is_zero(i15) guard_false(i16, descr=<Guard0xf216b86c>) [i11, i15, p1, i9] i17 = int_mul(i9, i8) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf216bc4c>) [i11, i15, p1, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, p1, i17, i8, descr=TargetToken(-233390324)) [c5fd5cbcdf17780] jit-log-opt-loop} ContinueRunningNormally [c5fd5cbce3bfc00] jit-tracing} [c5fd5cbceeb1a00] {jit-tracing (jitdriver: no get_printable_location) [c5fd5cbcf3b6c00] {jit-trace-done trace length: 90 number operations: 20 total snapshots: 3 snapshot data: 36 snapshot array data: 28 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbcf3e5080] jit-trace-done} [c5fd5cbcf3fbd80] {jit-log-noopt # Traced loop or bridge with 16 ops [i0, i1, p2, i3] p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_is_zero(i1) guard_true(i5) p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p6, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = int_add(i3, i7) p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i11 = int_sub(i0, 1) i13 = int_gt(i11, 0) guard_true(i13) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i11, p2, p9, descr=<Loop2>) [c5fd5cbcf4bd580] jit-log-noopt} [c5fd5cbcf4cd780] {jit-optimize [c5fd5cbcf591000] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2160ecc>) [i0, i1, p2, i3] i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_add(i3, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf217376c>) [i0, i1, p2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbcfc2cc80] jit-log-intbounds} Retracing (1/5) [c5fd5cbcfdbd880] {jit-log-exported-state [i14, r15, r16] INP(i17 = int_add(i18, i19)) PureOp(i20 = int_gt(i14, 0/ci)) INP(r15) INP(r16 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))) INP(i14 = int_add(i21, -1/ci)) HeapOp(i19 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i22 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) [c5fd5cbcfde9e00] jit-log-exported-state} [c5fd5cbcfdf5d00] jit-optimize} (jitdriver: no get_printable_location) [c5fd5cbd0139680] {jit-trace-done trace length: 157 number operations: 33 total snapshots: 7 snapshot data: 84 snapshot array data: 62 bigint consts: 3 3 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbd0166e80] jit-trace-done} [c5fd5cbd01ada00] {jit-optimize [c5fd5cbd0332280] {jit-log-intbounds [i0, p1, p2] # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) i5 = int_and(i3, 3) # i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3) i6 = int_is_zero(i5) guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf217948c>) [i3, i5, p7, i8] i10 = int_add(i8, i9) # i10 -> (?) IntBound.unbounded() i12 = int_add(i3, -1) # i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i14 = int_gt(i12, 0) guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf217986c>) [i3, i5, p7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbd0e61c80] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, p7, i10, i9, descr=TargetToken(-233333844)) [c5fd5cbd10d2100] jit-optimize} [c5fd5cbd10dc100] {jit-log-short-preamble [] label(i23, p24, i25, p26) guard_nonnull(p24) guard_is_object(p24) guard_subclass(p24, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=..., cls_switch=... }>) i28 = getfield_gc_i(p24, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) jump(i28) [c5fd5cbd110ee00] jit-log-short-preamble} [c5fd5cbd1138000] {jit-backend [c5fd5cbd1143980] {jit-log-compiling-bridge [i21, i29, p15, i18] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18] i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_add(i18, i19) i14 = int_add(i21, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i17, i19, descr=TargetToken(-233333844)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17] i36 = int_add(i17, i19) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i19, descr=TargetToken(-233333844)) [c5fd5cbd11c8080] jit-log-compiling-bridge} [c5fd5cbd11dbf00] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 2 [c5fd5cbd11eb900] jit-mem-looptoken-alloc} [c5fd5cbd122c200] jit-backend} compiled new bridge [c5fd5cbd123aa80] {jit-log-opt-bridge # bridge out of Guard 0xf216b86c with 18 ops [i21, i29, p15, i18] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18] i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_add(i18, i19) i14 = int_add(i21, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i17, i19, descr=TargetToken(-233333844)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17] i36 = int_add(i17, i19) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i19, descr=TargetToken(-233333844)) [c5fd5cbd12c1900] jit-log-opt-bridge} [c5fd5cbd12cca80] {jit-log-opt-bridge # bridge out of Guard 0xf216b86c with 18 ops [i21, i29, p15, i18] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18] i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_add(i18, i19) i14 = int_add(i21, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i17, i19, descr=TargetToken(-233333844)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17] i36 = int_add(i17, i19) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i19, descr=TargetToken(-233333844)) [c5fd5cbd134db00] jit-log-opt-bridge} [c5fd5cbd13e0880] {jit-tracing (jitdriver: no get_printable_location) [c5fd5cbd17c5a00] {jit-trace-done trace length: 82 number operations: 18 total snapshots: 4 snapshot data: 48 snapshot array data: 36 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbd17f5980] jit-trace-done} [c5fd5cbd180bb00] {jit-log-noopt # Traced loop or bridge with 14 ops [i0, i1, p2, p3] i4 = int_is_zero(i1) guard_false(i4) guard_class(p3, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>) i6 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = int_add(i6, i7) p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i11 = int_sub(i0, 1) i13 = int_gt(i11, 0) guard_true(i13) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i11, p2, p9, descr=<Loop2>) [c5fd5cbd18e4580] jit-log-noopt} [c5fd5cbd18f4380] {jit-optimize [c5fd5cbd19b5300] {jit-log-intbounds [i0, i1, p2, p3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf217916c>) [i0, i1, p2, p3] guard_class(p3, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf21791cc>) [i0, i1, p2, p3] i6 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = int_add(i6, i7) # i8 -> (?) IntBound.unbounded() i10 = int_add(i0, -1) i12 = int_gt(i10, 0) guard_true(i12, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216b80c>) [i0, i1, p2, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbd21bb300] jit-log-intbounds} # i10: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i10, p2, i8, i7, descr=TargetToken(-233333844)) [c5fd5cbd2375300] jit-optimize} [c5fd5cbd2396280] {jit-backend [c5fd5cbd23a1a00] {jit-log-compiling-bridge [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17] i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i22 = int_add(i20, i21) i24 = int_add(i14, -1) i26 = int_gt(i24, 0) guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(-233333844)) [c5fd5cbd23fea00] jit-log-compiling-bridge} [c5fd5cbd2411100] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 2 [c5fd5cbd2420380] jit-mem-looptoken-alloc} [c5fd5cbd244f700] jit-backend} compiled new bridge [c5fd5cbd245d780] {jit-log-opt-bridge # bridge out of Guard 0xf2165d8c with 11 ops [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17] i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i22 = int_add(i20, i21) i24 = int_add(i14, -1) i26 = int_gt(i24, 0) guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(-233333844)) [c5fd5cbd24ba280] jit-log-opt-bridge} [c5fd5cbd24c7700] {jit-log-opt-bridge # bridge out of Guard 0xf2165d8c with 11 ops [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17] i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i22 = int_add(i20, i21) i24 = int_add(i14, -1) i26 = int_gt(i24, 0) guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(-233333844)) [c5fd5cbd2523c00] jit-log-opt-bridge} ContinueRunningNormally [c5fd5cbd29aa080] jit-tracing} ContinueRunningNormally [c5fd5cbd29bac80] jit-tracing} [c5fd5cbd2ff9a80] {jit-tracing (jitdriver: no get_printable_location) [c5fd5cbd34da300] {jit-trace-done trace length: 90 number operations: 20 total snapshots: 3 snapshot data: 36 snapshot array data: 28 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbd3508380] jit-trace-done} [c5fd5cbd351ee80] {jit-log-noopt # Traced loop or bridge with 16 ops [i0, i1, p2, i3] p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_is_zero(i1) guard_true(i5) p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p6, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i8 = int_mul(i3, i7) p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i11 = int_sub(i0, 1) i13 = int_gt(i11, 0) guard_true(i13) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i11, p2, p9, descr=<Loop2>) [c5fd5cbd35e1000] jit-log-noopt} [c5fd5cbd35f4700] {jit-optimize [c5fd5cbd36b6400] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218380c>) [i0, i1, p2, i3] i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_mul(i3, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2183e2c>) [i0, i1, p2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5cbd3cf8500] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p2, i6, i5, descr=TargetToken(-233390324)) [c5fd5cbd3e98d00] jit-optimize} [c5fd5cbd3eb5a00] {jit-backend [c5fd5cbd3ec0f80] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(-233390324)) [c5fd5cbd3f09f80] jit-log-compiling-bridge} [c5fd5cbd3f1bf00] {jit-mem-looptoken-alloc allocating Bridge # 3 of Loop # 2 [c5fd5cbd3f2ab00] jit-mem-looptoken-alloc} [c5fd5cbd3f51e00] jit-backend} compiled new bridge [c5fd5cbd3f5fc80] {jit-log-opt-bridge # bridge out of Guard 0xf217948c with 9 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(-233390324)) [c5fd5cbd3faea00] jit-log-opt-bridge} [c5fd5cbd3fb9600] {jit-log-opt-bridge # bridge out of Guard 0xf217948c with 9 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(-233390324)) [c5fd5cbd4003580] jit-log-opt-bridge} [c5fd5cbd425e600] {jit-tracing [c5fd5cbd4606700] {jit-trace-done trace length: 67 number operations: 17 total snapshots: 2 snapshot data: 24 snapshot array data: 20 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbd4635f00] jit-trace-done} [c5fd5cbd464c000] {jit-log-noopt # Traced loop or bridge with 13 ops [i0, i1, p2, i3] p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_is_zero(i1) guard_false(i5) i6 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = int_mul(i3, i6) p8 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p8, i7, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i10 = int_sub(i0, 1) i12 = int_gt(i10, 0) guard_false(i12) leave_portal_frame(0) finish(p8, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd46f1480] jit-log-noopt} [c5fd5cbd4701680] {jit-optimize [c5fd5cbd47edc00] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218348c>) [i0, i1, p2, i3] i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_mul(i3, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_false(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2173eac>) [i0, i1, p2, i3] leave_portal_frame(0) p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p12, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p12, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd4e80200] jit-log-intbounds} [c5fd5cbd4e8ab80] jit-optimize} [c5fd5cbd4ea8800] {jit-backend [c5fd5cbd4eb6700] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd4f08380] jit-log-compiling-bridge} [c5fd5cbd4f1aa80] {jit-mem-looptoken-alloc allocating Bridge # 4 of Loop # 2 [c5fd5cbd4f29c80] jit-mem-looptoken-alloc} [c5fd5cbd4f56980] jit-backend} compiled new bridge [c5fd5cbd4f64a00] {jit-log-opt-bridge # bridge out of Guard 0xf216bc4c with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd4fb6680] jit-log-opt-bridge} [c5fd5cbd4fc1000] {jit-log-opt-bridge # bridge out of Guard 0xf216bc4c with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_mul(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd5011b80] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5cbd5025a00] jit-tracing} DoneWithThisFrameRef [c5fd5cbd5034600] jit-tracing} [c5fd5cbd598ea80] {jit-tracing [c5fd5cbd5d3b180] {jit-trace-done trace length: 67 number operations: 17 total snapshots: 2 snapshot data: 24 snapshot array data: 20 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5cbd5d6a700] jit-trace-done} [c5fd5cbd5d80500] {jit-log-noopt # Traced loop or bridge with 13 ops [i0, i1, p2, i3] p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i5 = int_is_zero(i1) guard_false(i5) i6 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i7 = int_add(i3, i6) p8 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p8, i7, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i10 = int_sub(i0, 1) i12 = int_gt(i10, 0) guard_false(i12) leave_portal_frame(0) finish(p8, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd5e25200] jit-log-noopt} [c5fd5cbd5e34b80] {jit-optimize [c5fd5cbd5ef3e80] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218de8c>) [i0, i1, p2, i3] i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i6 = int_add(i3, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_false(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf21104cc>) [i0, i1, p2, i3] leave_portal_frame(0) p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p12, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p12, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd65ce900] jit-log-intbounds} [c5fd5cbd65d9280] jit-optimize} [c5fd5cbd65f6b80] {jit-backend [c5fd5cbd6602100] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_add(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd6652a00] jit-log-compiling-bridge} [c5fd5cbd6664b00] {jit-mem-looptoken-alloc allocating Bridge # 5 of Loop # 2 [c5fd5cbd6673700] jit-mem-looptoken-alloc} [c5fd5cbd66a0c00] jit-backend} compiled new bridge [c5fd5cbd66aea80] {jit-log-opt-bridge # bridge out of Guard 0xf217986c with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_add(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd66ff580] jit-log-opt-bridge} [c5fd5cbd670b100] {jit-log-opt-bridge # bridge out of Guard 0xf217986c with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17] i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i20 = int_add(i17, i19) i22 = int_add(i14, -1) i24 = int_gt(i22, 0) guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17] leave_portal_frame(0) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)) setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>) [c5fd5cbd675b280] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5cbd676ee80] jit-tracing} ____________________ TestLLtype.test_reuse_elidable_result _____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef7b5fac> def test_reuse_elidable_result(self): driver = JitDriver(reds=['n', 's'], greens = []) def main(n): s = 0 while n > 0: driver.jit_merge_point(s=s, n=n) s += len(str(n)) + len(str(n)) n -= 1 return s res = self.meta_interp(main, [10]) assert res == main(10) self.check_resops({'int_gt': 2, 'strlen': 2, 'guard_true': 2, 'int_sub': 2, 'jump': 1, 'call_r': 2, > 'guard_no_exception': 2, 'int_add': 4}) jit/metainterp/test/test_ajit.py:3737: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xef78dd2c> insns = {'call_r': 2, 'guard_no_exception': 2, 'guard_true': 2, 'int_add': 6, ...} expected = {'call_r': 2, 'guard_no_exception': 2, 'guard_true': 2, 'int_add': 4, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'call_r': 2,..._add': 6, ...} == {'call_r': 2, ..._add': 4, ...} E Omitting 6 identical items, use -v to show E Differing items: E {'int_add': 6} != {'int_add': 4} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: live [25] -> 27 bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <JitCode 'll_strlen__rpy_stringPtr'>, [<* GCREF hidden>]] -> 1 bh: live [34] -> 36 bh: residual_call_ir_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)] -> * GCREF hidden bh: live [45] -> 47 bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <JitCode 'll_strlen__rpy_stringPtr'>, [<* GCREF hidden>]] -> 1 bh: live [54] -> 56 bh: int_add [1, 1] -> 2 bh: int_add [20, 2] -> 22 bh: int_sub [1, 1] -> 0 bh: live [69] -> 71 bh: goto_if_not_int_gt [0, 0, 79, 76] -> 79 bh: int_return [<BHInterp <JitCode 'main'>>, 22] -> LeaveFrame! ~~~ return value: 22 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 35 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 7 -live- ops. Size of liveness is 22 bytes [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 [c5fd5d19b478980] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d19bb9e900] {jit-trace-done trace length: 78 number operations: 16 total snapshots: 4 snapshot data: 48 snapshot array data: 32 bigint consts: 4 4 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d19bbce680] jit-trace-done} [c5fd5d19bc07880] {jit-log-noopt # Traced loop or bridge with 15 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception() i4 = strlen(p3) p6 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception() i7 = strlen(p6) i8 = int_add(i4, i7) i9 = int_add(i1, i8) i11 = int_sub(i0, 1) i13 = int_gt(i11, 0) guard_true(i13) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i11, i9, descr=<Loop-1>) [c5fd5d19bcc0b80] jit-log-noopt} [c5fd5d19bcd1900] {jit-optimize [c5fd5d19bcf5f80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xef747d2c>) [i0, i1, p3] i4 = strlen(p3) # i4 -> (0 <= 0b0?...?) IntBound.nonnegative() i5 = int_add(i4, i4) # i5 -> (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10)) i6 = int_add(i1, i5) # i6 -> (?) IntBound.unbounded() i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xef74b4ac>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d19c4d6500] jit-log-intbounds} [c5fd5d19c593280] {jit-log-exported-state [i14, i15] INP(i15 = int_add(i16, i17)) PureOp(i18 = int_gt(i14, 0/ci)) INP(i14 = int_add(i19, -1/ci)) [c5fd5d19c5b1a80] jit-log-exported-state} [c5fd5d19c5bde00] jit-optimize} [c5fd5d19c5d7200] {jit-optimize [c5fd5d19c751d00] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) p4 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i2, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xef74b98c>) [i2, i5, p4] i6 = strlen(p4) # i6 -> (0 <= 0b0?...?) IntBound.nonnegative() i7 = int_add(i6, i6) # i7 -> (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10)) i8 = int_add(i5, i7) # i8 -> (?) IntBound.unbounded() i10 = int_add(i2, -1) # i10: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i12 = int_gt(i10, 0) guard_true(i12, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xef74bfec>) [i2, i5, p4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d19d0fd080] jit-log-intbounds} # i10: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i10, i8, descr=TargetToken(-278064308)) [c5fd5d19d29a380] jit-optimize} [c5fd5d19d2a7a80] {jit-log-short-preamble [] label(i20, i21) jump() [c5fd5d19d2be200] jit-log-short-preamble} [c5fd5d19d30a680] {jit-backend [c5fd5d19d322580] {jit-log-compiling-loop [i19, i16] label(i19, i16, descr=TargetToken(-277580052)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p23 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i19, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<Guard0xef747d2c>) [i19, i16, p23] i24 = strlen(p23) i17 = int_add(i24, i24) i15 = int_add(i16, i17) i14 = int_add(i19, -1) i18 = int_gt(i14, 0) guard_true(i18, descr=<Guard0xef74b4ac>) [i19, i16, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, i15, descr=TargetToken(-278064308)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p28 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i14, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<Guard0xef74b98c>) [i14, i15, p28] i29 = strlen(p28) i30 = int_add(i29, i29) i31 = int_add(i15, i30) i33 = int_add(i14, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xef74bfec>) [i14, i15, p28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, i31, descr=TargetToken(-278064308)) [c5fd5d19d3c1480] jit-log-compiling-loop} [c5fd5d19d3d6c00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d19d3e3180] jit-mem-looptoken-alloc} [c5fd5d19d42af80] jit-backend} compiled new loop [c5fd5d19d437b00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 23 ops [i0, i1] label(i0, i1, descr=TargetToken(-277580052)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<Guard0xef747d2c>) [i0, i1, p3] i4 = strlen(p3) i5 = int_add(i4, i4) i6 = int_add(i1, i5) i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xef74b4ac>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i6, descr=TargetToken(-278064308)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p12 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i8, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)) guard_no_exception(descr=<Guard0xef74b98c>) [i8, i6, p12] i13 = strlen(p12) i14 = int_add(i13, i13) i15 = int_add(i6, i14) i17 = int_add(i8, -1) i19 = int_gt(i17, 0) guard_true(i19, descr=<Guard0xef74bfec>) [i8, i6, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i17, i15, descr=TargetToken(-278064308)) [c5fd5d19d4e3d00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d19e7a4380] jit-tracing} __________________ TestLLtype.test_virtual_dict_constant_keys __________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef127b0c> def test_virtual_dict_constant_keys(self): myjitdriver = JitDriver(greens = [], reds = ["n"]) def g(d): return d["key"] - 1 def f(n): while n > 0: myjitdriver.jit_merge_point(n=n) x = {"key": n} n = g(x) del x["key"] return n res = self.meta_interp(f, [10]) assert res == 0 self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2, > 'int_sub': 2}) jit/metainterp/test/test_ajit.py:3894: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xeef5064c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 60, 57] -> 60 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 703 blocks (14%) [rtyper] specializing: 200 / 717 blocks (27%) [rtyper] specializing: 300 / 717 blocks (41%) [rtyper] specializing: 400 / 719 blocks (55%) [rtyper] specializing: 500 / 719 blocks (69%) [rtyper] specializing: 600 / 719 blocks (83%) [rtyper] specializing: 700 / 719 blocks (97%) [rtyper] -=- specialized 719 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 0 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:582)ll_call_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed at 0xef025eec>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UCHARLlT at 0xef06bc6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_USHORTLlT at 0xef06f2cc>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UnsignedLlT at 0xef0b49ec>; should have be removed [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UCHARLlT at 0xef1487cc>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0xef09ee4c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_USHORTLlT at 0xef2aef4c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UnsignedLlT at 0xef2a4d0c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v7594___simple_call__function_ at 0xef37dd8c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xef35214c>; should have be removed [jitcodewriter:info] There are 59 JitCode instances. [jitcodewriter:info] There are 168 -live- ops. Size of liveness is 152 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 22 effectinfos: [jitcodewriter] 4 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 17 bitstrings, mean length 1.0, max length 2 [c5fd5d2bfbd4600] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5d2bfdd3780] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d2bfde1e00] jit-tco} [c5fd5d2bfe76580] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd5d2bfe84200] jit-tco} [c5fd5d2bfeacc00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d2bfeb9b80] jit-tco} [c5fd5d2bff1bf80] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd5d2bff29680] jit-tco} [c5fd5d2c0040580] {jit-tco removed frame ll_call_lookup_function__v7565___simple_call__function_ [c5fd5d2c0051500] jit-tco} [c5fd5d2c0079180] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d2c0086100] jit-tco} [c5fd5d2c02ba200] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d2c02c8880] jit-tco} [c5fd5d2c02f0900] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd5d2c02fd880] jit-tco} [c5fd5d2c0390580] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd5d2c039f600] jit-tco} [c5fd5d2c0885080] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d2c0893900] jit-tco} [c5fd5d2c0919b80] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr [c5fd5d2c0927080] jit-tco} [c5fd5d2c094e700] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d2c095b000] jit-tco} [c5fd5d2c0997d00] {jit-tco removed frame ll_call_lookup_function__v7565___simple_call__function_ [c5fd5d2c09a4a80] jit-tco} [c5fd5d2c09cb500] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d2c09d9600] jit-tco} [c5fd5d2c0c5fb80] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d2c0c6e000] jit-tco} [c5fd5d2c0cf2b00] {jit-tco removed frame ll_dict_delitem__dicttablePtr_rpy_stringPtr [c5fd5d2c0d00200] jit-tco} [c5fd5d2c0d29c00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d2c0d36b80] jit-tco} [c5fd5d2c0d75d00] {jit-tco removed frame ll_call_lookup_function__v7565___simple_call__function_ [c5fd5d2c0d83180] jit-tco} [c5fd5d2c0dac980] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d2c0db9900] jit-tco} [c5fd5d2c0f17a80] {jit-tco removed frame ll_dict_delitem_with_hash__dicttablePtr_rpy_stringPtr_Signed [c5fd5d2c0f25900] jit-tco} [c5fd5d2c0f4d000] {jit-tco removed frame _ll_dict_del_look_inside_iff__dicttablePtr_Signed_Signed [c5fd5d2c0f59f00] jit-tco} [c5fd5d2c0fa3a80] {jit-tco removed frame ll_call_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed [c5fd5d2c0fb1580] jit-tco} [c5fd5d2c1006300] {jit-tco removed frame ll_dict_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed_UCHARLlT [c5fd5d2c1013800] jit-tco} (jitdriver: no get_printable_location) [c5fd5d2c13b1080] {jit-trace-done trace length: 386 number operations: 66 total snapshots: 6 snapshot data: 64 snapshot array data: 72 bigint consts: 3 3 float consts: 0 0 ref consts: 13 8 4 descrs: 1 [c5fd5d2c13e0200] jit-trace-done} [c5fd5d2c1410200] {jit-log-noopt # Traced loop or bridge with 66 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>)) setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) p7 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p7, ConstPtr(ptr8), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i10 = same_as_i(9) p12 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) setfield_gc(p1, p12, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) i16 = same_as_i(14) i18 = getarrayitem_gc_i(p12, 6, descr=ArrayDescr(<GcArray of UCHAR >)) i20 = int_ge(i18, 2) guard_false(i20) i22 = int_eq(i18, 1) guard_false(i22) setarrayitem_gc(p12, 6, 2, descr=ArrayDescr(<GcArray of UCHAR >)) i26 = same_as_i(21) p28 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >)) call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr30), p28, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xef35488c: EF=2 OS=1>)) setfield_gc(p1, p28, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) p35 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p35, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p35, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setinteriorfield_gc(p28, 0, ConstPtr(ptr38), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key')) setinteriorfield_gc(p28, 0, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) p42 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p42, ConstPtr(ptr43), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i45 = same_as_i(35) i47 = same_as_i(36) p48 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p48, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p48, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) p50 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p50, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p50, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) i53 = int_sub(i0, 1) p54 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p54, ConstPtr(ptr55), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i57 = same_as_i(46) i59 = same_as_i(47) p60 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p60, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p60, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) i63 = same_as_i(51) i65 = same_as_i(52) setarrayitem_gc(p12, 6, 1, descr=ArrayDescr(<GcArray of UCHAR >)) p68 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p68, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p68, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setinteriorfield_gc(p28, 0, ConstPtr(ptr71), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) i76 = int_gt(i53, 0) guard_true(i76) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i53, descr=<Loop-1>) [c5fd5d2c170bc80] jit-log-noopt} [c5fd5d2c171ef80] {jit-optimize [c5fd5d2c173cd80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xef3a05ec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d2c1e0cc00] jit-log-intbounds} [c5fd5d2c1e91380] {jit-log-exported-state [i77] PureOp(i78 = int_gt(i77, 0/ci)) INP(i77 = int_add(i79, -1/ci)) [c5fd5d2c1eaa780] jit-log-exported-state} [c5fd5d2c1eb6300] jit-optimize} [c5fd5d2c1ecea00] {jit-optimize [c5fd5d2c1fe7d80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xef390eec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d2c27f3100] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-281473620)) [c5fd5d2c291e800] jit-optimize} [c5fd5d2c292bd00] {jit-log-short-preamble [] label(i80) jump() [c5fd5d2c2940900] jit-log-short-preamble} [c5fd5d2c296fc80] {jit-backend [c5fd5d2c2986c00] {jit-log-compiling-loop [i79] label(i79, descr=TargetToken(-281418420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i77 = int_add(i79, -1) i78 = int_gt(i77, 0) guard_true(i78, descr=<Guard0xef3a05ec>) [i77] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i77, descr=TargetToken(-281473620)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i84 = int_add(i77, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0xef390eec>) [i84] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i84, descr=TargetToken(-281473620)) [c5fd5d2c29db580] jit-log-compiling-loop} [c5fd5d2c29ed080] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d2c29f9400] jit-mem-looptoken-alloc} [c5fd5d2c2a25700] jit-backend} compiled new loop [c5fd5d2c2a32200] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-281418420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xef3a05ec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-281473620)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xef390eec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-281473620)) [c5fd5d2c2a8e680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d2c2becc00] jit-tracing} ______________________ TestLLtype.test_virtual_opaque_ptr ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef3fcb0c> def test_virtual_opaque_ptr(self): myjitdriver = JitDriver(greens = [], reds = ["n"]) erase, unerase = rerased.new_erasing_pair("x") @look_inside_iff(lambda x: isvirtual(x)) def g(x): return x[0] def f(n): while n > 0: myjitdriver.jit_merge_point(n=n) x = [] y = erase(x) z = unerase(y) z.append(1) n -= g(z) return n res = self.meta_interp(f, [10]) assert res == 0 self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2, > 'int_sub': 2}) jit/metainterp/test/test_ajit.py:3914: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xef3a280c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 60, 57] -> 60 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 115 blocks (86%) [rtyper] -=- specialized 115 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:690)ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed at 0xeeb1a58c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really__v7853___simple_call__function_ at 0xeeea33cc>; should have be removed [jitcodewriter:info] There are 14 JitCode instances. [jitcodewriter:info] There are 27 -live- ops. Size of liveness is 45 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 3 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5d2dd4b3300] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5d2dd669700] {jit-tco removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [c5fd5d2dd677700] jit-tco} [c5fd5d2dd80f280] {jit-tco removed frame g_look_inside_iff [c5fd5d2dd81d780] jit-tco} [c5fd5d2dd82d300] {jit-tco removed frame g__v7844___simple_call__function_ [c5fd5d2dd839700] jit-tco} [c5fd5d2dd861380] {jit-tco removed frame ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed [c5fd5d2dd86da80] jit-tco} (jitdriver: no get_printable_location) [c5fd5d2dd944a00] {jit-trace-done trace length: 90 number operations: 16 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d2dd971e80] jit-trace-done} [c5fd5d2dd9a0080] {jit-log-noopt # Traced loop or bridge with 16 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct list { length, items }>)) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) p4 = new_array(0, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p1, p4, descr=FieldDescr(<GcStruct list { length, items }>, 'items')) p6 = new_array(4, descr=ArrayDescr(<GcArray of Signed >)) setfield_gc(p1, p6, descr=FieldDescr(<GcStruct list { length, items }>, 'items')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length')) setarrayitem_gc(p6, 0, 1, descr=ArrayDescr(<GcArray of Signed >)) i11 = same_as_i(9) i13 = int_sub(i0, 1) i15 = int_gt(i13, 0) guard_true(i15) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i13, descr=<Loop-1>) [c5fd5d2dda5f180] jit-log-noopt} [c5fd5d2dda6ff00] {jit-optimize [c5fd5d2dda8ce00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeeec0dac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d2ddf19d00] jit-log-intbounds} [c5fd5d2ddf99180] {jit-log-exported-state [i16] PureOp(i17 = int_gt(i16, 0/ci)) INP(i16 = int_add(i18, -1/ci)) [c5fd5d2ddfb1680] jit-log-exported-state} [c5fd5d2ddfbc080] jit-optimize} [c5fd5d2ddfd2f80] {jit-optimize [c5fd5d2de0c2b80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeeeafaec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d2de6b1600] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-286589140)) [c5fd5d2de7ea200] jit-optimize} [c5fd5d2de7f7700] {jit-log-short-preamble [] label(i19) jump() [c5fd5d2de80ce80] jit-log-short-preamble} [c5fd5d2de83f580] {jit-backend [c5fd5d2de857000] {jit-log-compiling-loop [i18] label(i18, descr=TargetToken(-286647828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i18, -1) i17 = int_gt(i16, 0) guard_true(i17, descr=<Guard0xeeec0dac>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i16, descr=TargetToken(-286589140)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i23 = int_add(i16, -1) i25 = int_gt(i23, 0) guard_true(i25, descr=<Guard0xeeeafaec>) [i23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i23, descr=TargetToken(-286589140)) [c5fd5d2de8b2580] jit-log-compiling-loop} [c5fd5d2de8c5200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d2de8d1b80] jit-mem-looptoken-alloc} [c5fd5d2de8fe480] jit-backend} compiled new loop [c5fd5d2de90af80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-286647828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xeeec0dac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-286589140)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xeeeafaec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-286589140)) [c5fd5d2de96a680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d2dead7280] jit-tracing} _____________________ TestLLtype.test_virtual_opaque_dict ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xeeeaf72c> def test_virtual_opaque_dict(self): myjitdriver = JitDriver(greens = [], reds = ["n"]) erase, unerase = rerased.new_erasing_pair("x") @look_inside_iff(lambda x: isvirtual(x)) def g(x): return x[0]["key"] - 1 def f(n): while n > 0: myjitdriver.jit_merge_point(n=n) x = [{}] x[0]["key"] = n x[0]["other key"] = n y = erase(x) z = unerase(y) n = g(x) return n res = self.meta_interp(f, [10]) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_ajit.py:3936: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xeee0fcac> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 100, 97] -> 100 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 651 blocks (15%) [rtyper] specializing: 200 / 653 blocks (30%) [rtyper] specializing: 300 / 660 blocks (45%) [rtyper] specializing: 400 / 660 blocks (60%) [rtyper] specializing: 500 / 660 blocks (75%) [rtyper] specializing: 600 / 665 blocks (90%) [rtyper] -=- specialized 665 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] specializing: 700 / 701 blocks (99%) [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UCHARLlT at 0xeedcf84c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0xeed56f6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UCHARLlT at 0xeeda326c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_USHORTLlT at 0xeed7a9ec>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_USHORTLlT at 0xeed7ad6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UnsignedLlT at 0xeed8996c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UnsignedLlT at 0xeed89c6c>; should have be removed [rtyper] -=- specialized 0 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v7968___simple_call__function_ at 0xeed24d0c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:690)ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xeed3468c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_dicttablePtr at 0xeed34b2c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xeed374cc>; should have be removed [jitcodewriter:info] There are 51 JitCode instances. [jitcodewriter:info] There are 140 -live- ops. Size of liveness is 136 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 22 effectinfos: [jitcodewriter] 5 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 17 bitstrings, mean length 1.0, max length 2 [c5fd5d345182480] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5d345432700] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d345444000] jit-tco} [c5fd5d3454c9c80] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd5d3454d7380] jit-tco} [c5fd5d3454fe080] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d34550bb00] jit-tco} [c5fd5d345570500] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd5d34557d580] jit-tco} [c5fd5d34569e680] {jit-tco removed frame ll_call_lookup_function__v7940___simple_call__function_ [c5fd5d3456abf80] jit-tco} [c5fd5d3456d1c80] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d3456de200] jit-tco} [c5fd5d345914100] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d345922300] jit-tco} [c5fd5d34594a080] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd5d345956f00] jit-tco} [c5fd5d3459f6980] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd5d345a04480] jit-tco} [c5fd5d345f93c00] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d345fa3a00] jit-tco} [c5fd5d346035c00] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd5d346042c80] jit-tco} [c5fd5d346068800] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d346074800] jit-tco} [c5fd5d3460b7800] {jit-tco removed frame ll_call_lookup_function__v7940___simple_call__function_ [c5fd5d3460c4500] jit-tco} [c5fd5d3460ea080] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d3460f6400] jit-tco} [c5fd5d346335e80] {jit-tco removed frame ll_hash_recomputed__arrayPtr_dicttablePtr_Signed [c5fd5d346343d80] jit-tco} [c5fd5d34650f300] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d34651d000] jit-tco} [c5fd5d346543300] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd5d34654f800] jit-tco} [c5fd5d34684b100] {jit-tco removed frame g_look_inside_iff [c5fd5d346859380] jit-tco} [c5fd5d3468b6400] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd5d3468c3500] jit-tco} [c5fd5d34695a900] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr [c5fd5d346967e00] jit-tco} [c5fd5d34698eb00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd5d34699c380] jit-tco} [c5fd5d3469ddc00] {jit-tco removed frame ll_call_lookup_function__v7940___simple_call__function_ [c5fd5d3469ea980] jit-tco} [c5fd5d346a10500] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd5d346a1cc80] jit-tco} (jitdriver: no get_printable_location) [c5fd5d346d1e880] {jit-trace-done trace length: 441 number operations: 75 total snapshots: 9 snapshot data: 92 snapshot array data: 114 bigint consts: 5 3 float consts: 0 0 ref consts: 15 10 4 descrs: 1 [c5fd5d346d4c380] jit-trace-done} [c5fd5d346d7bc80] {jit-log-noopt # Traced loop or bridge with 75 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>)) setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) p8 = new_array_clear(1, descr=ArrayDescr(<GcArray of * GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries } >)) setarrayitem_gc(p8, 0, p1, descr=ArrayDescr(<GcArray of * GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries } >)) p10 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p10, ConstPtr(ptr11), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i13 = same_as_i(11) p15 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) setfield_gc(p1, p15, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) i19 = same_as_i(16) i21 = getarrayitem_gc_i(p15, 6, descr=ArrayDescr(<GcArray of UCHAR >)) i23 = int_ge(i21, 2) guard_false(i23) i25 = int_eq(i21, 1) guard_false(i25) setarrayitem_gc(p15, 6, 2, descr=ArrayDescr(<GcArray of UCHAR >)) i29 = same_as_i(23) p31 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >)) call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr33), p31, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xeed2d9ec: EF=2 OS=1>)) setfield_gc(p1, p31, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) p38 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p38, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p38, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setinteriorfield_gc(p31, 0, ConstPtr(ptr41), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key')) setinteriorfield_gc(p31, 0, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) p45 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p45, ConstPtr(ptr46), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i48 = same_as_i(37) i50 = same_as_i(38) p51 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p51, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p51, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) p53 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p53, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p53, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) i56 = getarrayitem_gc_i(p15, 5, descr=ArrayDescr(<GcArray of UCHAR >)) i57 = int_is_zero(i56) guard_true(i57) setarrayitem_gc(p15, 5, 3, descr=ArrayDescr(<GcArray of UCHAR >)) i61 = same_as_i(49) setfield_gc(p1, 26, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) p63 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p63, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p63, 1, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setinteriorfield_gc(p31, 1, ConstPtr(ptr66), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key')) setinteriorfield_gc(p31, 1, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) i71 = same_as_i(58) p72 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p72, ConstPtr(ptr73), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i75 = same_as_i(61) i77 = same_as_i(62) p78 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p78, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p78, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) p80 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p80, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p80, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) i83 = int_sub(i0, 1) i85 = int_gt(i83, 0) guard_true(i85) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i83, descr=<Loop-1>) [c5fd5d3470baa00] jit-log-noopt} [c5fd5d3470ccb00] {jit-optimize [c5fd5d3470eb100] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeece054c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d347839f00] jit-log-intbounds} [c5fd5d3478b9b80] {jit-log-exported-state [i86] PureOp(i87 = int_gt(i86, 0/ci)) INP(i86 = int_add(i88, -1/ci)) [c5fd5d3478d2400] jit-log-exported-state} [c5fd5d3478dde00] jit-optimize} [c5fd5d3478f6e80] {jit-optimize [c5fd5d3479e7800] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeece674c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d34827f180] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-288461876)) [c5fd5d3483b5200] jit-optimize} [c5fd5d3483c2900] {jit-log-short-preamble [] label(i89) jump() [c5fd5d3483d8080] jit-log-short-preamble} [c5fd5d348409200] {jit-backend [c5fd5d348420880] {jit-log-compiling-loop [i88] label(i88, descr=TargetToken(-288542516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i86 = int_add(i88, -1) i87 = int_gt(i86, 0) guard_true(i87, descr=<Guard0xeece054c>) [i86] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i86, descr=TargetToken(-288461876)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i93 = int_add(i86, -1) i95 = int_gt(i93, 0) guard_true(i95, descr=<Guard0xeece674c>) [i93] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i93, descr=TargetToken(-288461876)) [c5fd5d348478900] jit-log-compiling-loop} [c5fd5d34848ae00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d348497980] jit-mem-looptoken-alloc} [c5fd5d3484c4800] jit-backend} compiled new loop [c5fd5d3484d1500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-288542516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xeece054c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-288461876)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xeece674c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-288461876)) [c5fd5d348532200] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d3486aa780] jit-tracing} _________________________ TestLLtype.test_not_in_trace _________________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xee2a592c> def test_not_in_trace(self): class X: n = 0 def g(x): if we_are_jitted(): raise NotImplementedError x.n += 1 g.oopspec = 'jit.not_in_trace()' jitdriver = JitDriver(greens=[], reds=['n', 'token', 'x']) def f(n): token = 0 x = X() while n >= 0: jitdriver.jit_merge_point(n=n, x=x, token=token) if not we_are_jitted(): token += 1 g(x) n -= 1 return x.n + token * 1000 res = self.meta_interp(f, [10]) assert res == 2003 # two runs before jitting; then one tracing run self.check_resops(int_add=0, call_i=0, call_may_force_i=0, call_r=0, call_may_force_r=0, call_f=0, > call_may_force_f=0) jit/metainterp/test/test_ajit.py:4419: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xee243e4c> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_ge': 2, ...} expected = None check = {'call_f': 0, 'call_i': 0, 'call_may_force_f': 0, 'call_may_force_i': 0, ...} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 2 'int_add', expected 0 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_ge [-1, 0, 41, 38] -> 41 bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xee24370c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.X { super, inst_n }>, 'inst_n')] -> 3 bh: int_mul [2, 1000] -> 2000 bh: int_add [3, 2000] -> 2003 bh: int_return [<BHInterp <JitCode 'f'>>, 2003] -> LeaveFrame! ~~~ return value: 2003 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 14 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 5 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 1 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 1 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5d451f21c00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5d4520be980] {jit-trace-done trace length: 39 number operations: 9 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5d4520ec200] jit-trace-done} [c5fd5d45212ae00] {jit-log-noopt # Traced loop or bridge with 7 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_sub(i0, 1) i6 = int_ge(i4, 0) guard_true(i6) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i4, i1, p2, descr=<Loop-1>) [c5fd5d45219a380] jit-log-noopt} [c5fd5d4521ab480] {jit-optimize [c5fd5d4521d5300] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i0, -1) i6 = int_ge(i4, 0) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xee1ec2ec>) [i4, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d4527b7e00] jit-log-intbounds} [c5fd5d452869800] {jit-log-exported-state [i7, i8, r9] PureOp(i10 = int_ge(i7, 0/ci)) INP(r9) INP(i8) INP(i7 = int_add(i11, -1/ci)) [c5fd5d452888a00] jit-log-exported-state} [c5fd5d452893a00] jit-optimize} [c5fd5d4528abc80] {jit-optimize [c5fd5d452a0bf80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i3: (0 <= 0b0?...?) IntBound.nonnegative() i5 = int_add(i3, -1) # i5: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1) i7 = int_ge(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xee1f648c>) [i5, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5d452ff3480] jit-log-intbounds} # i5: (0 <= 0b0?...?) IntBound.nonnegative() jump(i5, i8, p9, descr=TargetToken(-299931156)) [c5fd5d453189700] jit-optimize} [c5fd5d453196d80] {jit-log-short-preamble [] label(i12, i13, p14) jump() [c5fd5d4531ad180] jit-log-short-preamble} [c5fd5d4531e0d80] {jit-backend [c5fd5d4531f8680] {jit-log-compiling-loop [i11, i8, p9] label(i11, i8, p9, descr=TargetToken(-299955924)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i11, -1) i10 = int_ge(i7, 0) guard_true(i10, descr=<Guard0xee1ec2ec>) [i7, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, i8, p9, descr=TargetToken(-299931156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i7, -1) i20 = int_ge(i18, 0) guard_true(i20, descr=<Guard0xee1f648c>) [i18, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i18, i8, p9, descr=TargetToken(-299931156)) [c5fd5d453250080] jit-log-compiling-loop} [c5fd5d453262980] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5d45326ee80] jit-mem-looptoken-alloc} [c5fd5d45329e080] jit-backend} compiled new loop [c5fd5d4532aa600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-299955924)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i0, -1) i6 = int_ge(i4, 0) guard_true(i6, descr=<Guard0xee1ec2ec>) [i4, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, i1, p2, descr=TargetToken(-299931156)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i4, -1) i10 = int_ge(i8, 0) guard_true(i10, descr=<Guard0xee1f648c>) [i8, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i8, i1, p2, descr=TargetToken(-299931156)) [c5fd5d453310e80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5d4534d2f80] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_1 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul1 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul_ovf1 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul_bridge_maintaining3 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_intbox FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_constfold_call_elidable FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_constfold_call_elidable_2 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_elidable_raising FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_elidable_raising_2 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_multiple_specialied_versions1 FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_multiple_specialied_zigzag FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_reuse_elidable_result FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_dict_constant_keys FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_opaque_ptr FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_opaque_dict FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_not_in_trace ============== 16 failed, 202 passed, 5 skipped in 251.34 seconds ============== ++ 10:14:08 starting jit/metainterp/test/test_loop_unroll_disopt.py [141 started in total] __ jit/metainterp/test/test_loop_unroll.py [138 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/metainterp/test/test_loop_unroll.py ..............................ss.s... ==================== 34 passed, 3 skipped in 37.99 seconds ===================== ++ 10:14:42 starting jit/metainterp/test/test_math.py [142 started in total] __ jit/metainterp/test/test_loop.py [139 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/metainterp/test/test_loop.py ..............................ss.s... ==================== 34 passed, 3 skipped in 43.56 seconds ===================== ++ 10:14:45 starting jit/metainterp/test/test_memmgr.py [143 started in total] __ jit/metainterp/test/test_math.py [140 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_math.py . =========================== 1 passed in 3.55 seconds =========================== ++ 10:14:48 starting jit/metainterp/test/test_opencoder.py [144 started in total] __ jit/metainterp/test/test_opencoder.py [141 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_opencoder.py ........... ========================== 11 passed in 2.04 seconds =========================== ++ 10:14:52 starting jit/metainterp/test/test_pyjitpl.py [145 started in total] __ jit/metainterp/test/test_pyjitpl.py [142 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/test/test_pyjitpl.py s.. ===================== 2 passed, 1 skipped in 1.88 seconds ====================== ++ 10:14:57 starting jit/metainterp/test/test_quasiimmut.py [146 started in total] __ jit/metainterp/test/test_quasiimmut.py [143 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items jit/metainterp/test/test_quasiimmut.py ...............s..... ===================== 20 passed, 1 skipped in 8.46 seconds ===================== ++ 10:15:09 starting jit/metainterp/test/test_rawmem.py [147 started in total] __ jit/metainterp/test/test_rawmem.py [144 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items jit/metainterp/test/test_rawmem.py ........ =========================== 8 passed in 3.89 seconds =========================== ++ 10:15:16 starting jit/metainterp/test/test_recursive.py [148 started in total] __ jit/metainterp/test/test_dict.py [145 done in total, somefailed=True] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit/metainterp/test/test_dict.py .......FF...............s.ss.....s......s. =================================== FAILURES =================================== _______________________ TestLLtype.test_repeated_lookup ________________________ self = <rpython.jit.metainterp.test.test_dict.TestLLtype instance at 0xf3ec0cac> def test_repeated_lookup(self): if type(self.newdict()) is not dict: py.test.skip("this is an r_dict test") myjitdriver = JitDriver(greens = [], reds = ['n', 'd']) class Wrapper(object): _immutable_fields_ = ["value"] def __init__(self, value): self.value = value def eq_func(a, b): return a.value == b.value def hash_func(x): return objectmodel.compute_hash(x.value) def f(n): d = None while n > 0: myjitdriver.jit_merge_point(n=n, d=d) d = objectmodel.r_dict(eq_func, hash_func) y = Wrapper(str(n)) d[y] = n - 1 n = d[y] return d[Wrapper(str(n + 1))] # XXX <arigo> unsure I see the point of this test: the repeated # dict lookup is *not* elided so far, and the test happens to # check this... with rdict.py, it's a write followed by a read, # where the dict cache is thrown away after the first lookup # (correctly: we don't want the two lookups to return the exact # same result!). With rordereddict.py, FLAG_STORE lookups are # not cached anyway. res = self.meta_interp(f, [100], listops=True) assert res == f(50) self.check_resops({'new_array_clear': 2, 'getfield_gc_r': 2, 'guard_true': 4, 'jump': 1, 'new_with_vtable': 2, 'getinteriorfield_gc_i': 2, 'setfield_gc': 14, 'int_gt': 2, 'int_sub': 2, 'call_i': 4, 'call_n': 2, 'call_r': 2, 'int_ge': 2, 'cond_call_value_i': 2, 'strhash': 4, 'guard_no_exception': 8, 'new': 2, > 'guard_nonnull': 2}) jit/metainterp/test/test_dict.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf3a60e4c> insns = {'call_i': 4, 'call_n': 2, 'call_r': 2, 'cond_call_value_i': 2, ...} expected = {'call_i': 4, 'call_n': 2, 'call_r': 2, 'cond_call_value_i': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'call_i': 4,...ue_i': 2, ...} == {'call_i': 4, ...ue_i': 2, ...} E Omitting 17 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: live [44] -> 46 bh: int_return [<BHInterp <JitCode 'll_call_lookup_function_look_inside_iff__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed'>>, 0] -> LeaveFrame! bh: live [11] -> 13 bh: goto_if_not_int_ge [0, 0, 55, 18] -> 18 bh: getfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')] -> * GCREF hidden bh: new [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, SizeDescr(<GcStruct Interior { ptr, index }>)] -> * GCREF hidden bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')] bh: setfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, 0, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')] bh: getfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')] -> * GCREF hidden bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')] -> 0 bh: getinteriorfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, 0, InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')] -> 0 bh: int_return [<BHInterp <JitCode 'll_dict_getitem_with_hash__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed'>>, 0] -> LeaveFrame! bh: live [71] -> 73 bh: goto_if_not_int_gt [0, 0, 81, 78] -> 81 bh: int_add [0, 1] -> 1 bh: residual_call_ir_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)] -> * GCREF hidden bh: live [94] -> 96 bh: new_with_vtable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)] -> * GCREF hidden bh: inline_call_r_v [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <JitCode 'Wrapper.__init__'>, [<* GCREF hidden>, <* GCREF hidden>]] bh: live [107] -> 109 bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <JitCode 'll_dict_getitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr'>, [<* GCREF hidden>, <* GCREF hidden>]] -> 0 bh: live [117] -> 119 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 716 blocks (13%) [rtyper] specializing: 200 / 726 blocks (27%) [rtyper] specializing: 300 / 726 blocks (41%) [rtyper] specializing: 400 / 730 blocks (54%) [rtyper] specializing: 500 / 734 blocks (68%) [rtyper] specializing: 600 / 734 blocks (81%) [rtyper] specializing: 700 / 734 blocks (95%) [rtyper] -=- specialized 736 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 17 callsites. [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3295___simple_call__function_ at 0xf3a2e7cc>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3295___simple_call__function_ at 0xf3a2e7cc>; should have be removed [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] specializing: 800 / 801 blocks (99%) [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3299___simple_call__function_ at 0xf39e008c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3299___simple_call__function_ at 0xf39e008c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3305___simple_call__function_ at 0xf3a39dac>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3305___simple_call__function_ at 0xf3a39dac>; should have be removed [rtyper] -=- specialized 0 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v3320___simple_call__function_ at 0xf398548c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xf399984c>; should have be removed [jitcodewriter:info] There are 40 JitCode instances. [jitcodewriter:info] There are 157 -live- ops. Size of liveness is 175 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 22 effectinfos: [jitcodewriter] 4 descrs for arrays [jitcodewriter] 15 descrs for fields [jitcodewriter] 3 descrs for interiorfields [jitcodewriter] -> 19 bitstrings, mean length 1.1, max length 2 [c5fd5de3b5c2680] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5de3bbf4580] {jit-tco removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd5de3bc02c00] jit-tco} [c5fd5de3bc2ed00] {jit-tco removed frame hash_func [c5fd5de3bc3c400] jit-tco} [c5fd5de3bdbca80] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed [c5fd5de3bdcaf00] jit-tco} [c5fd5de3bdf3b00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed [c5fd5de3be00e00] jit-tco} [c5fd5de3be63c80] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd5de3be71180] jit-tco} [c5fd5de3bf86e80] {jit-tco removed frame ll_call_lookup_function__v3291___simple_call__function_ [c5fd5de3bf94d00] jit-tco} [c5fd5de3c200f00] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed [c5fd5de3c210f00] jit-tco} [c5fd5de3c6b1000] {jit-tco removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd5de3c6c0200] jit-tco} [c5fd5de3c706b80] {jit-tco removed frame hash_func [c5fd5de3c714600] jit-tco} [c5fd5de3c875c80] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd5de3c883b00] jit-tco} (jitdriver: no get_printable_location) [c5fd5de3cd15980] {jit-trace-done trace length: 288 number operations: 48 total snapshots: 18 snapshot data: 180 snapshot array data: 110 bigint consts: 7 7 float consts: 0 0 ref consts: 2 0 2 descrs: 1 [c5fd5de3cd45780] jit-trace-done} [c5fd5de3cd7e000] {jit-log-noopt # Traced loop or bridge with 47 ops [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) setfield_gc(p2, ConstPtr(ptr3), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p2, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) setfield_gc(p2, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) p9 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception() p10 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p10, p9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i12 = int_sub(i0, 1) i14 = same_as_i(12) guard_nonnull(p9) i15 = strhash(p9) p16 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p16, p9, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i18 = cond_call_value_i(i15, ConstClass(_ll_strhash__rpy_stringPtr), p9, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) i20 = same_as_i(18) p22 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) setfield_gc(p2, p22, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) setfield_gc(p2, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) i27 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p2, p10, i18, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) guard_no_exception() call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p2, p10, i12, i18, i27, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception() p29 = getfield_gc_r(p10, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) guard_nonnull(p29) i30 = strhash(p29) p31 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>)) setfield_gc(p31, p29, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0')) i33 = cond_call_value_i(i30, ConstClass(_ll_strhash__rpy_stringPtr), p29, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) i36 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p2, p10, i33, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception() i38 = int_ge(i36, 0) guard_true(i38) p39 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) p40 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p40, p39, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p40, i36, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) i41 = getinteriorfield_gc_i(p39, i36, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i43 = int_gt(i41, 0) guard_true(i43) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i41, p2, descr=<Loop-1>) [c5fd5de3cfd1500] jit-log-noopt} [c5fd5de3cfe4000] {jit-optimize [c5fd5de3d009380] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39b358c>) [i0, p3] i5 = int_add(i0, -1) guard_nonnull(p3, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf39baf2c>) [i0, p3] i6 = strhash(p3) i8 = cond_call_value_i(i6, ConstClass(_ll_strhash__rpy_stringPtr), p3, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p9 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p11 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p9, p11, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p9, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p12, p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i17 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p9, p12, i8, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p9, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c074c>) [p9, p12, i8, i5, i17] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p9, p12, i5, i8, i17, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c094c>) [p9, p12] i22 = strhash(p3) i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p9, p12, i8, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c080c>) [p9, i25] i27 = int_ge(i25, 0) guard_true(i27, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf39c0cac>) [p9, i25] p28 = getfield_gc_r(p9, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) # i25: (0 <= 0b0?...?) IntBound.nonnegative() i29 = getinteriorfield_gc_i(p28, i25, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i31 = int_gt(i29, 0) guard_true(i31, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394546c>) [p9, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5de3e146a80] jit-log-intbounds} [c5fd5de3e1f7900] {jit-log-exported-state [i44, r45] INP(i44 = getinteriorfield_gc_i(r46, i47, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))) INP(r45 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))) HeapOp(r46 = getfield_gc_r(r45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')), r48 = getfield_gc_r(r45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))) PureOp(i49 = int_gt(i44, 0/ci)) [c5fd5de3e220b00] jit-log-exported-state} [c5fd5de3e22f780] jit-optimize} [c5fd5de3e248000] {jit-optimize [c5fd5de3e359a80] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) p4 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i2, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3945c0c>) [i2, p4] i6 = int_add(i2, -1) guard_nonnull(p4, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf3945eac>) [i2, p4] i7 = strhash(p4) i9 = cond_call_value_i(i7, ConstClass(_ll_strhash__rpy_stringPtr), p4, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p10 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p12 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p10, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p10, p12, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p13, p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i18 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p10, p13, i9, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p10, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949a4c>) [p10, p13, i9, i6, i18] # i6: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p10, p13, i6, i9, i18, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949bcc>) [p10, p13] i23 = strhash(p4) i26 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p10, p13, i9, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949b6c>) [p10, i26] i28 = int_ge(i26, 0) guard_true(i28, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394c20c>) [p10, i26] p29 = getfield_gc_r(p10, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) # i26: (0 <= 0b0?...?) IntBound.nonnegative() i30 = getinteriorfield_gc_i(p29, i26, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i32 = int_gt(i30, 0) guard_true(i32, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394c6cc>) [p10, i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5de3f56a900] jit-log-intbounds} # i30: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i30, p10, descr=TargetToken(-208352916)) [c5fd5de3f6d3a80] jit-optimize} [c5fd5de3f6e0f00] {jit-log-short-preamble [] label(i50, p51) jump() [c5fd5de3f6f7480] jit-log-short-preamble} [c5fd5de3f7aec80] {jit-backend [c5fd5de3f7c9980] {jit-log-compiling-loop [i52, p53] label(i52, p53, descr=TargetToken(-207932628)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p55 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i52, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<Guard0xf39b358c>) [i52, p55] i57 = int_add(i52, -1) guard_nonnull(p55, descr=<Guard0xf39baf2c>) [i52, p55] i58 = strhash(p55) i60 = cond_call_value_i(i58, ConstClass(_ll_strhash__rpy_stringPtr), p55, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p45 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p62 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p63 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p45, p62, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p45, ConstPtr(ptr65), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p63, p55, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i68 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p45, p63, i60, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p45, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<Guard0xf39c074c>) [p45, p63, i60, i57, i68] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p45, p63, i57, i60, i68, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<Guard0xf39c094c>) [p45, p63] i73 = strhash(p55) i47 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p45, p63, i60, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<Guard0xf39c080c>) [p45, i47] i77 = int_ge(i47, 0) guard_true(i77, descr=<Guard0xf39c0cac>) [p45, i47] p46 = getfield_gc_r(p45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) i44 = getinteriorfield_gc_i(p46, i47, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i49 = int_gt(i44, 0) guard_true(i49, descr=<Guard0xf394546c>) [p45, i47] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i44, p45, descr=TargetToken(-208352916)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p80 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i44, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<Guard0xf3945c0c>) [i44, p80] i82 = int_add(i44, -1) guard_nonnull(p80, descr=<Guard0xf3945eac>) [i44, p80] i83 = strhash(p80) i85 = cond_call_value_i(i83, ConstClass(_ll_strhash__rpy_stringPtr), p80, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p86 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p88 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p89 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p86, ConstPtr(ptr90), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p86, p88, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p89, p80, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i94 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p86, p89, i85, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p86, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<Guard0xf3949a4c>) [p86, p89, i85, i82, i94] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p86, p89, i82, i85, i94, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<Guard0xf3949bcc>) [p86, p89] i99 = strhash(p80) i102 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p86, p89, i85, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<Guard0xf3949b6c>) [p86, i102] i104 = int_ge(i102, 0) guard_true(i104, descr=<Guard0xf394c20c>) [p86, i102] p105 = getfield_gc_r(p86, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) i106 = getinteriorfield_gc_i(p105, i102, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i108 = int_gt(i106, 0) guard_true(i108, descr=<Guard0xf394c6cc>) [p86, i102] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i106, p86, descr=TargetToken(-208352916)) [c5fd5de3f9fd780] jit-log-compiling-loop} [c5fd5de3fa11000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5de3fa1de80] jit-mem-looptoken-alloc} [c5fd5de3fb19080] jit-backend} compiled new loop [c5fd5de3fb27300] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 65 ops [i0, p1] label(i0, p1, descr=TargetToken(-207932628)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<Guard0xf39b358c>) [i0, p3] i5 = int_add(i0, -1) guard_nonnull(p3, descr=<Guard0xf39baf2c>) [i0, p3] i6 = strhash(p3) i8 = cond_call_value_i(i6, ConstClass(_ll_strhash__rpy_stringPtr), p3, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p9 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p11 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p9, p11, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p9, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p12, p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i17 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p9, p12, i8, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p9, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<Guard0xf39c074c>) [p9, p12, i8, i5, i17] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p9, p12, i5, i8, i17, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<Guard0xf39c094c>) [p9, p12] i22 = strhash(p3) i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p9, p12, i8, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<Guard0xf39c080c>) [p9, i25] i27 = int_ge(i25, 0) guard_true(i27, descr=<Guard0xf39c0cac>) [p9, i25] p28 = getfield_gc_r(p9, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) i29 = getinteriorfield_gc_i(p28, i25, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i31 = int_gt(i29, 0) guard_true(i31, descr=<Guard0xf394546c>) [p9, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i29, p9, descr=TargetToken(-208352916)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p33 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i29, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)) guard_no_exception(descr=<Guard0xf3945c0c>) [i29, p33] i35 = int_add(i29, -1) guard_nonnull(p33, descr=<Guard0xf3945eac>) [i29, p33] i36 = strhash(p33) i38 = cond_call_value_i(i36, ConstClass(_ll_strhash__rpy_stringPtr), p33, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>)) p39 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)) p41 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) p42 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)) setfield_gc(p39, ConstPtr(ptr43), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items')) setfield_gc(p39, p41, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes')) setfield_gc(p42, p33, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value')) i47 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p39, p42, i38, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>)) setfield_gc(p39, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter')) setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items')) setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no')) guard_no_exception(descr=<Guard0xf3949a4c>) [p39, p42, i38, i35, i47] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p39, p42, i35, i38, i47, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>)) guard_no_exception(descr=<Guard0xf3949bcc>) [p39, p42] i52 = strhash(p33) i55 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p39, p42, i38, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>)) guard_no_exception(descr=<Guard0xf3949b6c>) [p39, i55] i57 = int_ge(i55, 0) guard_true(i57, descr=<Guard0xf394c20c>) [p39, i55] p58 = getfield_gc_r(p39, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')) i59 = getinteriorfield_gc_i(p58, i55, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i61 = int_gt(i59, 0) guard_true(i61, descr=<Guard0xf394c6cc>) [p39, i55] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, p39, descr=TargetToken(-208352916)) [c5fd5de3fd59d00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5de82aa5880] jit-tracing} ____________________ TestLLtype.test_unrolling_of_dict_iter ____________________ self = <rpython.jit.metainterp.test.test_dict.TestLLtype instance at 0xf394902c> def test_unrolling_of_dict_iter(self): driver = JitDriver(greens = [], reds = ['n']) def f(n): while n > 0: driver.jit_merge_point(n=n) d = self.newdict() d[1] = 1 for elem in d: n -= elem return n res = self.meta_interp(f, [10], listops=True) assert res == 0 self.check_simple_loop({'int_sub': 1, 'int_gt': 1, 'guard_true': 1, > 'jump': 1}) jit/metainterp/test/test_dict.py:217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:208: in check_simple_loop get_stats().check_simple_loop(expected=expected, **check) jit/metainterp/history.py:1007: in check_simple_loop return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf371cd6c> insns = {'guard_true': 1, 'int_add': 1, 'int_gt': 1, 'jump': 1} expected = {'guard_true': 1, 'int_gt': 1, 'int_sub': 1, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 1, 'jump': 1} == {'guard_true':... 1, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 1} E Right contains more items: E {'int_sub': 1} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 93, 90] -> 93 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 579 blocks (17%) [rtyper] specializing: 200 / 585 blocks (34%) [rtyper] specializing: 300 / 585 blocks (51%) [rtyper] specializing: 400 / 595 blocks (67%) [rtyper] specializing: 500 / 597 blocks (83%) [rtyper] -=- specialized 597 blocks -=- [rtyper] specializing: 600 / 601 blocks (99%) [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 18 callsites. [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 0 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1225)_ll_dictnext__v3675___simple_call__function_ at 0xf36c8a4c>; should have be removed [rtyper] -=- specialized 0 more blocks -=- [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v3710___simple_call__function_ at 0xf36dc2ac>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3683___simple_call__function_ at 0xf3703f6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3683___simple_call__function_ at 0xf3703f6c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3690___simple_call__function_ at 0xf368d80c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3690___simple_call__function_ at 0xf368d80c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3691___simple_call__function_ at 0xf369814c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3691___simple_call__function_ at 0xf369814c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xf36a252c>; should have be removed [jitcodewriter:info] There are 36 JitCode instances. [jitcodewriter:info] There are 108 -live- ops. Size of liveness is 116 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 13 effectinfos: [jitcodewriter] 4 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 18 bitstrings, mean length 1.0, max length 2 [c5fd5dedfeeab00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5dedff89d80] {jit-tco removed frame newdict [c5fd5dedff9d200] jit-tco} [c5fd5dee01b6c00] {jit-tco removed frame ll_dict_setitem__dicttablePtr_Signed_Signed [c5fd5dee01cae00] jit-tco} [c5fd5dee0203c00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_Signed_Signed_Signed [c5fd5dee0216700] jit-tco} [c5fd5dee02a4880] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd5dee02b7b00] jit-tco} [c5fd5dee044c180] {jit-tco removed frame ll_call_lookup_function__v3680___simple_call__function_ [c5fd5dee045fc80] jit-tco} [c5fd5dee0496780] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_Signed_Signed_Signed_UCHARLlT [c5fd5dee04a9280] jit-tco} [c5fd5dee079ef00] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_Signed_Signed_Signed [c5fd5dee07b3180] jit-tco} [c5fd5dee07eb200] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_Signed_Signed_Signed_Signed [c5fd5dee07fdd00] jit-tco} [c5fd5dee08d1d00] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd5dee08e6b00] jit-tco} [c5fd5dee110ad00] {jit-tco removed frame _ll_dictnext_look_inside_iff__dictiterPtr [c5fd5dee1120680] jit-tco} [c5fd5dee144a580] {jit-tco removed frame _ll_dictnext_look_inside_iff__dictiterPtr [c5fd5dee1460500] jit-tco} (jitdriver: no get_printable_location) [c5fd5dee169f880] {jit-trace-done trace length: 279 number operations: 45 total snapshots: 6 snapshot data: 64 snapshot array data: 68 bigint consts: 2 2 float consts: 0 0 ref consts: 6 3 2 descrs: 1 [c5fd5dee16e5d80] jit-trace-done} [c5fd5dee1728e00] {jit-log-noopt # Traced loop or bridge with 45 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>)) setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) i8 = same_as_i(7) p10 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >)) setfield_gc(p1, p10, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no')) setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) i14 = same_as_i(12) i16 = getarrayitem_gc_i(p10, 1, descr=ArrayDescr(<GcArray of UCHAR >)) i18 = int_ge(i16, 2) guard_false(i18) i20 = int_eq(i16, 1) guard_false(i20) setarrayitem_gc(p10, 1, 2, descr=ArrayDescr(<GcArray of UCHAR >)) i24 = same_as_i(19) p26 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: Signed, value: Signed } >)) call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr28), p26, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: Signed, value: Signed } >, <* GcArray of odictentry { key: Signed, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf36e5f8c: EF=2 OS=1>)) setfield_gc(p1, p26, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries')) setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter')) p33 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p33, p26, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p33, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setinteriorfield_gc(p26, 0, 1, descr=InteriorFieldDescr(<GcArray of odictentry { key: Signed, value: Signed } >, 'key')) setinteriorfield_gc(p26, 0, 1, descr=InteriorFieldDescr(<GcArray of odictentry { key: Signed, value: Signed } >, 'value')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items')) p41 = new(descr=SizeDescr(<GcStruct dictiter { dict, index }>)) setfield_gc(p41, p1, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'dict')) setfield_gc(p41, 0, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'index')) p43 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>)) setfield_gc(p43, p26, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')) setfield_gc(p43, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index')) setfield_gc(p41, 1, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'index')) i47 = int_sub(i0, 1) setfield_gc(p41, ConstPtr(null), descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'dict')) i50 = int_gt(i47, 0) guard_true(i50) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i47, descr=<Loop-1>) [c5fd5dee1a43480] jit-log-noopt} [c5fd5dee1a5d080] {jit-optimize [c5fd5dee1a89d00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf36bda8c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5dee238b600] jit-log-intbounds} [c5fd5dee2447c00] {jit-log-exported-state [i51] PureOp(i52 = int_gt(i51, 0/ci)) INP(i51 = int_add(i53, -1/ci)) [c5fd5dee246c380] jit-log-exported-state} [c5fd5dee247bc00] jit-optimize} [c5fd5dee249f080] {jit-optimize [c5fd5dee260b080] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf36c36ec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5dee30c9a80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-211010420)) [c5fd5dee3282b00] jit-optimize} [c5fd5dee3295380] {jit-log-short-preamble [] label(i54) jump() [c5fd5dee32b3e00] jit-log-short-preamble} [c5fd5dee32fa300] {jit-backend [c5fd5dee331b080] {jit-log-compiling-loop [i53] label(i53, descr=TargetToken(-211035476)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i53, -1) i52 = int_gt(i51, 0) guard_true(i52, descr=<Guard0xf36bda8c>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(-211010420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0xf36c36ec>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(-211010420)) [c5fd5dee3397e80] jit-log-compiling-loop} [c5fd5dee33b2000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5dee33c3d80] jit-mem-looptoken-alloc} [c5fd5dee3404c80] jit-backend} compiled new loop [c5fd5dee3417180] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-211035476)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf36bda8c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-211010420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf36c36ec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-211010420)) [c5fd5dee34a4d00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5dee36b5600] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_dict.py::TestLLtype::()::test_repeated_lookup FAIL jit/metainterp/test/test_dict.py::TestLLtype::()::test_unrolling_of_dict_iter =============== 2 failed, 35 passed, 5 skipped in 161.48 seconds =============== ++ 10:15:18 starting jit/metainterp/test/test_resoperation.py [149 started in total] __ jit/metainterp/test/test_resoperation.py [146 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items jit/metainterp/test/test_resoperation.py ......ssss..... ===================== 11 passed, 4 skipped in 1.79 seconds ===================== ++ 10:15:22 starting jit/metainterp/test/test_resume.py [150 started in total] __ jit/metainterp/test/test_resume.py [147 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 37 items jit/metainterp/test/test_resume.py ............................ss....... ===================== 35 passed, 2 skipped in 2.67 seconds ===================== ++ 10:15:27 starting jit/metainterp/test/test_resumecode.py [151 started in total] __ jit/metainterp/test/test_memmgr.py [148 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_memmgr.py . ========================== 1 passed in 46.84 seconds =========================== ++ 10:15:36 starting jit/metainterp/test/test_send.py [152 started in total] __ jit/metainterp/test/test_resumecode.py [149 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_resumecode.py ..... =========================== 5 passed in 7.81 seconds =========================== ++ 10:15:37 starting jit/metainterp/test/test_slist.py [153 started in total] __ jit/metainterp/test/test_slist.py [150 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit/metainterp/test/test_slist.py ...... =========================== 6 passed in 6.65 seconds =========================== ++ 10:15:45 starting jit/metainterp/test/test_string.py [154 started in total] __ jit/metainterp/test/test_send.py [151 done in total, somefailed=True] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 22 items jit/metainterp/test/test_send.py F.FF..FFF............. =================================== FAILURES =================================== __________________________ TestLLtype.test_green_send __________________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf579d88c> def test_green_send(self): myjitdriver = JitDriver(greens = ['i'], reds = ['counter']) lst = ["123", "45"] def f(i): counter = 20 c = 0 while counter > 0: myjitdriver.can_enter_jit(counter=counter, i=i) myjitdriver.jit_merge_point(counter=counter, i=i) s = lst[i] c = len(s) counter -= 1 return c res = self.meta_interp(f, [1]) assert res == 2 self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2, > 'int_sub': 2}) # all folded away jit/metainterp/test/test_send.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf574884c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58 bh: int_return [<BHInterp <JitCode 'f'>>, 2] -> LeaveFrame! ~~~ return value: 2 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 18 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:699)ll_getitem__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xf56aea4c>; should have be removed [jitcodewriter:info] There are 3 JitCode instances. [jitcodewriter:info] There are 7 -live- ops. Size of liveness is 18 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd5ee22cc2900] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ee282e2c80] {jit-trace-done trace length: 41 number operations: 7 total snapshots: 2 snapshot data: 24 snapshot array data: 16 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ee28329980] jit-trace-done} [c5fd5ee2837b200] {jit-log-noopt # Traced loop or bridge with 7 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_sub(i0, 1) i4 = int_gt(i2, 0) guard_true(i4) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i2, descr=<Loop-1>) [c5fd5ee2840b500] jit-log-noopt} [c5fd5ee2842c600] {jit-optimize [c5fd5ee2854d100] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5682bec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee28b90f80] jit-log-intbounds} [c5fd5ee28c4ee00] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -1/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd5ee28c74600] jit-log-exported-state} [c5fd5ee28c84200] jit-optimize} [c5fd5ee28ca8d80] {jit-optimize [c5fd5ee28e1c580] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf56293ec>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee29630900] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-178087124)) [c5fd5ee297e5500] jit-optimize} [c5fd5ee297f9200] {jit-log-short-preamble [] label(i8) jump() [c5fd5ee29819100] jit-log-short-preamble} [c5fd5ee29880d80] {jit-backend [c5fd5ee298ae980] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(-177722004)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0xf5682bec>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(-178087124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0xf56293ec>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(-178087124)) [c5fd5ee2992dd00] jit-log-compiling-loop} [c5fd5ee29949080] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5ee2995b380] jit-mem-looptoken-alloc} [c5fd5ee2999d880] jit-backend} compiled new loop [c5fd5ee299b1680] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-177722004)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf5682bec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-178087124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf56293ec>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-178087124)) [c5fd5ee29a41d00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ee29d20100] jit-tracing} _________________ TestLLtype.test_send_to_single_target_method _________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf551686c> def test_send_to_single_target_method(self): myjitdriver = JitDriver(greens = [], reds = ['i', 'counter']) class Foo: def meth(self, y): return self.x + y def externfn(i): foo = Foo() foo.x = i * 42 return foo def f(i): counter = 20 res = 0 while counter > 0: myjitdriver.can_enter_jit(counter=counter, i=i) myjitdriver.jit_merge_point(counter=counter, i=i) foo = externfn(i) res = foo.meth(i) counter -= 1 return res res = self.meta_interp(f, [1], policy=StopAtXPolicy(externfn), backendopt=True) assert res == 43 self.check_resops({'int_gt': 2, 'getfield_gc_i': 2, 'guard_true': 2, 'int_sub': 2, 'jump': 1, 'call_r': 2, 'guard_no_exception': 2, > 'int_add': 2}) jit/metainterp/test/test_send.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf55af96c> insns = {'call_r': 2, 'getfield_gc_i': 2, 'guard_no_exception': 2, 'guard_true': 2, ...} expected = {'call_r': 2, 'getfield_gc_i': 2, 'guard_no_exception': 2, 'guard_true': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'call_r': 2,...true': 2, ...} == {'call_r': 2, ...true': 2, ...} E Omitting 6 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: live [25] -> 27 bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf55affac>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')] -> 42 bh: int_add [42, 1] -> 43 bh: int_sub [1, 1] -> 0 bh: live [41] -> 43 bh: goto_if_not_int_gt [0, 0, 53, 48] -> 53 bh: int_return [<BHInterp <JitCode 'f'>>, 43] -> LeaveFrame! ~~~ return value: 43 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 9 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 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 4 -live- ops. Size of liveness is 13 bytes [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 [c5fd5ee412b2580] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ee41620880] {jit-trace-done trace length: 60 number operations: 12 total snapshots: 3 snapshot data: 36 snapshot array data: 24 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ee41668700] jit-trace-done} [c5fd5ee416a5700] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception() i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i5 = int_add(i4, i0) i7 = int_sub(i1, 1) i9 = int_gt(i7, 0) guard_true(i9) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i7, descr=<Loop-1>) [c5fd5ee41730080] jit-log-noopt} [c5fd5ee4173fa80] {jit-optimize [c5fd5ee41760780] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf557b30c>) [i0, i1, p3] i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i5 = int_add(i4, i0) # i5 -> (?) IntBound.unbounded() i7 = int_add(i1, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf557b92c>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee41d62700] jit-log-intbounds} [c5fd5ee41e13300] {jit-log-exported-state [i10, i11] INP(i10) PureOp(i12 = int_gt(i11, 0/ci)) INP(i11 = int_add(i13, -1/ci)) [c5fd5ee41e2f280] jit-log-exported-state} [c5fd5ee41e3a200] jit-optimize} [c5fd5ee41e51f00] {jit-optimize [c5fd5ee41fb5080] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p4 = call_r(ConstClass(externfn), i3, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf557bf8c>) [i3, i5, p4] i6 = getfield_gc_i(p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i7 = int_add(i6, i3) # i7 -> (?) IntBound.unbounded() # i5: (1 <= 0b0?...?) IntBound(1, MAXINT) i9 = int_add(i5, -1) # i9: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i11 = int_gt(i9, 0) guard_true(i11, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf558036c>) [i3, i5, p4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee4264e400] jit-log-intbounds} # i9: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, i9, descr=TargetToken(-178780148)) [c5fd5ee427df000] jit-optimize} [c5fd5ee427ec300] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd5ee42801a80] jit-log-short-preamble} [c5fd5ee42849180] {jit-backend [c5fd5ee42860080] {jit-log-compiling-loop [i10, i13] label(i10, i13, descr=TargetToken(-178800372)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p17 = call_r(ConstClass(externfn), i10, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<Guard0xf557b30c>) [i10, i13, p17] i18 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i19 = int_add(i18, i10) i11 = int_add(i13, -1) i12 = int_gt(i11, 0) guard_true(i12, descr=<Guard0xf557b92c>) [i10, i13, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(-178780148)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p23 = call_r(ConstClass(externfn), i10, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<Guard0xf557bf8c>) [i10, i11, p23] i24 = getfield_gc_i(p23, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i25 = int_add(i24, i10) i27 = int_add(i11, -1) i29 = int_gt(i27, 0) guard_true(i29, descr=<Guard0xf558036c>) [i10, i11, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i27, descr=TargetToken(-178780148)) [c5fd5ee428f6f00] jit-log-compiling-loop} [c5fd5ee42908f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5ee42915500] jit-mem-looptoken-alloc} [c5fd5ee4295b200] jit-backend} compiled new loop [c5fd5ee42967780] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, i1] label(i0, i1, descr=TargetToken(-178800372)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<Guard0xf557b30c>) [i0, i1, p3] i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i5 = int_add(i4, i0) i7 = int_add(i1, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0xf557b92c>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i7, descr=TargetToken(-178780148)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p11 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>)) guard_no_exception(descr=<Guard0xf557bf8c>) [i0, i7, p11] i12 = getfield_gc_i(p11, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')) i13 = int_add(i12, i0) i15 = int_add(i7, -1) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0xf558036c>) [i0, i7, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i15, descr=TargetToken(-178780148)) [c5fd5ee42a01e00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ee43310f80] jit-tracing} __________________ TestLLtype.test_red_send_to_green_receiver __________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf55c14ec> def test_red_send_to_green_receiver(self): myjitdriver = JitDriver(greens = ['i'], reds = ['counter', 'j']) class Foo(object): def meth(self, i): return 42 + i class Foobar(Foo): def meth(self, i): return 146 + i lst = [Foo(), Foo(), Foobar(), Foo(), Foobar(), Foo()] def f(i, j): counter = 20 res = 0 while counter > 0: myjitdriver.can_enter_jit(counter=counter, i=i, j=j) myjitdriver.jit_merge_point(counter=counter, i=i, j=j) foo = lst[i] res = foo.meth(j) counter -= 1 return res res = self.meta_interp(f, [4, -1]) assert res == 145 > self.check_resops(int_add=1) jit/metainterp/test/test_send.py:95: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf54b45ec> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 3, 'int_gt': 2, ...} expected = None, check = {'int_add': 1} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 3 'int_add', expected 1 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 75, 70] -> 75 bh: int_return [<BHInterp <JitCode 'f'>>, 145] -> LeaveFrame! ~~~ return value: 145 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 21 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:699)ll_getitem__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xf549fa4c>; should have be removed [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 8 -live- ops. Size of liveness is 23 bytes [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 [c5fd5ee4e842b80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ee4ea1f400] {jit-trace-done trace length: 47 number operations: 9 total snapshots: 2 snapshot data: 24 snapshot array data: 20 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ee4ea4e880] jit-trace-done} [c5fd5ee4ea8d000] {jit-log-noopt # Traced loop or bridge with 8 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 146) i5 = int_sub(i0, 1) i7 = int_gt(i5, 0) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i5, i1, descr=<Loop-1>) [c5fd5ee4eaffa80] jit-log-noopt} [c5fd5ee4eb0fe00] {jit-optimize [c5fd5ee4eb37680] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 146) # i3 -> (?) IntBound.unbounded() i5 = int_add(i0, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54d546c>) [i5, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee4f06e600] jit-log-intbounds} [c5fd5ee4f11cf00] {jit-log-exported-state [i8, i9] INP(i9) PureOp(i10 = int_add(i9, 146/ci)) PureOp(i11 = int_gt(i8, 0/ci)) INP(i8 = int_add(i12, -1/ci)) [c5fd5ee4f13d500] jit-log-exported-state} [c5fd5ee4f148100] jit-optimize} [c5fd5ee4f160b00] {jit-optimize [c5fd5ee4f2ca200] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i2: (1 <= 0b0?...?) IntBound(1, MAXINT) i4 = int_add(i2, -1) # i4: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i6 = int_gt(i4, 0) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54d508c>) [i4, i7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ee4f9af680] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, i8, descr=TargetToken(-179481812)) [c5fd5ee4fbc8e80] jit-optimize} [c5fd5ee4fbd5f00] {jit-log-short-preamble [] label(i13, i14) i16 = int_add(i14, 146) jump(i16) [c5fd5ee4fbf1c80] jit-log-short-preamble} [c5fd5ee4fc26c00] {jit-backend [c5fd5ee4fc40200] {jit-log-compiling-loop [i12, i9] label(i12, i9, descr=TargetToken(-179481108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i9, 146) i8 = int_add(i12, -1) i11 = int_gt(i8, 0) guard_true(i11, descr=<Guard0xf54d546c>) [i8, i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, i10, descr=TargetToken(-179481812)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i20 = int_add(i8, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0xf54d508c>) [i20, i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i9, i10, descr=TargetToken(-179481812)) [c5fd5ee4fc9d080] jit-log-compiling-loop} [c5fd5ee4fcaee00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5ee4fcbaf00] jit-mem-looptoken-alloc} [c5fd5ee4fcebc80] jit-backend} compiled new loop [c5fd5ee4fcf9b00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 14 ops [i0, i1] label(i0, i1, descr=TargetToken(-179481108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 146) i5 = int_add(i0, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0xf54d546c>) [i5, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i1, i3, descr=TargetToken(-179481812)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i5, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0xf54d508c>) [i9, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i1, i3, descr=TargetToken(-179481812)) [c5fd5ee4fd60780] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ee4ff7f300] jit-tracing} _____________________ TestLLtype.test_oosend_guard_failure _____________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf5120acc> def test_oosend_guard_failure(self): myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w']) class Base: pass class W1(Base): def __init__(self, x): self.x = x def incr(self): return W2(self.x + 1) def getvalue(self): return self.x class W2(Base): def __init__(self, y): self.y = y def incr(self): return W1(self.y + 100) def getvalue(self): return self.y def f(x, y): set_param(myjitdriver, 'max_unroll_loops', 5) if x & 1: w = W1(x) else: w = W2(x) while y > 0: myjitdriver.can_enter_jit(x=x, y=y, w=w) myjitdriver.jit_merge_point(x=x, y=y, w=w) w = w.incr() y -= 1 return w.getvalue() res = self.meta_interp(f, [3, 28]) assert res == f(3, 28) res = self.meta_interp(f, [4, 28]) assert res == f(4, 28) # This checks that the loop was originally aborted due to an # InvalidLoop condition, and was then unrolled, giving two copies # of the body in a single bigger loop with no failing guard except # the final one. self.check_trace_count(1) > self.check_resops(guard_class=1, int_add=4, int_sub=4) jit/metainterp/test/test_send.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5058b8c> insns = {'debug_merge_point': 6, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 4, ...} expected = None, check = {'guard_class': 1, 'int_add': 4, 'int_sub': 4} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 8 'int_add', expected 4 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: live [58] -> 60 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W1.getvalue> bh: live [69] -> 71 bh: int_guard_value [<AddressAsInt * fn W1.getvalue>] bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf512a42c: EF=2>)] -> 1417 bh: live [81] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 1417] -> LeaveFrame! ~~~ return value: 1417 bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: live [58] -> 60 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue> bh: live [69] -> 71 bh: int_guard_value [<AddressAsInt * fn W2.getvalue>] bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf506712c: EF=2>)] -> 1418 bh: live [81] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 1418] -> LeaveFrame! ~~~ return value: 1418 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 27 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 7 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5ef45d8ab00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ef4621bb80] {jit-trace-done trace length: 66 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ef46265000] jit-trace-done} [c5fd5ef462c6e80] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i9 = int_sub(i1, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i9, p7, descr=<Loop-1>) [c5fd5ef463beb00] jit-log-noopt} [c5fd5ef463d6200] {jit-optimize [c5fd5ef46412480] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509d24c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf509d90c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef46c56280] jit-log-intbounds} [c5fd5ef46dcd080] {jit-log-exported-state [i12, i13, r14] INP(i15 = int_add(i16, 100/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i13 = int_add(i17, -1/ci)) PureOp(i18 = int_gt(i13, 0/ci)) INP(i12) [c5fd5ef46e04900] jit-log-exported-state} [c5fd5ef46e15480] jit-optimize} [c5fd5ef46e37980] {jit-optimize [c5fd5ef47102700] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef4715ee00] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd5ef4716ff00] jit-abort} [c5fd5ef4717d780] jit-log-intbounds} [c5fd5ef471b2580] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd5ef47518f00] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5ef4755d700] jit-trace-done} [c5fd5ef475bb700] {jit-log-noopt # Traced loop or bridge with 11 ops [i19, i20, p21] guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i25 = int_add(i23, 1) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i28 = int_sub(i20, 1) i30 = int_gt(i28, 0) guard_true(i30) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i19, i28, p26, descr=<Loop-1>) [c5fd5ef47699380] jit-log-noopt} [c5fd5ef476af700] {jit-optimize [c5fd5ef476e9b00] {jit-log-intbounds [i0, i1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509d82c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a23cc>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef47f22a80] jit-log-intbounds} [c5fd5ef480b8900] {jit-log-exported-state [i31, i32, r33] INP(i34 = int_add(i35, 1/ci)) INP(i31) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) PureOp(i36 = int_gt(i32, 0/ci)) INP(i32 = int_add(i37, -1/ci)) [c5fd5ef480f2e00] jit-log-exported-state} [c5fd5ef48103980] jit-optimize} [c5fd5ef48129d00] {jit-optimize [c5fd5ef483fbc00] {jit-log-intbounds [i0, i1, p2] [c5fd5ef4842ee00] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd5ef48440580] jit-abort} [c5fd5ef4844d880] jit-log-intbounds} [c5fd5ef4845b180] jit-optimize} cancelled, tracing more... [c5fd5ef4847be80] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 3 [c5fd5ef484bf700] jit-trace-done} [c5fd5ef4851ec00] {jit-log-noopt # Traced loop or bridge with 22 ops [i38, i39, p40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i44 = int_add(i42, 100) p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i47 = int_sub(i39, 1) i49 = int_gt(i47, 0) guard_true(i49) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i53 = int_add(i51, 1) p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i56 = int_sub(i47, 1) i58 = int_gt(i56, 0) guard_true(i58) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i38, i56, p54, descr=<Loop-1>) [c5fd5ef48684480] jit-log-noopt} [c5fd5ef4869b600] {jit-optimize [c5fd5ef486d5200] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50a810c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a88ec>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a8a6c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef49440300] jit-log-intbounds} [c5fd5ef495bc880] {jit-log-exported-state [i59, i60, r61] INP(i60 = int_add(i62, -2/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i63 = int_add(i64, 101/ci)) PureOp(i65 = int_gt(i60, 0/ci)) INP(i59) [c5fd5ef495f5500] jit-log-exported-state} [c5fd5ef49606680] jit-optimize} [c5fd5ef49627f80] {jit-optimize [c5fd5ef49910b80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, 100) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50a876c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i3, 101) # i6: (2 <= 0b0?...?) IntBound(2, MAXINT) i15 = int_add(i6, -2) # i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2) i17 = int_gt(i15, 0) guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a266c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef4a9fb300] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(-183885140)) [c5fd5ef4ad32280] jit-optimize} [c5fd5ef4ad46f00] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd5ef4ad6af00] jit-log-short-preamble} [c5fd5ef4ade5980] {jit-backend [c5fd5ef4ae06100] {jit-log-compiling-loop [i59, i62, p70] label(i59, i62, p70, descr=TargetToken(-183858516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf50a810c>) [i59, i62, p70] i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i73 = int_add(i64, 100) i75 = int_add(i62, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0xf50a88ec>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i63 = int_add(i64, 101) i60 = int_add(i62, -2) i65 = int_gt(i60, 0) guard_true(i65, descr=<Guard0xf50a8a6c>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i63, descr=TargetToken(-183885140)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i63, 100) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0xf50a876c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i63, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0xf50a266c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(-183885140)) [c5fd5ef4af09180] jit-log-compiling-loop} [c5fd5ef4af23f80] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd5ef4af36a80] jit-mem-looptoken-alloc} [c5fd5ef4afabb00] jit-backend} compiled new loop [c5fd5ef4afbec00] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-183858516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf50a810c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf50a88ec>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf50a8a6c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(-183885140)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i12, 100) i20 = int_add(i14, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0xf50a876c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_add(i12, 101) i26 = int_add(i14, -2) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf50a266c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(-183885140)) [c5fd5ef4b0d4980] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ef4b67d300] jit-tracing} [rtyper] -=- specialized 27 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 7 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5ef518dc280] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ef51dd2d00] {jit-trace-done trace length: 66 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ef51e26880] jit-trace-done} [c5fd5ef51eaee80] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i9 = int_sub(i1, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i9, p7, descr=<Loop-1>) [c5fd5ef51fcaf00] jit-log-noopt} [c5fd5ef51fe4500] {jit-optimize [c5fd5ef52026a00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5083a4c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5083f8c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef528a0100] jit-log-intbounds} [c5fd5ef52a2c300] {jit-log-exported-state [i12, i13, r14] INP(i15 = int_add(i16, 1/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i13 = int_add(i17, -1/ci)) INP(i12) PureOp(i18 = int_gt(i13, 0/ci)) [c5fd5ef52a6ac80] jit-log-exported-state} [c5fd5ef52a7d400] jit-optimize} [c5fd5ef52aa6000] {jit-optimize [c5fd5ef52e4cd80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef52eb6c80] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd5ef52ec9380] jit-abort} [c5fd5ef52ed8980] jit-log-intbounds} [c5fd5ef52ef0800] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd5ef532b5d80] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5ef53303980] jit-trace-done} [c5fd5ef5336ea80] {jit-log-noopt # Traced loop or bridge with 11 ops [i19, i20, p21] guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i25 = int_add(i23, 100) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i28 = int_sub(i20, 1) i30 = int_gt(i28, 0) guard_true(i30) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i19, i28, p26, descr=<Loop-1>) [c5fd5ef5344b780] jit-log-noopt} [c5fd5ef53462500] {jit-optimize [c5fd5ef534a5500] {jit-log-intbounds [i0, i1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50862cc>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5086b6c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef53b91e80] jit-log-intbounds} [c5fd5ef53cc5100] {jit-log-exported-state [i31, i32, r33] INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i34 = int_add(i35, 100/ci)) PureOp(i36 = int_gt(i32, 0/ci)) INP(i32 = int_add(i37, -1/ci)) INP(i31) [c5fd5ef53d13880] jit-log-exported-state} [c5fd5ef53d28280] jit-optimize} [c5fd5ef53d52400] {jit-optimize [c5fd5ef53f5c200] {jit-log-intbounds [i0, i1, p2] [c5fd5ef53f83100] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd5ef53f8e680] jit-abort} [c5fd5ef53f98b00] jit-log-intbounds} [c5fd5ef53fa2100] jit-optimize} cancelled, tracing more... [c5fd5ef53fb9c00] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 3 [c5fd5ef53fe6700] jit-trace-done} [c5fd5ef54029900] {jit-log-noopt # Traced loop or bridge with 22 ops [i38, i39, p40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i44 = int_add(i42, 1) p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i47 = int_sub(i39, 1) i49 = int_gt(i47, 0) guard_true(i49) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i53 = int_add(i51, 100) p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i56 = int_sub(i47, 1) i58 = int_gt(i56, 0) guard_true(i58) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i38, i56, p54, descr=<Loop-1>) [c5fd5ef5411fc80] jit-log-noopt} [c5fd5ef5412fa80] {jit-optimize [c5fd5ef54158880] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf500b90c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf501112c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf501128c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef54aa2000] jit-log-intbounds} [c5fd5ef54baf680] {jit-log-exported-state [i59, i60, r61] INP(i59) INP(i60 = int_add(i62, -2/ci)) INP(i63 = int_add(i64, 101/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) PureOp(i65 = int_gt(i60, 0/ci)) [c5fd5ef54bd4c00] jit-log-exported-state} [c5fd5ef54be0980] jit-optimize} [c5fd5ef54bf8a00] {jit-optimize [c5fd5ef54dfcc80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, 1) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf500b46c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i3, 101) # i6: (2 <= 0b0?...?) IntBound(2, MAXINT) i15 = int_add(i6, -2) # i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2) i17 = int_gt(i15, 0) guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf508604c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef55965480] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(-184008980)) [c5fd5ef55b9a780] jit-optimize} [c5fd5ef55ba7880] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd5ef55bbec00] jit-log-short-preamble} [c5fd5ef55c13900] {jit-backend [c5fd5ef55c29900] {jit-log-compiling-loop [i59, i62, p70] label(i59, i62, p70, descr=TargetToken(-184500564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf500b90c>) [i59, i62, p70] i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i73 = int_add(i64, 1) i75 = int_add(i62, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0xf501112c>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i63 = int_add(i64, 101) i60 = int_add(i62, -2) i65 = int_gt(i60, 0) guard_true(i65, descr=<Guard0xf501128c>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i63, descr=TargetToken(-184008980)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i63, 1) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0xf500b46c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i63, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0xf508604c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(-184008980)) [c5fd5ef55ce2780] jit-log-compiling-loop} [c5fd5ef55cf4e80] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd5ef55d01a00] jit-mem-looptoken-alloc} [c5fd5ef55d54a00] jit-backend} compiled new loop [c5fd5ef55d61500] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-184500564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf500b90c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf501112c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf501128c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(-184008980)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i12, 1) i20 = int_add(i14, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0xf500b46c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_add(i12, 101) i26 = int_add(i14, -2) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf508604c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(-184008980)) [c5fd5ef55e16f00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ef561c9200] jit-tracing} ____________________ TestLLtype.test_oosend_guard_failure_2 ____________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf500532c> def test_oosend_guard_failure_2(self): # same as above, but using prebuilt objects 'w1' and 'w2' myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w']) class Base: pass class W1(Base): def __init__(self, x): self.x = x def incr(self): return W2(self.x + 1) def getvalue(self): return self.x class W2(Base): def __init__(self, y): self.y = y def incr(self): return W1(self.y + 100) def getvalue(self): return self.y w1 = W1(10) w2 = W2(20) def f(x, y): set_param(myjitdriver, 'max_unroll_loops', 5) if x & 1: w = w1 else: w = w2 while y > 0: myjitdriver.can_enter_jit(x=x, y=y, w=w) myjitdriver.jit_merge_point(x=x, y=y, w=w) w = w.incr() y -= 1 return w.getvalue() res = self.meta_interp(f, [3, 28]) assert res == f(3, 28) res = self.meta_interp(f, [4, 28]) assert res == f(4, 28) self.check_trace_count(1) > self.check_resops(guard_class=1, int_add=4, int_sub=4) jit/metainterp/test/test_send.py:246: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4f2e3ac> insns = {'debug_merge_point': 6, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 4, ...} expected = None, check = {'guard_class': 1, 'int_add': 4, 'int_sub': 4} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 8 'int_add', expected 4 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: live [58] -> 60 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W1.getvalue> bh: live [69] -> 71 bh: int_guard_value [<AddressAsInt * fn W1.getvalue>] bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4fdb24c: EF=2>)] -> 1424 bh: live [81] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 1424] -> LeaveFrame! ~~~ return value: 1424 bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: live [58] -> 60 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue> bh: live [69] -> 71 bh: int_guard_value [<AddressAsInt * fn W2.getvalue>] bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4f3de2c: EF=2>)] -> 1434 bh: live [81] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 1434] -> LeaveFrame! ~~~ return value: 1434 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 25 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 7 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5ef5ec82d00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ef5ef60500] {jit-trace-done trace length: 66 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ef5ef90480] jit-trace-done} [c5fd5ef5efcf000] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i9 = int_sub(i1, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i9, p7, descr=<Loop-1>) [c5fd5ef5f06d980] jit-log-noopt} [c5fd5ef5f07ee80] {jit-optimize [c5fd5ef5f0a7900] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ffd1ec>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ffd78c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef5f64d080] jit-log-intbounds} [c5fd5ef5f750680] {jit-log-exported-state [i12, i13, r14] INP(i13 = int_add(i15, -1/ci)) INP(i16 = int_add(i17, 100/ci)) INP(i12) PureOp(i18 = int_gt(i13, 0/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) [c5fd5ef5f775a80] jit-log-exported-state} [c5fd5ef5f780c00] jit-optimize} [c5fd5ef5f796b80] {jit-optimize [c5fd5ef5f97cc80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef5f9bde00] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd5ef5f9c9000] jit-abort} [c5fd5ef5f9d1c80] jit-log-intbounds} [c5fd5ef5f9dae80] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd5ef5fc37a80] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5ef5fc63400] jit-trace-done} [c5fd5ef5fca3500] {jit-log-noopt # Traced loop or bridge with 11 ops [i19, i20, p21] guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i25 = int_add(i23, 1) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i28 = int_sub(i20, 1) i30 = int_gt(i28, 0) guard_true(i30) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i19, i28, p26, descr=<Loop-1>) [c5fd5ef5fd38400] jit-log-noopt} [c5fd5ef5fd47280] {jit-optimize [c5fd5ef5fd6f700] {jit-log-intbounds [i0, i1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ff32cc>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff3aac>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef602e2500] jit-log-intbounds} [c5fd5ef603ffd80] {jit-log-exported-state [i31, i32, r33] INP(i31) INP(i32 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i32, 0/ci)) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i36 = int_add(i37, 1/ci)) [c5fd5ef60424b00] jit-log-exported-state} [c5fd5ef6042fb00] jit-optimize} [c5fd5ef60445900] {jit-optimize [c5fd5ef60625480] {jit-log-intbounds [i0, i1, p2] [c5fd5ef60646e00] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd5ef60651f00] jit-abort} [c5fd5ef6065aa00] jit-log-intbounds} [c5fd5ef60663c80] jit-optimize} cancelled, tracing more... [c5fd5ef6067a980] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 3 [c5fd5ef606a7280] jit-trace-done} [c5fd5ef606e5500] {jit-log-noopt # Traced loop or bridge with 22 ops [i38, i39, p40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i44 = int_add(i42, 100) p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i47 = int_sub(i39, 1) i49 = int_gt(i47, 0) guard_true(i49) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i53 = int_add(i51, 1) p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i56 = int_sub(i47, 1) i58 = int_gt(i56, 0) guard_true(i58) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i38, i56, p54, descr=<Loop-1>) [c5fd5ef607d5300] jit-log-noopt} [c5fd5ef607e3f00] {jit-optimize [c5fd5ef6080aa00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fe9d2c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff81cc>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff830c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef61128400] jit-log-intbounds} [c5fd5ef6122eb00] {jit-log-exported-state [i59, i60, r61] INP(i60 = int_add(i62, -2/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i63 = int_add(i64, 101/ci)) INP(i59) PureOp(i65 = int_gt(i60, 0/ci)) [c5fd5ef61253900] jit-log-exported-state} [c5fd5ef61260800] jit-optimize} [c5fd5ef61276400] {jit-optimize [c5fd5ef61456d80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, 100) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50000ac>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i3, 101) # i6: (2 <= 0b0?...?) IntBound(2, MAXINT) i15 = int_add(i6, -2) # i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2) i17 = int_gt(i15, 0) guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5000a0c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef626fd000] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(-184548596)) [c5fd5ef62a7c200] jit-optimize} [c5fd5ef62a8dd80] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd5ef62aaf680] jit-log-short-preamble} [c5fd5ef62b25b00] {jit-backend [c5fd5ef62b45100] {jit-log-compiling-loop [i59, i62, p70] label(i59, i62, p70, descr=TargetToken(-184639828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4fe9d2c>) [i59, i62, p70] i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i73 = int_add(i64, 100) i75 = int_add(i62, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0xf4ff81cc>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i63 = int_add(i64, 101) i60 = int_add(i62, -2) i65 = int_gt(i60, 0) guard_true(i65, descr=<Guard0xf4ff830c>) [i59, i62, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i63, descr=TargetToken(-184548596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i63, 100) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0xf50000ac>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i63, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0xf5000a0c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(-184548596)) [c5fd5ef62c36280] jit-log-compiling-loop} [c5fd5ef62c4d380] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd5ef62c5df80] jit-mem-looptoken-alloc} [c5fd5ef62cd3800] jit-backend} compiled new loop [c5fd5ef62ce5d00] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-184639828)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4fe9d2c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf4ff81cc>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf4ff830c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(-184548596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i12, 100) i20 = int_add(i14, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0xf50000ac>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_add(i12, 101) i26 = int_add(i14, -2) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf5000a0c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(-184548596)) [c5fd5ef62e0a680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ef6324f500] jit-tracing} [rtyper] -=- specialized 25 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 7 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 [c5fd5ef67d52500] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ef68034600] {jit-trace-done trace length: 66 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ef6805ff00] jit-trace-done} [c5fd5ef6809ee80] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i9 = int_sub(i1, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i9, p7, descr=<Loop-1>) [c5fd5ef68139d80] jit-log-noopt} [c5fd5ef68149500] {jit-optimize [c5fd5ef68170280] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fa136c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fa1a2c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef686f2a80] jit-log-intbounds} [c5fd5ef687f1900] {jit-log-exported-state [i12, i13, r14] PureOp(i15 = int_gt(i13, 0/ci)) INP(i16 = int_add(i17, 1/ci)) INP(i13 = int_add(i18, -1/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i12) [c5fd5ef68815500] jit-log-exported-state} [c5fd5ef68820300] jit-optimize} [c5fd5ef68839380] {jit-optimize [c5fd5ef68a20e00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef68a60380] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd5ef68a6bb80] jit-abort} [c5fd5ef68a74a00] jit-log-intbounds} [c5fd5ef68a7de00] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd5ef68cef800] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd5ef68d1bf00] jit-trace-done} [c5fd5ef68d59780] {jit-log-noopt # Traced loop or bridge with 11 ops [i19, i20, p21] guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i25 = int_add(i23, 100) p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i28 = int_sub(i20, 1) i30 = int_gt(i28, 0) guard_true(i30) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i19, i28, p26, descr=<Loop-1>) [c5fd5ef68dec700] jit-log-noopt} [c5fd5ef68dfb980] {jit-optimize [c5fd5ef68e22680] {jit-log-intbounds [i0, i1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fab88c>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_add(i4, 100) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fabf4c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef693ec900] jit-log-intbounds} [c5fd5ef69509f80] {jit-log-exported-state [i31, i32, r33] INP(i31) INP(i34 = int_add(i35, 100/ci)) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) PureOp(i36 = int_gt(i32, 0/ci)) INP(i32 = int_add(i37, -1/ci)) [c5fd5ef6952f900] jit-log-exported-state} [c5fd5ef6953ae80] jit-optimize} [c5fd5ef69552580] {jit-optimize [c5fd5ef69735a80] {jit-log-intbounds [i0, i1, p2] [c5fd5ef69758500] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd5ef69767700] jit-abort} [c5fd5ef69771b00] jit-log-intbounds} [c5fd5ef6977a600] jit-optimize} cancelled, tracing more... [c5fd5ef6978f000] {jit-trace-done trace length: 120 number operations: 24 total snapshots: 6 snapshot data: 72 snapshot array data: 50 bigint consts: 2 2 float consts: 0 0 ref consts: 0 0 1 descrs: 3 [c5fd5ef697b8800] jit-trace-done} [c5fd5ef697f7000] {jit-log-noopt # Traced loop or bridge with 22 ops [i38, i39, p40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>) i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i44 = int_add(i42, 1) p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i47 = int_sub(i39, 1) i49 = int_gt(i47, 0) guard_true(i49) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i53 = int_add(i51, 100) p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)) setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i56 = int_sub(i47, 1) i58 = int_gt(i56, 0) guard_true(i58) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i38, i56, p54, descr=<Loop-1>) [c5fd5ef698def00] jit-log-noopt} [c5fd5ef698ed780] {jit-optimize [c5fd5ef69912d00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4faadac>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) # i6 -> (?) IntBound.unbounded() i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fabd4c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fab16c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef6a241280] jit-log-intbounds} [c5fd5ef6a34df00] {jit-log-exported-state [i59, i60, r61] PureOp(i62 = int_gt(i60, 0/ci)) INP(i59) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i63 = int_add(i64, 101/ci)) INP(i60 = int_add(i65, -2/ci)) [c5fd5ef6a373100] jit-log-exported-state} [c5fd5ef6a37ee80] jit-optimize} [c5fd5ef6a395780] {jit-optimize [c5fd5ef6a578e80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i3, 1) # i5 -> (?) IntBound.unbounded() # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fb62cc>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i3, 101) # i6: (2 <= 0b0?...?) IntBound(2, MAXINT) i15 = int_add(i6, -2) # i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2) i17 = int_gt(i15, 0) guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fb690c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef6b0dfb80] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(-184849556)) [c5fd5ef6b31c580] jit-optimize} [c5fd5ef6b329080] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd5ef6b33fe00] jit-log-short-preamble} [c5fd5ef6b394700] {jit-backend [c5fd5ef6b3aab00] {jit-log-compiling-loop [i59, i65, p70] label(i59, i65, p70, descr=TargetToken(-184934516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf4faadac>) [i59, i65, p70] i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i73 = int_add(i64, 1) i75 = int_add(i65, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0xf4fabd4c>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i63 = int_add(i64, 101) i60 = int_add(i65, -2) i62 = int_gt(i60, 0) guard_true(i62, descr=<Guard0xf4fab16c>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i63, descr=TargetToken(-184849556)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i63, 1) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0xf4fb62cc>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i63, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0xf4fb690c>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(-184849556)) [c5fd5ef6b459b80] jit-log-compiling-loop} [c5fd5ef6b46b100] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd5ef6b477400] jit-mem-looptoken-alloc} [c5fd5ef6b4c6600] jit-backend} compiled new loop [c5fd5ef6b4d2b00] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-184934516)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf4faadac>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i6 = int_add(i4, 1) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf4fabd4c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i4, 101) i14 = int_add(i1, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf4fab16c>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(-184849556)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i12, 1) i20 = int_add(i14, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0xf4fb62cc>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_add(i12, 101) i26 = int_add(i14, -2) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf4fb690c>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(-184849556)) [c5fd5ef6b589500] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ef6b94a400] jit-tracing} ________________ TestLLtype.test_oosend_different_initial_class ________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf4fb6b2c> def test_oosend_different_initial_class(self): myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w']) class Base: pass class W1(Base): def __init__(self, x): self.x = x def incr(self): return W2(self.x + 1) def getvalue(self): return self.x class W2(Base): def __init__(self, y): self.y = y def incr(self): return W2(self.y * 2) def getvalue(self): return self.y def f(x, y): w = W1(x) while y > 0: myjitdriver.can_enter_jit(x=x, y=y, w=w) myjitdriver.jit_merge_point(x=x, y=y, w=w) w = w.incr() y -= 1 return w.getvalue() res = self.meta_interp(f, [3, 28]) assert res == f(3, 28) # The effect of the ClassGuard generated by the oosend to incr() # should be to unroll the first iteration of the loop. Indeed, # looking only at the loop, we deduce that the class of 'w' is 'W2'. # However, this doesn't match the initial value of 'w'. # XXX This not completely easy to check... self.check_trace_count(1) self.check_resops(guard_class=1, new_with_vtable=0, int_lshift=2, > int_add=0, new=0) jit/metainterp/test/test_send.py:284: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4ee820c> insns = {'debug_merge_point': 4, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 2, ...} expected = None check = {'guard_class': 1, 'int_add': 0, 'int_lshift': 2, 'new': 0, ...} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 2 'int_add', expected 0 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57 bh: live [58] -> 60 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }> bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue> bh: live [69] -> 71 bh: int_guard_value [<AddressAsInt * fn W2.getvalue>] bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4edbc6c: EF=2>)] -> 536870912 bh: live [81] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 536870912] -> LeaveFrame! ~~~ return value: 536870912 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 23 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 6 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 2 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 4 bitstrings, mean length 0.8, max length 1 [c5fd5ef74414080] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5ef7471b480] {jit-trace-done trace length: 66 number operations: 14 total snapshots: 3 snapshot data: 36 snapshot array data: 26 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5ef7474b080] jit-trace-done} [c5fd5ef7478bb80] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>) i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_mul(i4, 2) p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)) setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i9 = int_sub(i1, 1) i11 = int_gt(i9, 0) guard_true(i11) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i0, i9, p7, descr=<Loop-1>) [c5fd5ef74844100] jit-log-noopt} [c5fd5ef74855480] {jit-optimize [c5fd5ef7487da80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4edf6cc>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_lshift(i4, 1) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4edfcec>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef74e4e380] jit-log-intbounds} [c5fd5ef74f58b00] {jit-log-exported-state [i12, i13, r14] INP(i15 = int_lshift(i16, 1/ci)) INP(i13 = int_add(i17, -1/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) PureOp(i18 = int_gt(i13, 0/ci)) INP(i12) [c5fd5ef74f7f800] jit-log-exported-state} [c5fd5ef74f8ad80] jit-optimize} [c5fd5ef74fa0d80] {jit-optimize [c5fd5ef75183200] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_lshift(i3, 1) # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4f7a98c>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5ef75830d80] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i8, i5, descr=TargetToken(-185094388)) [c5fd5ef75a6d380] jit-optimize} [c5fd5ef75a79e80] {jit-log-short-preamble [] label(i19, i20, i21, p22) jump() [c5fd5ef75a91200] jit-log-short-preamble} [c5fd5ef75ace280] {jit-backend [c5fd5ef75ae4000] {jit-log-compiling-loop [i12, i17, p23] label(i12, i17, p23, descr=TargetToken(-185730228)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p23, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4edf6cc>) [i12, i17, p23] i16 = getfield_gc_i(p23, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i15 = int_lshift(i16, 1) i13 = int_add(i17, -1) i18 = int_gt(i13, 0) guard_true(i18, descr=<Guard0xf4edfcec>) [i12, i17, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, i13, i15, descr=TargetToken(-185094388)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i29 = int_lshift(i15, 1) i31 = int_add(i13, -1) i33 = int_gt(i31, 0) guard_true(i33, descr=<Guard0xf4f7a98c>) [i12, i31, i29] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, i31, i29, descr=TargetToken(-185094388)) [c5fd5ef75b59a80] jit-log-compiling-loop} [c5fd5ef75b6b600] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5ef75b77980] jit-mem-looptoken-alloc} [c5fd5ef75bb0b80] jit-backend} compiled new loop [c5fd5ef75bbcd00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(-185730228)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4edf6cc>) [i0, i1, p2] i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i6 = int_lshift(i4, 1) i8 = int_add(i1, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0xf4edfcec>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i8, i6, descr=TargetToken(-185094388)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_lshift(i6, 1) i14 = int_add(i8, -1) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf4f7a98c>) [i0, i14, i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i14, i12, descr=TargetToken(-185094388)) [c5fd5ef75c3cf80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5ef76062400] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_green_send FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_send_to_single_target_method FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_red_send_to_green_receiver FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_guard_failure FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_guard_failure_2 FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_different_initial_class ===================== 6 failed, 16 passed in 18.16 seconds ===================== ++ 10:15:56 starting jit/metainterp/test/test_support.py [155 started in total] __ jit/metainterp/test/test_support.py [152 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_support.py . =========================== 1 passed in 0.21 seconds =========================== ++ 10:15:59 starting jit/metainterp/test/test_threadlocal.py [156 started in total] __ jit/metainterp/test/test_threadlocal.py [153 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/test/test_threadlocal.py ... =========================== 3 passed in 2.69 seconds =========================== ++ 10:16:04 starting jit/metainterp/test/test_tl.py [157 started in total] __ jit/metainterp/test/test_tl.py [154 done in total, somefailed=True] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_tl.py .FF.. =================================== FAILURES =================================== ___________________________ TestLLtype.test_tl_base ____________________________ self = <rpython.jit.metainterp.test.test_tl.TestLLtype instance at 0xf56e114c> def test_tl_base(self): # 'backendopt=True' is used on lltype to kill unneeded access # to the class, which generates spurious 'guard_class' main = self._get_main() res = self.meta_interp(main, [0, 6], listops=True, backendopt=True) assert res == 5040 self.check_simple_loop({'jump': 1, 'int_le': 1, > 'int_mul': 1, 'guard_false': 1, 'int_sub': 1}) jit/metainterp/test/test_tl.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:208: in check_simple_loop get_stats().check_simple_loop(expected=expected, **check) jit/metainterp/history.py:1007: in check_simple_loop return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf558724c> insns = {'guard_false': 1, 'int_add': 1, 'int_le': 1, 'int_mul': 1, ...} expected = {'guard_false': 1, 'int_le': 1, 'int_mul': 1, 'int_sub': 1, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_false..._mul': 1, ...} == {'guard_false'..._sub': 1, ...} E Omitting 4 identical items, use -v to show E Left contains more items: E {'int_add': 1} E Right contains more items: E {'int_sub': 1} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_is_true [1, 2062, 1997] -> 1997 bh: live [1998] -> 2000 bh: goto_if_not_int_lt [10, 0, 2056, 2005] -> 2056 bh: int_copy [10] -> 10 bh: goto [2015] -> 2015 bh: strgetitem [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5587bcc>, <* GCREF hidden>, 10] -> 12 bh: int_and [12, 128] -> 0 bh: live [2024] -> 2026 bh: goto_if_not_int_is_true [0, 2053, 2030] -> 2053 bh: goto [2040] -> 2040 bh: int_add [12, 1] -> 13 bh: int_add [10, 13] -> 23 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: int_guard_value [23] bh: live [6] -> 8 bh: ref_guard_value [<* GCREF hidden>] bh: live [11] -> 13 bh: jit_merge_point [<BHInterp <JitCode 'interp'>>, 0, [23], [<* GCREF hidden>], [], [6], [<* GCREF hidden>], []] -> ContinueRunningNormally! ~~~ return value: 5040 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 277 blocks (36%) [rtyper] specializing: 200 / 279 blocks (71%) [rtyper] -=- specialized 281 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 300 / 312 blocks (96%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:removeassert] Removed 2 asserts [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 67 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 202 -live- ops. Size of liveness is 71 bytes [rtyper] replaced 14 'jit_force_virtualizable' with <* fn force_virtualizable_if_necessary> [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 8 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1 [c5fd5f1acc51000] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f1afe4e780] {jit-trace-done trace length: 239 number operations: 51 total snapshots: 3 snapshot data: 36 snapshot array data: 206 bigint consts: 0 0 float consts: 0 0 ref consts: 16 0 2 descrs: 1 [c5fd5f1afe7cf80] jit-trace-done} [c5fd5f1affb1380] {jit-log-noopt # Traced loop or bridge with 24 ops [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 2) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i30 = int_le(i4, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i31 = int_is_true(i30) guard_false(i31) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i32 = int_mul(i3, i4) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i34 = int_sub(i4, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i36 = same_as_i(2) i38 = same_as_i(1) i40 = same_as_i(1) guard_future_condition() jump(i0, p1, i36, i32, i34, i38, i40, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, descr=<Loop-1>) [c5fd5f1b01d1e80] jit-log-noopt} [c5fd5f1b01e5100] {jit-optimize [c5fd5f1b02b6080] {jit-log-intbounds [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf555130c>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i30 = int_le(i4, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i30, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf565d7ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i4: (2 <= 0b0?...?) IntBound(2, MAXINT) i31 = int_mul(i3, i4) # i31 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i4, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1b0daf800] jit-log-intbounds} [c5fd5f1b1351c80] {jit-log-exported-state [i41, r42, 2/ci, i43, i44, 1/ci, 1/ci, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64, i65] INP(i48) INP(i43 = int_mul(i66, i67)) INP(i64) INP(i62) INP(i52) INP(i60) INP(r42) INP(i49) INP(i59) INP(i41) INP(i55) INP(i61) INP(i65) INP(i44 = int_add(i67, -1/ci)) INP(i54) INP(i58) INP(i47) INP(i51) INP(i53) INP(i63) INP(i57) INP(i56) INP(i50) INP(i46) INP(i45) [c5fd5f1b13b0400] jit-log-exported-state} [c5fd5f1b13be680] jit-optimize} [c5fd5f1b13d5780] {jit-optimize [c5fd5f1b1fa3d00] {jit-log-intbounds [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i28: (1 <= 0b0?...?) IntBound(1, MAXINT) i30 = int_le(i28, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i30, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf547a9ec>) [p31, i32, i28, i30, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i28: (2 <= 0b0?...?) IntBound(2, MAXINT) i55 = int_mul(i32, i28) # i55 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i57 = int_add(i28, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1b2a1cd80] jit-log-intbounds} # i57: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i54, p31, i55, i57, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, descr=TargetToken(-179389044)) [c5fd5f1b3605a80] jit-optimize} [c5fd5f1b3615100] {jit-log-short-preamble [] label(i68, p69, i70, i71, i72, i73, i74, i75, i76, i77, i78, i79, i80, i81, i82, i83, i84, i85, i86, i87, i88, i89, i90, i91, i92) jump() [c5fd5f1b363c000] jit-log-short-preamble} [c5fd5f1b380d700] {jit-backend [c5fd5f1b382f000] {jit-log-compiling-loop [i41, p42] i93 = getfield_gc_i(p42, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p94 = getfield_gc_r(p42, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i96 = getarrayitem_gc_i(p94, 0, descr=ArrayDescr(<GcArray of Signed >)) i98 = getarrayitem_gc_i(p94, 1, descr=ArrayDescr(<GcArray of Signed >)) i100 = getarrayitem_gc_i(p94, 2, descr=ArrayDescr(<GcArray of Signed >)) i102 = getarrayitem_gc_i(p94, 3, descr=ArrayDescr(<GcArray of Signed >)) i104 = getarrayitem_gc_i(p94, 4, descr=ArrayDescr(<GcArray of Signed >)) i106 = getarrayitem_gc_i(p94, 5, descr=ArrayDescr(<GcArray of Signed >)) i108 = getarrayitem_gc_i(p94, 6, descr=ArrayDescr(<GcArray of Signed >)) i110 = getarrayitem_gc_i(p94, 7, descr=ArrayDescr(<GcArray of Signed >)) i112 = getarrayitem_gc_i(p94, 8, descr=ArrayDescr(<GcArray of Signed >)) i114 = getarrayitem_gc_i(p94, 9, descr=ArrayDescr(<GcArray of Signed >)) i116 = getarrayitem_gc_i(p94, 10, descr=ArrayDescr(<GcArray of Signed >)) i118 = getarrayitem_gc_i(p94, 11, descr=ArrayDescr(<GcArray of Signed >)) i120 = getarrayitem_gc_i(p94, 12, descr=ArrayDescr(<GcArray of Signed >)) i122 = getarrayitem_gc_i(p94, 13, descr=ArrayDescr(<GcArray of Signed >)) i124 = getarrayitem_gc_i(p94, 14, descr=ArrayDescr(<GcArray of Signed >)) i126 = getarrayitem_gc_i(p94, 15, descr=ArrayDescr(<GcArray of Signed >)) i128 = getarrayitem_gc_i(p94, 16, descr=ArrayDescr(<GcArray of Signed >)) i130 = getarrayitem_gc_i(p94, 17, descr=ArrayDescr(<GcArray of Signed >)) i132 = getarrayitem_gc_i(p94, 18, descr=ArrayDescr(<GcArray of Signed >)) i134 = getarrayitem_gc_i(p94, 19, descr=ArrayDescr(<GcArray of Signed >)) i136 = getarrayitem_gc_i(p94, 20, descr=ArrayDescr(<GcArray of Signed >)) i138 = getarrayitem_gc_i(p94, 21, descr=ArrayDescr(<GcArray of Signed >)) i140 = getarrayitem_gc_i(p94, 22, descr=ArrayDescr(<GcArray of Signed >)) i142 = getarrayitem_gc_i(p94, 23, descr=ArrayDescr(<GcArray of Signed >)) i144 = getarrayitem_gc_i(p94, 24, descr=ArrayDescr(<GcArray of Signed >)) label(i41, p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179895284)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i93, 2, descr=<Guard0xf555130c>) [p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i147 = int_le(i98, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i147, descr=<Guard0xf565d7ec>) [p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i148 = int_mul(i96, i98) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i150 = int_add(i98, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i41, p42, i148, i150, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179389044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i152 = int_le(i150, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i152, descr=<Guard0xf547a9ec>) [p42, i148, i150, i152, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i153 = int_mul(i148, i150) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i155 = int_add(i150, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i41, p42, i153, i155, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179389044)) [c5fd5f1b39e3e80] jit-log-compiling-loop} [c5fd5f1b39f6900] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f1b3a03200] jit-mem-looptoken-alloc} [c5fd5f1b3ad9c00] jit-backend} compiled new loop [c5fd5f1b3ae6b00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 65 ops [i0, p1] i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >)) i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >)) i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >)) i11 = getarrayitem_gc_i(p3, 3, descr=ArrayDescr(<GcArray of Signed >)) i13 = getarrayitem_gc_i(p3, 4, descr=ArrayDescr(<GcArray of Signed >)) i15 = getarrayitem_gc_i(p3, 5, descr=ArrayDescr(<GcArray of Signed >)) i17 = getarrayitem_gc_i(p3, 6, descr=ArrayDescr(<GcArray of Signed >)) i19 = getarrayitem_gc_i(p3, 7, descr=ArrayDescr(<GcArray of Signed >)) i21 = getarrayitem_gc_i(p3, 8, descr=ArrayDescr(<GcArray of Signed >)) i23 = getarrayitem_gc_i(p3, 9, descr=ArrayDescr(<GcArray of Signed >)) i25 = getarrayitem_gc_i(p3, 10, descr=ArrayDescr(<GcArray of Signed >)) i27 = getarrayitem_gc_i(p3, 11, descr=ArrayDescr(<GcArray of Signed >)) i29 = getarrayitem_gc_i(p3, 12, descr=ArrayDescr(<GcArray of Signed >)) i31 = getarrayitem_gc_i(p3, 13, descr=ArrayDescr(<GcArray of Signed >)) i33 = getarrayitem_gc_i(p3, 14, descr=ArrayDescr(<GcArray of Signed >)) i35 = getarrayitem_gc_i(p3, 15, descr=ArrayDescr(<GcArray of Signed >)) i37 = getarrayitem_gc_i(p3, 16, descr=ArrayDescr(<GcArray of Signed >)) i39 = getarrayitem_gc_i(p3, 17, descr=ArrayDescr(<GcArray of Signed >)) i41 = getarrayitem_gc_i(p3, 18, descr=ArrayDescr(<GcArray of Signed >)) i43 = getarrayitem_gc_i(p3, 19, descr=ArrayDescr(<GcArray of Signed >)) i45 = getarrayitem_gc_i(p3, 20, descr=ArrayDescr(<GcArray of Signed >)) i47 = getarrayitem_gc_i(p3, 21, descr=ArrayDescr(<GcArray of Signed >)) i49 = getarrayitem_gc_i(p3, 22, descr=ArrayDescr(<GcArray of Signed >)) i51 = getarrayitem_gc_i(p3, 23, descr=ArrayDescr(<GcArray of Signed >)) i53 = getarrayitem_gc_i(p3, 24, descr=ArrayDescr(<GcArray of Signed >)) label(i0, p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179895284)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 2, descr=<Guard0xf555130c>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i56 = int_le(i7, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i56, descr=<Guard0xf565d7ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i57 = int_mul(i5, i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i59 = int_add(i7, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, p1, i57, i59, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179389044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i61 = int_le(i59, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i61, descr=<Guard0xf547a9ec>) [p1, i57, i59, i61, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i62 = int_mul(i57, i59) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i64 = int_add(i59, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, p1, i62, i64, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179389044)) [c5fd5f1b3c9e080] jit-log-opt-loop} ContinueRunningNormally [c5fd5f1b42ff700] jit-tracing} _____________________________ TestLLtype.test_tl_2 _____________________________ self = <rpython.jit.metainterp.test.test_tl.TestLLtype instance at 0xf53f80ec> def test_tl_2(self): main = self._get_main() res = self.meta_interp(main, [1, 10], listops=True, backendopt=True) assert res == main(1, 10) self.check_simple_loop({'int_le': 1, 'int_sub': 1, 'jump': 1, > 'guard_false': 1}) jit/metainterp/test/test_tl.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:208: in check_simple_loop get_stats().check_simple_loop(expected=expected, **check) jit/metainterp/history.py:1007: in check_simple_loop return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf5380fcc> insns = {'guard_false': 1, 'int_add': 1, 'int_le': 1, 'jump': 1} expected = {'guard_false': 1, 'int_le': 1, 'int_sub': 1, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_false... 1, 'jump': 1} == {'guard_false'... 1, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 1} E Right contains more items: E {'int_sub': 1} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_is_true [1, 2062, 1997] -> 1997 bh: live [1998] -> 2000 bh: goto_if_not_int_lt [10, 0, 2056, 2005] -> 2056 bh: int_copy [10] -> 10 bh: goto [2015] -> 2015 bh: strgetitem [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5380fec>, <* GCREF hidden>, 10] -> 4 bh: int_and [4, 128] -> 0 bh: live [2024] -> 2026 bh: goto_if_not_int_is_true [0, 2053, 2030] -> 2053 bh: goto [2040] -> 2040 bh: int_add [4, 1] -> 5 bh: int_add [10, 5] -> 15 bh: loop_header [0] bh: goto [0] -> 0 bh: live [1] -> 3 bh: int_guard_value [15] bh: live [6] -> 8 bh: ref_guard_value [<* GCREF hidden>] bh: live [11] -> 13 bh: jit_merge_point [<BHInterp <JitCode 'interp'>>, 0, [15], [<* GCREF hidden>], [], [10], [<* GCREF hidden>], []] -> ContinueRunningNormally! ~~~ return value: 1 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 277 blocks (36%) [rtyper] specializing: 200 / 279 blocks (71%) [rtyper] -=- specialized 281 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 300 / 312 blocks (96%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:removeassert] Removed 2 asserts [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 67 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 202 -live- ops. Size of liveness is 71 bytes [rtyper] replaced 14 'jit_force_virtualizable' with <* fn force_virtualizable_if_necessary> [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 8 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1 [c5fd5f1e1167100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f1e290e000] {jit-trace-done trace length: 173 number operations: 37 total snapshots: 3 snapshot data: 36 snapshot array data: 152 bigint consts: 0 0 float consts: 0 0 ref consts: 12 0 2 descrs: 1 [c5fd5f1e293c000] jit-trace-done} [c5fd5f1e2a1fb00] {jit-log-noopt # Traced loop or bridge with 19 ops [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_sub(i3, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i23 = int_le(i21, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_is_true(i23) guard_false(i24) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i26 = same_as_i(1) i28 = same_as_i(1) i30 = same_as_i(1) guard_future_condition() jump(i0, p1, i26, i21, i28, i30, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, descr=<Loop-1>) [c5fd5f1e2bb0100] jit-log-noopt} [c5fd5f1e2bc5c80] {jit-optimize [c5fd5f1e2c5cd00] {jit-log-intbounds [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 1, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf539e2ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i3, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i23 = int_le(i21, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i23, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf54252ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1e34d1780] jit-log-intbounds} [c5fd5f1e3985780] {jit-log-exported-state [i31, r32, 1/ci, i33, 1/ci, 1/ci, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46] INP(i31) INP(r32) INP(i34) PureOp(i47 = int_le(i33, 1/ci)) INP(i33 = int_add(i48, -1/ci)) INP(i39) INP(i42) INP(i41) INP(i43) INP(i36) INP(i35) INP(i46) INP(i45) INP(i38) INP(i37) INP(i44) INP(i40) [c5fd5f1e39cf100] jit-log-exported-state} [c5fd5f1e39dbc00] jit-optimize} [c5fd5f1e39f3500] {jit-optimize [c5fd5f1e4190480] {jit-log-intbounds [i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i19: (2 <= 0b0?...?) IntBound(2, MAXINT) i21 = int_add(i19, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i21: (1 <= 0b0?...? <= MAXINT - 1) IntBound(1, MAXINT - 1) i23 = int_le(i21, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i23, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52bff4c>) [p24, i21, i23, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35, i36, i37, i38] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1e4b1b080] jit-log-intbounds} # i21: (2 <= 0b0?...?) IntBound(2, MAXINT) jump(i38, p24, i21, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35, i36, i37, descr=TargetToken(-181646996)) [c5fd5f1e5415600] jit-optimize} [c5fd5f1e5423080] {jit-log-short-preamble [] label(i49, p50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64) jump() [c5fd5f1e5444600] jit-log-short-preamble} [c5fd5f1e55a6a00] {jit-backend [c5fd5f1e55ca800] {jit-log-compiling-loop [i31, p32] i65 = getfield_gc_i(p32, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p66 = getfield_gc_r(p32, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i68 = getarrayitem_gc_i(p66, 0, descr=ArrayDescr(<GcArray of Signed >)) i70 = getarrayitem_gc_i(p66, 1, descr=ArrayDescr(<GcArray of Signed >)) i72 = getarrayitem_gc_i(p66, 2, descr=ArrayDescr(<GcArray of Signed >)) i74 = getarrayitem_gc_i(p66, 3, descr=ArrayDescr(<GcArray of Signed >)) i76 = getarrayitem_gc_i(p66, 4, descr=ArrayDescr(<GcArray of Signed >)) i78 = getarrayitem_gc_i(p66, 5, descr=ArrayDescr(<GcArray of Signed >)) i80 = getarrayitem_gc_i(p66, 6, descr=ArrayDescr(<GcArray of Signed >)) i82 = getarrayitem_gc_i(p66, 7, descr=ArrayDescr(<GcArray of Signed >)) i84 = getarrayitem_gc_i(p66, 8, descr=ArrayDescr(<GcArray of Signed >)) i86 = getarrayitem_gc_i(p66, 9, descr=ArrayDescr(<GcArray of Signed >)) i88 = getarrayitem_gc_i(p66, 10, descr=ArrayDescr(<GcArray of Signed >)) i90 = getarrayitem_gc_i(p66, 11, descr=ArrayDescr(<GcArray of Signed >)) i92 = getarrayitem_gc_i(p66, 12, descr=ArrayDescr(<GcArray of Signed >)) i94 = getarrayitem_gc_i(p66, 13, descr=ArrayDescr(<GcArray of Signed >)) i96 = getarrayitem_gc_i(p66, 14, descr=ArrayDescr(<GcArray of Signed >)) i98 = getarrayitem_gc_i(p66, 15, descr=ArrayDescr(<GcArray of Signed >)) label(i31, p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181434420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i65, 1, descr=<Guard0xf539e2ec>) [p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i101 = int_add(i68, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i103 = int_le(i101, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i103, descr=<Guard0xf54252ec>) [p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i31, p32, i101, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181646996)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i105 = int_add(i101, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i107 = int_le(i105, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i107, descr=<Guard0xf52bff4c>) [p32, i105, i107, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i31, p32, i105, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181646996)) [c5fd5f1e570e400] jit-log-compiling-loop} [c5fd5f1e5722a00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f1e572fb00] jit-mem-looptoken-alloc} [c5fd5f1e57e2080] jit-backend} compiled new loop [c5fd5f1e57efd80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 46 ops [i0, p1] i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >)) i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >)) i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >)) i11 = getarrayitem_gc_i(p3, 3, descr=ArrayDescr(<GcArray of Signed >)) i13 = getarrayitem_gc_i(p3, 4, descr=ArrayDescr(<GcArray of Signed >)) i15 = getarrayitem_gc_i(p3, 5, descr=ArrayDescr(<GcArray of Signed >)) i17 = getarrayitem_gc_i(p3, 6, descr=ArrayDescr(<GcArray of Signed >)) i19 = getarrayitem_gc_i(p3, 7, descr=ArrayDescr(<GcArray of Signed >)) i21 = getarrayitem_gc_i(p3, 8, descr=ArrayDescr(<GcArray of Signed >)) i23 = getarrayitem_gc_i(p3, 9, descr=ArrayDescr(<GcArray of Signed >)) i25 = getarrayitem_gc_i(p3, 10, descr=ArrayDescr(<GcArray of Signed >)) i27 = getarrayitem_gc_i(p3, 11, descr=ArrayDescr(<GcArray of Signed >)) i29 = getarrayitem_gc_i(p3, 12, descr=ArrayDescr(<GcArray of Signed >)) i31 = getarrayitem_gc_i(p3, 13, descr=ArrayDescr(<GcArray of Signed >)) i33 = getarrayitem_gc_i(p3, 14, descr=ArrayDescr(<GcArray of Signed >)) i35 = getarrayitem_gc_i(p3, 15, descr=ArrayDescr(<GcArray of Signed >)) label(i0, p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181434420)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 1, descr=<Guard0xf539e2ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i38 = int_add(i5, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_le(i38, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i40, descr=<Guard0xf54252ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, p1, i38, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181646996)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i42 = int_add(i38, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i44 = int_le(i42, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_false(i44, descr=<Guard0xf52bff4c>) [p1, i42, i44, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, p1, i42, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181646996)) [c5fd5f1e593e300] jit-log-opt-loop} ContinueRunningNormally [c5fd5f1e5e88900] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_tl.py::TestLLtype::()::test_tl_base FAIL jit/metainterp/test/test_tl.py::TestLLtype::()::test_tl_2 ===================== 2 failed, 3 passed in 15.28 seconds ====================== ++ 10:16:21 starting jit/metainterp/test/test_tlc.py [158 started in total] __ jit/metainterp/test/test_tlc.py [155 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/metainterp/test/test_tlc.py .s ===================== 1 passed, 1 skipped in 8.30 seconds ====================== ++ 10:16:32 starting jit/metainterp/test/test_tracelimit.py [159 started in total] __ jit/metainterp/test/test_recursive.py [156 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit/metainterp/test/test_recursive.py ................s........s................ ==================== 40 passed, 2 skipped in 115.00 seconds ==================== ++ 10:17:19 starting jit/metainterp/test/test_tracingopts.py [160 started in total] __ jit/metainterp/test/test_string.py [157 done in total, somefailed=True] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 97 items jit/metainterp/test/test_string.py .......................F.....sFFFFF...FF...F........................F.....sFFFFF...FF...F........ =================================== FAILURES =================================== ________________ TestLLtype.test_string_compare_quasiimmutable _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf4b1242c> def test_string_compare_quasiimmutable(self): class Sys(object): _immutable_fields_ = ["defaultencoding?"] def __init__(self, s): self.defaultencoding = s _str = self._str sys = Sys(_str('ascii')) mydriver = JitDriver(reds = ['n', 'sa'], greens = []) def f(n): sa = 0 sys.defaultencoding = _str('ascii') while n: mydriver.jit_merge_point(n=n, sa=sa) if sys.defaultencoding == _str('ascii'): sa += 1 n -= 1 sys.defaultencoding = _str('utf-8') return sa assert self.meta_interp(f, [8]) == f(8) self.check_resops({'jump': 1, 'int_is_true': 2, 'int_add': 2, 'guard_true': 2, 'guard_not_invalidated': 2, > 'int_sub': 2}) jit/metainterp/test/test_string.py:507: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4b2b6ac> insns = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 4, 'int_is_true': 2, ...} expected = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 2, 'int_is_true': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_not_i...true': 2, ...} == {'guard_not_in...true': 2, ...} E Omitting 4 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: record_quasiimmut_field [<* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding'), FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')] bh: getfield_gc_r_pure [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] -> * GCREF hidden bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <AddressAsInt * fn ll_streq__rpy_stringPtr_rpy_stringPtr>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<Bool>, (<* GcStruct rpy_string { hash, chars }>, <* GcStruct rpy_string { hash, chars }>), <EffectInfo 0xf571a02c: EF=0 OS=24>)] -> 1 bh: live [36] -> 38 bh: goto_if_not [1, 74, 42] -> 42 bh: int_add [7, 1] -> 8 bh: int_sub [1, 1] -> 0 bh: live [51] -> 53 bh: goto_if_not_int_is_true [0, 60, 57] -> 60 bh: live [61] -> 63 bh: jit_force_quasi_immutable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')] bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] bh: int_return [<BHInterp <JitCode 'f'>>, 8] -> LeaveFrame! ~~~ return value: 8 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 18 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 5 -live- ops. Size of liveness is 12 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 8 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 [c5fd5f0e873b700] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f0e8969100] {jit-trace-done trace length: 49 number operations: 11 total snapshots: 3 snapshot data: 36 snapshot array data: 20 bigint consts: 1 1 float consts: 0 0 ref consts: 3 0 3 descrs: 2 [c5fd5f0e8997300] jit-trace-done} [c5fd5f0e89ce800] {jit-log-noopt # Traced loop or bridge with 10 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') quasiimmut_field(ConstPtr(ptr2), descr=<rpython.jit.metainterp.quasiimmut.QuasiImmutDescr object at 0xf4aedc0c>) guard_not_invalidated() i4 = int_add(i1, 1) i6 = int_sub(i0, 1) i7 = int_is_true(i6) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i6, i4, descr=<Loop-1>) [c5fd5f0e8a49f00] jit-log-noopt} [c5fd5f0e8a5a280] {jit-optimize [c5fd5f0e8a7c700] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4af328c>) [i0, i1] i3 = int_add(i1, 1) # i3 -> (?) IntBound.unbounded() i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4af37cc>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f0e8ec9880] jit-log-intbounds} [c5fd5f0e8f44f00] {jit-log-exported-state [i8, i9] INP(i9 = int_add(i10, 1/ci)) PureOp(i11 = int_is_true(i8)) INP(i8 = int_add(i12, -1/ci)) [c5fd5f0e8f64500] jit-log-exported-state} [c5fd5f0e8f6f080] jit-optimize} [c5fd5f0e8f85e80] {jit-optimize [c5fd5f0e908bd80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4af3d6c>) [i2, i3] i5 = int_add(i3, 1) # i5 -> (?) IntBound.unbounded() i7 = int_add(i2, -1) i8 = int_is_true(i7) guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4af938c>) [i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f0e94ac780] jit-log-intbounds} jump(i7, i5, descr=TargetToken(-189819636)) [c5fd5f0e95a6400] jit-optimize} [c5fd5f0e95b3300] {jit-log-short-preamble [] label(i13, i14) jump() [c5fd5f0e95c8a80] jit-log-short-preamble} [c5fd5f0e9605980] {jit-backend [c5fd5f0e961bb00] {jit-log-compiling-loop [i12, i10] label(i12, i10, descr=TargetToken(-189843444)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf4af328c>) [i12, i10] i9 = int_add(i10, 1) i8 = int_add(i12, -1) i11 = int_is_true(i8) guard_true(i11, descr=<Guard0xf4af37cc>) [i12, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(-189819636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf4af3d6c>) [i8, i9] i18 = int_add(i9, 1) i20 = int_add(i8, -1) i21 = int_is_true(i20) guard_true(i21, descr=<Guard0xf4af938c>) [i8, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i18, descr=TargetToken(-189819636)) [c5fd5f0e968a480] jit-log-compiling-loop} [c5fd5f0e969b780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f0e96a7d00] jit-mem-looptoken-alloc} [c5fd5f0e96dee00] jit-backend} compiled new loop [c5fd5f0e96eb300] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1] label(i0, i1, descr=TargetToken(-189843444)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf4af328c>) [i0, i1] i3 = int_add(i1, 1) i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<Guard0xf4af37cc>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i3, descr=TargetToken(-189819636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf4af3d6c>) [i5, i3] i8 = int_add(i3, 1) i10 = int_add(i5, -1) i11 = int_is_true(i10) guard_true(i11, descr=<Guard0xf4af938c>) [i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i8, descr=TargetToken(-189819636)) [c5fd5f0e9762b00] jit-log-opt-loop} [c5fd5f0e9986880] {jit-invalidate-quasi-immutable fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1 [c5fd5f0e9998200] jit-invalidate-quasi-immutable} DoneWithThisFrameInt [c5fd5f0e99cdd80] jit-tracing} _____________________ TestLLtype.test_stringbuilder_create _____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf47b95ec> def test_stringbuilder_create(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() if sb.build() != u"": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf470884c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 110, 107] -> 110 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 90 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] specializing: 100 / 103 blocks (97%) [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 11 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 38 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 11 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f17c258980] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f17ca19b00] {jit-trace-done trace length: 135 number operations: 23 total snapshots: 5 snapshot data: 60 snapshot array data: 34 bigint consts: 3 3 float consts: 0 0 ref consts: 2 1 2 descrs: 1 [c5fd5f17ca6a080] jit-trace-done} [c5fd5f17cab3800] {jit-log-noopt # Traced loop or bridge with 23 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p7) p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf466c44c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i15 = call_pure_i(ConstClass(ll_streq__rpy_unicodePtr_rpy_unicodePtr), p10, ConstPtr(ptr14), descr=CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>)) i16 = int_is_zero(i15) guard_false(i16) i18 = int_sub(i0, 1) i20 = int_gt(i18, 0) guard_true(i20) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i18, descr=<Loop-1>) [c5fd5f17cc4df00] jit-log-noopt} [c5fd5f17cc66300] {jit-optimize [c5fd5f17cc92a00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf467b80c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f17d403500] jit-log-intbounds} [c5fd5f17d4be300] {jit-log-exported-state [i21] INP(i21 = int_add(i22, -1/ci)) PureOp(i23 = int_gt(i21, 0/ci)) [c5fd5f17d4e3680] jit-log-exported-state} [c5fd5f17d4f2b00] jit-optimize} [c5fd5f17d513080] {jit-optimize [c5fd5f17d677180] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4680e4c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f17dfe2400] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-194480596)) [c5fd5f17e10f600] jit-optimize} [c5fd5f17e11bf80] {jit-log-short-preamble [] label(i24) jump() [c5fd5f17e130580] jit-log-short-preamble} [c5fd5f17e160500] {jit-backend [c5fd5f17e178200] {jit-log-compiling-loop [i22] label(i22, descr=TargetToken(-194509044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i22, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0xf467b80c>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(-194480596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0xf4680e4c>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(-194480596)) [c5fd5f17e1ca280] jit-log-compiling-loop} [c5fd5f17e1db200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f17e1e7580] jit-mem-looptoken-alloc} [c5fd5f17e212480] jit-backend} compiled new loop [c5fd5f17e21ec00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-194509044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf467b80c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-194480596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4680e4c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-194480596)) [c5fd5f17e27d400] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f17e3d8280] jit-tracing} __________________ TestLLtype.test_stringbuilder_append_char ___________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf464948c> def test_stringbuilder_append_char(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"a") sb.append(unichr(n)) s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"a": raise ValueError if s[1] != unichr(n): raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4589a6c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 216, 213] -> 216 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 106 blocks (94%) [rtyper] -=- specialized 106 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 4 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 17 -live- ops. Size of liveness is 63 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 4 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f194b6a180] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f1952f8c80] {jit-trace-done trace length: 187 number operations: 33 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f195327e80] jit-trace-done} [c5fd5f195354980] {jit-log-noopt # Traced loop or bridge with 33 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 1, i0) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf45b744c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 97) guard_false(i24) i26 = unicodegetitem(p15, 1) i27 = int_ne(i26, i0) guard_false(i27) i29 = int_sub(i0, 1) i31 = int_gt(i29, 0) guard_true(i31) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i29, descr=<Loop-1>) [c5fd5f1954aa200] jit-log-noopt} [c5fd5f1954ba780] {jit-optimize [c5fd5f1954d5980] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i0: (0 <= 0b0?...?) IntBound.nonnegative() i2 = int_add(i0, -1) # i2: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4550dec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f195c24700] jit-log-intbounds} [c5fd5f195ca4a00] {jit-log-exported-state [i32] PureOp(i33 = int_gt(i32, 0/ci)) INP(i32 = int_add(i34, -1/ci)) [c5fd5f195cbd280] jit-log-exported-state} [c5fd5f195cc7e80] jit-optimize} [c5fd5f195cdeb80] {jit-optimize [c5fd5f195dd5e80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4559dac>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f19646ec00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-195698484)) [c5fd5f196592280] jit-optimize} [c5fd5f1965a1800] {jit-log-short-preamble [] label(i35) jump() [c5fd5f1965b7000] jit-log-short-preamble} [c5fd5f1965e7980] {jit-backend [c5fd5f1965fde80] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(-195718580)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i32 = int_add(i34, -1) i33 = int_gt(i32, 0) guard_true(i33, descr=<Guard0xf4550dec>) [i32] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i32, descr=TargetToken(-195698484)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i32, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0xf4559dac>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i39, descr=TargetToken(-195698484)) [c5fd5f196653600] jit-log-compiling-loop} [c5fd5f196663f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f196670480] jit-mem-looptoken-alloc} [c5fd5f19669ba00] jit-backend} compiled new loop [c5fd5f1966a7f80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-195718580)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4550dec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-195698484)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf4559dac>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-195698484)) [c5fd5f196703800] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f196864480] jit-tracing} ____________________ TestLLtype.test_stringbuilder_append_1 ____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf45809cc> def test_stringbuilder_append_1(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"ab") s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"a": raise ValueError if s[1] != u"b": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:653: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf45225cc> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 143, 140] -> 143 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 244 blocks (40%) [rtyper] specializing: 200 / 244 blocks (81%) [rtyper] -=- specialized 244 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 21 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f1b9ccd900] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f1ba4c0380] {jit-trace-done trace length: 180 number operations: 32 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f1ba4ec880] jit-trace-done} [c5fd5f1ba517a00] {jit-log-noopt # Traced loop or bridge with 32 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) unicodesetitem(p3, 1, 98) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf460ff0c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 97) guard_false(i24) i26 = unicodegetitem(p15, 1) i28 = int_ne(i26, 98) guard_false(i28) i30 = int_sub(i0, 1) i32 = int_gt(i30, 0) guard_true(i32) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i30, descr=<Loop-1>) [c5fd5f1ba666180] jit-log-noopt} [c5fd5f1ba676b80] {jit-optimize [c5fd5f1ba693e00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4639eac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1bac1b680] jit-log-intbounds} [c5fd5f1bac9c700] {jit-log-exported-state [i33] PureOp(i34 = int_gt(i33, 0/ci)) INP(i33 = int_add(i35, -1/ci)) [c5fd5f1bacb5180] jit-log-exported-state} [c5fd5f1bacbfd80] jit-optimize} [c5fd5f1bacd6500] {jit-optimize [c5fd5f1badcce00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf444cd4c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1bb46a780] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-196812596)) [c5fd5f1bb59aa80] jit-optimize} [c5fd5f1bb5a7a00] {jit-log-short-preamble [] label(i36) jump() [c5fd5f1bb5bd180] jit-log-short-preamble} [c5fd5f1bb5ee480] {jit-backend [c5fd5f1bb604a00] {jit-log-compiling-loop [i35] label(i35, descr=TargetToken(-194748596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i35, -1) i34 = int_gt(i33, 0) guard_true(i34, descr=<Guard0xf4639eac>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(-196812596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0xf444cd4c>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(-196812596)) [c5fd5f1bb65ad00] jit-log-compiling-loop} [c5fd5f1bb66c000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f1bb678d80] jit-mem-looptoken-alloc} [c5fd5f1bb6a5280] jit-backend} compiled new loop [c5fd5f1bb6b1b80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-194748596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf4639eac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-196812596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf444cd4c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-196812596)) [c5fd5f1bb712880] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f1bb884800] jit-tracing} ____________________ TestLLtype.test_stringbuilder_append_2 ____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf4639fcc> def test_stringbuilder_append_2(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"abc") s = sb.build() if len(s) != 3: raise ValueError if s[0] != u"a": raise ValueError if s[1] != u"b": raise ValueError if s[2] != u"c": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:672: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf44d5d0c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 157, 154] -> 157 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 244 blocks (40%) [rtyper] specializing: 200 / 246 blocks (81%) [rtyper] -=- specialized 246 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 23 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 74 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f1e2423300] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f1e2ca3000] {jit-trace-done trace length: 202 number operations: 36 total snapshots: 8 snapshot data: 96 snapshot array data: 58 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f1e2cd3500] jit-trace-done} [c5fd5f1e2d01b80] {jit-log-noopt # Traced loop or bridge with 36 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) unicodesetitem(p3, 1, 98) unicodesetitem(p3, 2, 99) p14 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p14) p17 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 3, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf44fa94c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p17, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i20 = unicodelen(p17) i22 = int_ne(i20, 3) guard_false(i22) i24 = unicodegetitem(p17, 0) i26 = int_ne(i24, 97) guard_false(i26) i28 = unicodegetitem(p17, 1) i30 = int_ne(i28, 98) guard_false(i30) i32 = unicodegetitem(p17, 2) i34 = int_ne(i32, 99) guard_false(i34) i36 = int_sub(i0, 1) i38 = int_gt(i36, 0) guard_true(i38) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i36, descr=<Loop-1>) [c5fd5f1e2e7e980] jit-log-noopt} [c5fd5f1e2e90080] {jit-optimize [c5fd5f1e2eac380] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf43a8cec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1e3465700] jit-log-intbounds} [c5fd5f1e34e2900] {jit-log-exported-state [i39] INP(i39 = int_add(i40, -1/ci)) PureOp(i41 = int_gt(i39, 0/ci)) [c5fd5f1e34fab80] jit-log-exported-state} [c5fd5f1e3505200] jit-optimize} [c5fd5f1e351b180] {jit-optimize [c5fd5f1e3607680] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf43b6e0c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f1e3ce1100] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-198143700)) [c5fd5f1e3e07d80] jit-optimize} [c5fd5f1e3e14300] {jit-log-short-preamble [] label(i42) jump() [c5fd5f1e3e28b80] jit-log-short-preamble} [c5fd5f1e3e57d80] {jit-backend [c5fd5f1e3e6df00] {jit-log-compiling-loop [i40] label(i40, descr=TargetToken(-197476532)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i40, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0xf43a8cec>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i39, descr=TargetToken(-198143700)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = int_add(i39, -1) i48 = int_gt(i46, 0) guard_true(i48, descr=<Guard0xf43b6e0c>) [i46] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i46, descr=TargetToken(-198143700)) [c5fd5f1e3ebfb80] jit-log-compiling-loop} [c5fd5f1e3ed1880] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f1e3eddd80] jit-mem-looptoken-alloc} [c5fd5f1e3f08d00] jit-backend} compiled new loop [c5fd5f1e3f14c80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-197476532)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf43a8cec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-198143700)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf43b6e0c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-198143700)) [c5fd5f1e3f71c80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f1e4119880] jit-tracing} __________________ TestLLtype.test_stringbuilder_append_empty __________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf43a8d6c> def test_stringbuilder_append_empty(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"") s = sb.build() if len(s) != 0: raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:688: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf431ebec> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 114, 111] -> 114 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 238 blocks (42%) [rtyper] specializing: 200 / 238 blocks (84%) [rtyper] -=- specialized 238 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 71 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f2067cba80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f206d7b200] {jit-trace-done trace length: 127 number operations: 23 total snapshots: 5 snapshot data: 60 snapshot array data: 34 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f206da9400] jit-trace-done} [c5fd5f206dd7480] {jit-log-noopt # Traced loop or bridge with 23 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p7) p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf430978c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i13 = unicodelen(p10) i14 = int_is_true(i13) guard_false(i14) i16 = int_sub(i0, 1) i18 = int_gt(i16, 0) guard_true(i18) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i16, descr=<Loop-1>) [c5fd5f206ecdd80] jit-log-noopt} [c5fd5f206ede180] {jit-optimize [c5fd5f206ef9300] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf42e56cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f2073e4f00] jit-log-intbounds} [c5fd5f207463c80] {jit-log-exported-state [i19] INP(i19 = int_add(i20, -1/ci)) PureOp(i21 = int_gt(i19, 0/ci)) [c5fd5f20747ea80] jit-log-exported-state} [c5fd5f207489600] jit-optimize} [c5fd5f2074a0780] {jit-optimize [c5fd5f207591680] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf421b36c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f207b80900] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-199116884)) [c5fd5f207ca4780] jit-optimize} [c5fd5f207cb0a80] {jit-log-short-preamble [] label(i22) jump() [c5fd5f207cc5280] jit-log-short-preamble} [c5fd5f207cf5200] {jit-backend [c5fd5f207d0ae00] {jit-log-compiling-loop [i20] label(i20, descr=TargetToken(-198268884)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i20, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0xf42e56cc>) [i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i19, descr=TargetToken(-199116884)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i26 = int_add(i19, -1) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf421b36c>) [i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i26, descr=TargetToken(-199116884)) [c5fd5f207d5ca80] jit-log-compiling-loop} [c5fd5f207d6ea00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f207d7ae80] jit-mem-looptoken-alloc} [c5fd5f207da5a80] jit-backend} compiled new loop [c5fd5f207db1e00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-198268884)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf42e56cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-199116884)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf421b36c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-199116884)) [c5fd5f207e0d880] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f207f70400] jit-tracing} _________________ TestLLtype.test_stringbuilder_append_slice_2 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3f22fec> def test_stringbuilder_append_slice_2(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append_slice(u"fOo!", 1, 3) s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"O": raise ValueError if s[1] != u"o": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:769: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf3ebdf4c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 146, 143] -> 146 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 242 blocks (41%) [rtyper] specializing: 200 / 242 blocks (82%) [rtyper] -=- specialized 244 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 21 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 7 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f2a4dd1400] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f2a5593f00] {jit-trace-done trace length: 180 number operations: 32 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f2a55c2180] jit-trace-done} [c5fd5f2a55f0600] {jit-log-noopt # Traced loop or bridge with 32 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 79) unicodesetitem(p3, 1, 111) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf3e5476c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 79) guard_false(i24) i26 = unicodegetitem(p15, 1) i28 = int_ne(i26, 111) guard_false(i28) i30 = int_sub(i0, 1) i32 = int_gt(i30, 0) guard_true(i32) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i30, descr=<Loop-1>) [c5fd5f2a573ce00] jit-log-noopt} [c5fd5f2a574d980] {jit-optimize [c5fd5f2a5769100] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3e1882c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f2a5cdee00] jit-log-intbounds} [c5fd5f2a5d57a00] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd5f2a5d6f100] jit-log-exported-state} [c5fd5f2a5d78f00] jit-optimize} [c5fd5f2a5d8eb00] {jit-optimize [c5fd5f2a5e77180] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3e256cc>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f2a650dc00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-203269300)) [c5fd5f2a6634900] jit-optimize} [c5fd5f2a6641000] {jit-log-short-preamble [] label(i36) jump() [c5fd5f2a6655600] jit-log-short-preamble} [c5fd5f2a6684800] {jit-backend [c5fd5f2a669a400] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(-202233108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf3e1882c>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(-203269300)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0xf3e256cc>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(-203269300)) [c5fd5f2a66ec600] jit-log-compiling-loop} [c5fd5f2a66fd180] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f2a6709500] jit-mem-looptoken-alloc} [c5fd5f2a6737d80] jit-backend} compiled new loop [c5fd5f2a6744680] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-202233108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf3e1882c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-203269300)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf3e256cc>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-203269300)) [c5fd5f2a67a1700] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f2a6905a00] jit-tracing} _____________ TestLLtype.test_stringbuilder_append_multiple_char_1 _____________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3e6bb0c> def test_stringbuilder_append_multiple_char_1(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append_multiple_char(u"x", 5) s = sb.build() if len(s) != 5: raise ValueError if s[0] != u"x": raise ValueError if s[1] != u"x": raise ValueError if s[2] != u"x": raise ValueError if s[3] != u"x": raise ValueError if s[4] != u"x": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:790: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf3d1466c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 192, 189] -> 192 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 150 blocks (66%) [rtyper] -=- specialized 152 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 24 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 3 JitCode instances. [jitcodewriter:info] There are 29 -live- ops. Size of liveness is 63 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 13 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 7 bitstrings, mean length 0.9, max length 1 [c5fd5f2c0b4cb80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f2c1510380] {jit-trace-done trace length: 246 number operations: 44 total snapshots: 10 snapshot data: 120 snapshot array data: 74 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f2c1540100] jit-trace-done} [c5fd5f2c156ef80] {jit-log-noopt # Traced loop or bridge with 44 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 120) unicodesetitem(p3, 1, 120) unicodesetitem(p3, 2, 120) unicodesetitem(p3, 3, 120) unicodesetitem(p3, 4, 120) p18 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p18) p21 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 5, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf3db896c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p21, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i24 = unicodelen(p21) i26 = int_ne(i24, 5) guard_false(i26) i28 = unicodegetitem(p21, 0) i30 = int_ne(i28, 120) guard_false(i30) i32 = unicodegetitem(p21, 1) i34 = int_ne(i32, 120) guard_false(i34) i36 = unicodegetitem(p21, 2) i38 = int_ne(i36, 120) guard_false(i38) i40 = unicodegetitem(p21, 3) i42 = int_ne(i40, 120) guard_false(i42) i44 = unicodegetitem(p21, 4) i46 = int_ne(i44, 120) guard_false(i46) i48 = int_sub(i0, 1) i50 = int_gt(i48, 0) guard_true(i50) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i48, descr=<Loop-1>) [c5fd5f2c1720280] jit-log-noopt} [c5fd5f2c1732580] {jit-optimize [c5fd5f2c174fa80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3d2a76c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f2c1d95800] jit-log-intbounds} [c5fd5f2c1e13d80] {jit-log-exported-state [i51] PureOp(i52 = int_gt(i51, 0/ci)) INP(i51 = int_add(i53, -1/ci)) [c5fd5f2c1e2c400] jit-log-exported-state} [c5fd5f2c1e36e00] jit-optimize} [c5fd5f2c1e4eb00] {jit-optimize [c5fd5f2c1f3ba00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3d3682c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f2c26b1080] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-204247892)) [c5fd5f2c27e1200] jit-optimize} [c5fd5f2c27edd80] {jit-log-short-preamble [] label(i54) jump() [c5fd5f2c2802700] jit-log-short-preamble} [c5fd5f2c2831700] {jit-backend [c5fd5f2c2847c80] {jit-log-compiling-loop [i53] label(i53, descr=TargetToken(-204256404)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i53, -1) i52 = int_gt(i51, 0) guard_true(i52, descr=<Guard0xf3d2a76c>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(-204247892)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0xf3d3682c>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(-204247892)) [c5fd5f2c289d400] jit-log-compiling-loop} [c5fd5f2c28ae380] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f2c28ba680] jit-mem-looptoken-alloc} [c5fd5f2c28e6b80] jit-backend} compiled new loop [c5fd5f2c28f2e80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-204256404)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf3d2a76c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-204247892)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf3d3682c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-204247892)) [c5fd5f2c2952800] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f2c2ab6180] jit-tracing} _________________________ TestLLtype.test_shrink_array _________________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3a413cc> def test_shrink_array(self): jitdriver = JitDriver(reds=['result', 'n'], greens=[]) _str, _StringBuilder = self._str, self._StringBuilder def f(n): result = 0 while n >= 0: jitdriver.jit_merge_point(n=n, result=result) b = _StringBuilder(20) b.append(_str("Testing!")) result += len(b.build()) n -= 1 return result res = self.meta_interp(f, [9], backendopt=True) assert res == f(9) self.check_resops({ > 'jump': 1, 'guard_true': 2, 'int_ge': 2, 'int_add': 2, 'int_sub': 2 }) jit/metainterp/test/test_string.py:867: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf3954e0c> insns = {'guard_true': 2, 'int_add': 4, 'int_ge': 2, 'jump': 1} expected = {'guard_true': 2, 'int_add': 2, 'int_ge': 2, 'int_sub': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...} E Omitting 3 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_ge [-1, 0, 110, 107] -> 110 bh: int_return [<BHInterp <JitCode 'f'>>, 80] -> LeaveFrame! ~~~ return value: 80 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 233 blocks (42%) [rtyper] specializing: 200 / 235 blocks (85%) [rtyper] -=- specialized 235 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 70 -live- ops. Size of liveness is 67 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f3b0eb5300] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f3b1c16980] {jit-trace-done trace length: 188 number operations: 32 total snapshots: 4 snapshot data: 48 snapshot array data: 36 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f3b1c5da80] jit-trace-done} [c5fd5f3b1cb4900] {jit-log-noopt # Traced loop or bridge with 31 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new(descr=SizeDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p4 = newstr(20) setfield_gc(p2, p4, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p2, 20, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p2, 20, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) strsetitem(p4, 0, 84) strsetitem(p4, 1, 101) strsetitem(p4, 2, 115) strsetitem(p4, 3, 116) strsetitem(p4, 4, 105) strsetitem(p4, 5, 110) strsetitem(p4, 6, 103) strsetitem(p4, 7, 33) p25 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p25) p28 = call_r(ConstClass(ll_shrink_array__rpy_stringPtr_Signed), p4, 8, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<* GcStruct rpy_string { hash, chars }>, <Signed>), <EffectInfo 0xf39cf02c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p2, p28, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i31 = strlen(p28) i32 = int_add(i0, i31) i34 = int_sub(i1, 1) i36 = int_ge(i34, 0) guard_true(i36) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i32, i34, descr=<Loop-1>) [c5fd5f3b1ebba00] jit-log-noopt} [c5fd5f3b1ed4080] {jit-optimize [c5fd5f3b1f06c80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 8) # i3 -> (?) IntBound.unbounded() i5 = int_add(i1, -1) i7 = int_ge(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3932e0c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f3b289c680] jit-log-intbounds} [c5fd5f3b299dc00] {jit-log-exported-state [i37, i38] INP(i37 = int_add(i39, 8/ci)) INP(i38 = int_add(i40, -1/ci)) PureOp(i41 = int_ge(i38, 0/ci)) [c5fd5f3b29ce500] jit-log-exported-state} [c5fd5f3b29df480] jit-optimize} [c5fd5f3b2a02d00] {jit-optimize [c5fd5f3b2c0bb00] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i2, 8) # i4 -> (?) IntBound.unbounded() # i5: (0 <= 0b0?...?) IntBound.nonnegative() i7 = int_add(i5, -1) # i7: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1) i9 = int_ge(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf393994c>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f3b3782200] jit-log-intbounds} # i7: (0 <= 0b0?...?) IntBound.nonnegative() jump(i4, i7, descr=TargetToken(-208412276)) [c5fd5f3b39cdc80] jit-optimize} [c5fd5f3b39e1d00] {jit-log-short-preamble [] label(i42, i43) jump() [c5fd5f3b3a06300] jit-log-short-preamble} [c5fd5f3b3a57f80] {jit-backend [c5fd5f3b3a7a400] {jit-log-compiling-loop [i39, i40] label(i39, i40, descr=TargetToken(-208458196)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i37 = int_add(i39, 8) i38 = int_add(i40, -1) i41 = int_ge(i38, 0) guard_true(i41, descr=<Guard0xf3932e0c>) [i37, i38] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i37, i38, descr=TargetToken(-208412276)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i48 = int_add(i37, 8) i50 = int_add(i38, -1) i52 = int_ge(i50, 0) guard_true(i52, descr=<Guard0xf393994c>) [i48, i50] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, i50, descr=TargetToken(-208412276)) [c5fd5f3b3b14d00] jit-log-compiling-loop} [c5fd5f3b3b30280] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f3b3b43b00] jit-mem-looptoken-alloc} [c5fd5f3b3b90780] jit-backend} compiled new loop [c5fd5f3b3ba4400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(-208458196)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 8) i5 = int_add(i1, -1) i7 = int_ge(i5, 0) guard_true(i7, descr=<Guard0xf3932e0c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(-208412276)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i3, 8) i11 = int_add(i5, -1) i13 = int_ge(i11, 0) guard_true(i13, descr=<Guard0xf393994c>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(-208412276)) [c5fd5f3b3c4ec80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f3b3eb2380] jit-tracing} _____________ TestLLtypeUnicode.test_string_compare_quasiimmutable _____________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2d84e2c> def test_string_compare_quasiimmutable(self): class Sys(object): _immutable_fields_ = ["defaultencoding?"] def __init__(self, s): self.defaultencoding = s _str = self._str sys = Sys(_str('ascii')) mydriver = JitDriver(reds = ['n', 'sa'], greens = []) def f(n): sa = 0 sys.defaultencoding = _str('ascii') while n: mydriver.jit_merge_point(n=n, sa=sa) if sys.defaultencoding == _str('ascii'): sa += 1 n -= 1 sys.defaultencoding = _str('utf-8') return sa assert self.meta_interp(f, [8]) == f(8) self.check_resops({'jump': 1, 'int_is_true': 2, 'int_add': 2, 'guard_true': 2, 'guard_not_invalidated': 2, > 'int_sub': 2}) jit/metainterp/test/test_string.py:507: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf2d13c4c> insns = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 4, 'int_is_true': 2, ...} expected = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 2, 'int_is_true': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_not_i...true': 2, ...} == {'guard_not_in...true': 2, ...} E Omitting 4 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: record_quasiimmut_field [<* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding'), FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')] bh: getfield_gc_r_pure [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] -> * GCREF hidden bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <AddressAsInt * fn ll_streq__rpy_unicodePtr_rpy_unicodePtr>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>)] -> 1 bh: live [36] -> 38 bh: goto_if_not [1, 74, 42] -> 42 bh: int_add [7, 1] -> 8 bh: int_sub [1, 1] -> 0 bh: live [51] -> 53 bh: goto_if_not_int_is_true [0, 60, 57] -> 60 bh: live [61] -> 63 bh: jit_force_quasi_immutable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')] bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] bh: int_return [<BHInterp <JitCode 'f'>>, 8] -> LeaveFrame! ~~~ return value: 8 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 18 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 5 -live- ops. Size of liveness is 12 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 8 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 [c5fd5f53df8d100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f53e30b600] {jit-trace-done trace length: 49 number operations: 11 total snapshots: 3 snapshot data: 36 snapshot array data: 20 bigint consts: 1 1 float consts: 0 0 ref consts: 3 0 3 descrs: 2 [c5fd5f53e352e80] jit-trace-done} [c5fd5f53e3a1f80] {jit-log-noopt # Traced loop or bridge with 10 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') quasiimmut_field(ConstPtr(ptr2), descr=<rpython.jit.metainterp.quasiimmut.QuasiImmutDescr object at 0xf2ce25ac>) guard_not_invalidated() i4 = int_add(i1, 1) i6 = int_sub(i0, 1) i7 = int_is_true(i6) guard_true(i7) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i6, i4, descr=<Loop-1>) [c5fd5f53e45e780] jit-log-noopt} [c5fd5f53e476080] {jit-optimize [c5fd5f53e4ab400] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2cd7eac>) [i0, i1] i3 = int_add(i1, 1) # i3 -> (?) IntBound.unbounded() i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2ce2ecc>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f53eb04200] jit-log-intbounds} [c5fd5f53eb86080] {jit-log-exported-state [i8, i9] INP(i8 = int_add(i10, -1/ci)) INP(i9 = int_add(i11, 1/ci)) PureOp(i12 = int_is_true(i8)) [c5fd5f53eba2900] jit-log-exported-state} [c5fd5f53ebad700] jit-optimize} [c5fd5f53ebc6700] {jit-optimize [c5fd5f53eccfd80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2ce76ec>) [i2, i3] i5 = int_add(i3, 1) # i5 -> (?) IntBound.unbounded() i7 = int_add(i2, -1) i8 = int_is_true(i7) guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2ce7a6c>) [i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f53f105400] jit-log-intbounds} jump(i7, i5, descr=TargetToken(-221348244)) [c5fd5f53f1f9a00] jit-optimize} [c5fd5f53f205f00] {jit-log-short-preamble [] label(i13, i14) jump() [c5fd5f53f21ab00] jit-log-short-preamble} [c5fd5f53f252600] {jit-backend [c5fd5f53f268380] {jit-log-compiling-loop [i10, i11] label(i10, i11, descr=TargetToken(-221351540)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf2cd7eac>) [i10, i11] i9 = int_add(i11, 1) i8 = int_add(i10, -1) i12 = int_is_true(i8) guard_true(i12, descr=<Guard0xf2ce2ecc>) [i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(-221348244)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf2ce76ec>) [i8, i9] i18 = int_add(i9, 1) i20 = int_add(i8, -1) i21 = int_is_true(i20) guard_true(i21, descr=<Guard0xf2ce7a6c>) [i8, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i18, descr=TargetToken(-221348244)) [c5fd5f53f2d3080] jit-log-compiling-loop} [c5fd5f53f2e4a00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f53f2f0780] jit-mem-looptoken-alloc} [c5fd5f53f325700] jit-backend} compiled new loop [c5fd5f53f331280] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1] label(i0, i1, descr=TargetToken(-221351540)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf2cd7eac>) [i0, i1] i3 = int_add(i1, 1) i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<Guard0xf2ce2ecc>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i3, descr=TargetToken(-221348244)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0xf2ce76ec>) [i5, i3] i8 = int_add(i3, 1) i10 = int_add(i5, -1) i11 = int_is_true(i10) guard_true(i11, descr=<Guard0xf2ce7a6c>) [i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i8, descr=TargetToken(-221348244)) [c5fd5f53f3a4e00] jit-log-opt-loop} [c5fd5f53f5a6c80] {jit-invalidate-quasi-immutable fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1 [c5fd5f53f5b6e00] jit-invalidate-quasi-immutable} DoneWithThisFrameInt [c5fd5f53f5ea680] jit-tracing} _________________ TestLLtypeUnicode.test_stringbuilder_create __________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf292c56c> def test_stringbuilder_create(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() if sb.build() != u"": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf294770c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 110, 107] -> 110 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 90 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] specializing: 100 / 103 blocks (97%) [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 11 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 5 more blocks -=- [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 10 -live- ops. Size of liveness is 38 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 11 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f5f1c81500] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f5f22e5b00] {jit-trace-done trace length: 135 number operations: 23 total snapshots: 5 snapshot data: 60 snapshot array data: 34 bigint consts: 3 3 float consts: 0 0 ref consts: 2 1 2 descrs: 1 [c5fd5f5f2315280] jit-trace-done} [c5fd5f5f2342500] {jit-log-noopt # Traced loop or bridge with 23 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p7) p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf28a228c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i15 = call_pure_i(ConstClass(ll_streq__rpy_unicodePtr_rpy_unicodePtr), p10, ConstPtr(ptr14), descr=CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>)) i16 = int_is_zero(i15) guard_false(i16) i18 = int_sub(i0, 1) i20 = int_gt(i18, 0) guard_true(i20) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i18, descr=<Loop-1>) [c5fd5f5f2456e80] jit-log-noopt} [c5fd5f5f2469b80] {jit-optimize [c5fd5f5f2488c00] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf28c43ec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f5f29c3980] jit-log-intbounds} [c5fd5f5f2a45d80] {jit-log-exported-state [i21] PureOp(i22 = int_gt(i21, 0/ci)) INP(i21 = int_add(i23, -1/ci)) [c5fd5f5f2a5f200] jit-log-exported-state} [c5fd5f5f2a6a000] jit-optimize} [c5fd5f5f2a82280] {jit-optimize [c5fd5f5f2b77400] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf28c4b4c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f5f31d1600] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-226192596)) [c5fd5f5f32fb380] jit-optimize} [c5fd5f5f3307d00] {jit-log-short-preamble [] label(i24) jump() [c5fd5f5f331c680] jit-log-short-preamble} [c5fd5f5f334ce80] {jit-backend [c5fd5f5f3363b80] {jit-log-compiling-loop [i23] label(i23, descr=TargetToken(-225688564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i23, -1) i22 = int_gt(i21, 0) guard_true(i22, descr=<Guard0xf28c43ec>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(-226192596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0xf28c4b4c>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(-226192596)) [c5fd5f5f33b5e00] jit-log-compiling-loop} [c5fd5f5f33c7900] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f5f33d3e80] jit-mem-looptoken-alloc} [c5fd5f5f33ffd00] jit-backend} compiled new loop [c5fd5f5f340c100] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-225688564)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf28c43ec>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-226192596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf28c4b4c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-226192596)) [c5fd5f5f3468f00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f5f35cd280] jit-tracing} _______________ TestLLtypeUnicode.test_stringbuilder_append_char _______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf289248c> def test_stringbuilder_append_char(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"a") sb.append(unichr(n)) s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"a": raise ValueError if s[1] != unichr(n): raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf2ae278c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 216, 213] -> 216 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 106 blocks (94%) [rtyper] -=- specialized 106 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 4 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 17 -live- ops. Size of liveness is 63 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 4 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f6130b1900] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f613bd4f80] {jit-trace-done trace length: 187 number operations: 33 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f613c17480] jit-trace-done} [c5fd5f613c59500] {jit-log-noopt # Traced loop or bridge with 33 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 1, i0) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf26dfdec: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 97) guard_false(i24) i26 = unicodegetitem(p15, 1) i27 = int_ne(i26, i0) guard_false(i27) i29 = int_sub(i0, 1) i31 = int_gt(i29, 0) guard_true(i31) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i29, descr=<Loop-1>) [c5fd5f613e49680] jit-log-noopt} [c5fd5f613e60b80] {jit-optimize [c5fd5f613e87680] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i0: (0 <= 0b0?...?) IntBound.nonnegative() i2 = int_add(i0, -1) # i2: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf278e6ac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f6148fb380] jit-log-intbounds} [c5fd5f6149adc80] {jit-log-exported-state [i32] PureOp(i33 = int_gt(i32, 0/ci)) INP(i32 = int_add(i34, -1/ci)) [c5fd5f6149cfd80] jit-log-exported-state} [c5fd5f6149def80] jit-optimize} [c5fd5f614a00300] {jit-optimize [c5fd5f614b5d500] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf279328c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f615521880] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-226937108)) [c5fd5f6156cb180] jit-optimize} [c5fd5f6156dcc80] {jit-log-short-preamble [] label(i35) jump() [c5fd5f6156fad00] jit-log-short-preamble} [c5fd5f615743180] {jit-backend [c5fd5f615762b00] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(-226958260)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i32 = int_add(i34, -1) i33 = int_gt(i32, 0) guard_true(i33, descr=<Guard0xf278e6ac>) [i32] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i32, descr=TargetToken(-226937108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i32, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0xf279328c>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i39, descr=TargetToken(-226937108)) [c5fd5f6157d9780] jit-log-compiling-loop} [c5fd5f6157f3800] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f615806c00] jit-mem-looptoken-alloc} [c5fd5f615844880] jit-backend} compiled new loop [c5fd5f615855d80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-226958260)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf278e6ac>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-226937108)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf279328c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-226937108)) [c5fd5f6158e0a80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f615af8880] jit-tracing} ________________ TestLLtypeUnicode.test_stringbuilder_append_1 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf26e09ac> def test_stringbuilder_append_1(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"ab") s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"a": raise ValueError if s[1] != u"b": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:653: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf27ea8cc> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 143, 140] -> 143 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 242 blocks (41%) [rtyper] specializing: 200 / 244 blocks (81%) [rtyper] -=- specialized 244 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 23 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f63c242b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f63ca61900] {jit-trace-done trace length: 180 number operations: 32 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f63ca91280] jit-trace-done} [c5fd5f63cabf500] {jit-log-noopt # Traced loop or bridge with 32 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) unicodesetitem(p3, 1, 98) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf288684c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 97) guard_false(i24) i26 = unicodegetitem(p15, 1) i28 = int_ne(i26, 98) guard_false(i28) i30 = int_sub(i0, 1) i32 = int_gt(i30, 0) guard_true(i32) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i30, descr=<Loop-1>) [c5fd5f63cc0fa00] jit-log-noopt} [c5fd5f63cc20d00] {jit-optimize [c5fd5f63cc3ca80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2711e0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f63d1d5080] jit-log-intbounds} [c5fd5f63d253800] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd5f63d26c080] jit-log-exported-state} [c5fd5f63d276a80] jit-optimize} [c5fd5f63d28e380] {jit-optimize [c5fd5f63d381800] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2713a4c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f63da23200] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-227459380)) [c5fd5f63db4ff00] jit-optimize} [c5fd5f63db5ca00] {jit-log-short-preamble [] label(i36) jump() [c5fd5f63db71600] jit-log-short-preamble} [c5fd5f63dba0980] {jit-backend [c5fd5f63dbb8c80] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(-227467732)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf2711e0c>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(-227459380)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0xf2713a4c>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(-227459380)) [c5fd5f63dc0ae80] jit-log-compiling-loop} [c5fd5f63dc1d000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f63dc29300] jit-mem-looptoken-alloc} [c5fd5f63dc55e00] jit-backend} compiled new loop [c5fd5f63dc62180] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-227467732)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf2711e0c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-227459380)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf2713a4c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-227459380)) [c5fd5f63dcc1880] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f63de2b400] jit-tracing} ________________ TestLLtypeUnicode.test_stringbuilder_append_2 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2877aac> def test_stringbuilder_append_2(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"abc") s = sb.build() if len(s) != 3: raise ValueError if s[0] != u"a": raise ValueError if s[1] != u"b": raise ValueError if s[2] != u"c": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:672: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf262ff8c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 157, 154] -> 157 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 244 blocks (40%) [rtyper] specializing: 200 / 244 blocks (81%) [rtyper] -=- specialized 246 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 23 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 74 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f663e5ba80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f664987880] {jit-trace-done trace length: 202 number operations: 36 total snapshots: 8 snapshot data: 96 snapshot array data: 58 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f6649b6880] jit-trace-done} [c5fd5f6649e4880] {jit-log-noopt # Traced loop or bridge with 36 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 97) unicodesetitem(p3, 1, 98) unicodesetitem(p3, 2, 99) p14 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p14) p17 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 3, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf2667b4c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p17, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i20 = unicodelen(p17) i22 = int_ne(i20, 3) guard_false(i22) i24 = unicodegetitem(p17, 0) i26 = int_ne(i24, 97) guard_false(i26) i28 = unicodegetitem(p17, 1) i30 = int_ne(i28, 98) guard_false(i30) i32 = unicodegetitem(p17, 2) i34 = int_ne(i32, 99) guard_false(i34) i36 = int_sub(i0, 1) i38 = int_gt(i36, 0) guard_true(i38) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i36, descr=<Loop-1>) [c5fd5f664b4e780] jit-log-noopt} [c5fd5f664b5ef00] {jit-optimize [c5fd5f664b7b280] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf277be2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f665129980] jit-log-intbounds} [c5fd5f6651a2380] {jit-log-exported-state [i39] INP(i39 = int_add(i40, -1/ci)) PureOp(i41 = int_gt(i39, 0/ci)) [c5fd5f6651b9880] jit-log-exported-state} [c5fd5f6651c3a80] jit-optimize} [c5fd5f6651da600] {jit-optimize [c5fd5f6652c9000] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf277ed6c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f6659c0200] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-227008372)) [c5fd5f665ade780] jit-optimize} [c5fd5f665aeae80] {jit-log-short-preamble [] label(i42) jump() [c5fd5f665afef00] jit-log-short-preamble} [c5fd5f665b2cd80] {jit-backend [c5fd5f665b42f00] {jit-log-compiling-loop [i40] label(i40, descr=TargetToken(-227033268)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i40, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0xf277be2c>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i39, descr=TargetToken(-227008372)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = int_add(i39, -1) i48 = int_gt(i46, 0) guard_true(i48, descr=<Guard0xf277ed6c>) [i46] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i46, descr=TargetToken(-227008372)) [c5fd5f665b93e00] jit-log-compiling-loop} [c5fd5f665ba9380] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f665bb6300] jit-mem-looptoken-alloc} [c5fd5f665be3780] jit-backend} compiled new loop [c5fd5f665bf0480] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-227033268)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf277be2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-227008372)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf277ed6c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-227008372)) [c5fd5f665c51900] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f665dc1800] jit-tracing} ______________ TestLLtypeUnicode.test_stringbuilder_append_empty _______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf25b34ec> def test_stringbuilder_append_empty(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append(u"") s = sb.build() if len(s) != 0: raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:688: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf24e1f8c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 114, 111] -> 114 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 238 blocks (42%) [rtyper] specializing: 200 / 238 blocks (84%) [rtyper] -=- specialized 238 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 21 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 71 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f689574480] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f689b3e380] {jit-trace-done trace length: 127 number operations: 23 total snapshots: 5 snapshot data: 60 snapshot array data: 34 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f689b6cc00] jit-trace-done} [c5fd5f689b9b000] {jit-log-noopt # Traced loop or bridge with 23 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p7) p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf276ffec: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i13 = unicodelen(p10) i14 = int_is_true(i13) guard_false(i14) i16 = int_sub(i0, 1) i18 = int_gt(i16, 0) guard_true(i18) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i16, descr=<Loop-1>) [c5fd5f689c9b200] jit-log-noopt} [c5fd5f689cac180] {jit-optimize [c5fd5f689cc7e80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2579a2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f68a1b2f00] jit-log-intbounds} [c5fd5f68a22ff00] {jit-log-exported-state [i19] PureOp(i20 = int_gt(i19, 0/ci)) INP(i19 = int_add(i21, -1/ci)) [c5fd5f68a24a700] jit-log-exported-state} [c5fd5f68a255300] jit-optimize} [c5fd5f68a26cf80] {jit-optimize [c5fd5f68a360400] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf25cb52c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f68a95e700] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-228804084)) [c5fd5f68aa84600] jit-optimize} [c5fd5f68aa91100] {jit-log-short-preamble [] label(i22) jump() [c5fd5f68aaa5d00] jit-log-short-preamble} [c5fd5f68aad5f00] {jit-backend [c5fd5f68aaee980] {jit-log-compiling-loop [i21] label(i21, descr=TargetToken(-229139892)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i21, -1) i20 = int_gt(i19, 0) guard_true(i20, descr=<Guard0xf2579a2c>) [i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i19, descr=TargetToken(-228804084)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i26 = int_add(i19, -1) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0xf25cb52c>) [i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i26, descr=TargetToken(-228804084)) [c5fd5f68ab40600] jit-log-compiling-loop} [c5fd5f68ab52180] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f68ab5e480] jit-mem-looptoken-alloc} [c5fd5f68ab8aa00] jit-backend} compiled new loop [c5fd5f68ab96d00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-229139892)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf2579a2c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-228804084)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf25cb52c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-228804084)) [c5fd5f68abf6480] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f68ad69180] jit-tracing} _____________ TestLLtypeUnicode.test_stringbuilder_append_slice_2 ______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2198fac> def test_stringbuilder_append_slice_2(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append_slice(u"fOo!", 1, 3) s = sb.build() if len(s) != 2: raise ValueError if s[0] != u"O": raise ValueError if s[1] != u"o": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:769: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf2140d4c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 146, 143] -> 146 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 244 blocks (40%) [rtyper] specializing: 200 / 244 blocks (81%) [rtyper] -=- specialized 244 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 23 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 7 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f73e581580] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f73ed3c780] {jit-trace-done trace length: 180 number operations: 32 total snapshots: 7 snapshot data: 84 snapshot array data: 50 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f73ed6d500] jit-trace-done} [c5fd5f73ed99b80] {jit-log-noopt # Traced loop or bridge with 32 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 79) unicodesetitem(p3, 1, 111) p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p12) p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf21a57ec: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i18 = unicodelen(p15) i20 = int_ne(i18, 2) guard_false(i20) i22 = unicodegetitem(p15, 0) i24 = int_ne(i22, 79) guard_false(i24) i26 = unicodegetitem(p15, 1) i28 = int_ne(i26, 111) guard_false(i28) i30 = int_sub(i0, 1) i32 = int_gt(i30, 0) guard_true(i32) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i30, descr=<Loop-1>) [c5fd5f73eee8900] jit-log-noopt} [c5fd5f73eef9480] {jit-optimize [c5fd5f73ef14800] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf209d6cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f73f498600] jit-log-intbounds} [c5fd5f73f51b200] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd5f73f533080] jit-log-exported-state} [c5fd5f73f53d680] jit-optimize} [c5fd5f73f553880] {jit-optimize [c5fd5f73f643080] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf20a430c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f73fcd8700] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-234207380)) [c5fd5f73fdfc900] jit-optimize} [c5fd5f73fe09600] {jit-log-short-preamble [] label(i36) jump() [c5fd5f73fe1e000] jit-log-short-preamble} [c5fd5f73fe4d000] {jit-backend [c5fd5f73fe63180] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(-232943796)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0xf209d6cc>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(-234207380)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0xf20a430c>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(-234207380)) [c5fd5f73feb4c00] jit-log-compiling-loop} [c5fd5f73fec5d80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f73fed1f00] jit-mem-looptoken-alloc} [c5fd5f73fefda00] jit-backend} compiled new loop [c5fd5f73ff0b500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-232943796)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf209d6cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-234207380)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf20a430c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-234207380)) [c5fd5f73ff66f80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f7400cb100] jit-tracing} _________ TestLLtypeUnicode.test_stringbuilder_append_multiple_char_1 __________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf1f7b22c> def test_stringbuilder_append_multiple_char_1(self): jitdriver = JitDriver(reds=['n'], greens=[]) def f(n): while n > 0: jitdriver.jit_merge_point(n=n) sb = UnicodeBuilder() sb.append_multiple_char(u"x", 5) s = sb.build() if len(s) != 5: raise ValueError if s[0] != u"x": raise ValueError if s[1] != u"x": raise ValueError if s[2] != u"x": raise ValueError if s[3] != u"x": raise ValueError if s[4] != u"x": raise ValueError n -= 1 return n res = self.meta_interp(f, [10], backendopt=True) assert res == 0 self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2, > 'jump': 1}) jit/metainterp/test/test_string.py:790: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf201460c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 192, 189] -> 192 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 147 blocks (68%) [rtyper] -=- specialized 152 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 24 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 3 JitCode instances. [jitcodewriter:info] There are 29 -live- ops. Size of liveness is 63 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 13 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 7 bitstrings, mean length 0.9, max length 1 [c5fd5f764548680] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f76538ed00] {jit-trace-done trace length: 246 number operations: 44 total snapshots: 10 snapshot data: 120 snapshot array data: 74 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f7653d9680] jit-trace-done} [c5fd5f76541f580] {jit-log-noopt # Traced loop or bridge with 44 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p3 = newunicode(100) setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p3, 0, 120) unicodesetitem(p3, 1, 120) unicodesetitem(p3, 2, 120) unicodesetitem(p3, 3, 120) unicodesetitem(p3, 4, 120) p18 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p18) p21 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 5, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf209802c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p1, p21, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i24 = unicodelen(p21) i26 = int_ne(i24, 5) guard_false(i26) i28 = unicodegetitem(p21, 0) i30 = int_ne(i28, 120) guard_false(i30) i32 = unicodegetitem(p21, 1) i34 = int_ne(i32, 120) guard_false(i34) i36 = unicodegetitem(p21, 2) i38 = int_ne(i36, 120) guard_false(i38) i40 = unicodegetitem(p21, 3) i42 = int_ne(i40, 120) guard_false(i42) i44 = unicodegetitem(p21, 4) i46 = int_ne(i44, 120) guard_false(i46) i48 = int_sub(i0, 1) i50 = int_gt(i48, 0) guard_true(i50) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i48, descr=<Loop-1>) [c5fd5f7656cde00] jit-log-noopt} [c5fd5f7656e7600] {jit-optimize [c5fd5f765711080] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1fb140c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f766073980] jit-log-intbounds} [c5fd5f76612b500] {jit-log-exported-state [i51] INP(i51 = int_add(i52, -1/ci)) PureOp(i53 = int_gt(i51, 0/ci)) [c5fd5f76614ed80] jit-log-exported-state} [c5fd5f76615e180] jit-optimize} [c5fd5f76617fb00] {jit-optimize [c5fd5f7662e5780] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1fb1c2c>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f766db4c80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-235199124)) [c5fd5f766f54300] jit-optimize} [c5fd5f766f65880] {jit-log-short-preamble [] label(i54) jump() [c5fd5f766f81780] jit-log-short-preamble} [c5fd5f766fc4c00] {jit-backend [c5fd5f766fe5700] {jit-log-compiling-loop [i52] label(i52, descr=TargetToken(-235203284)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i52, -1) i53 = int_gt(i51, 0) guard_true(i53, descr=<Guard0xf1fb140c>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(-235199124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0xf1fb1c2c>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(-235199124)) [c5fd5f767062180] jit-log-compiling-loop} [c5fd5f76707dd00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f767091380] jit-mem-looptoken-alloc} [c5fd5f7670d9980] jit-backend} compiled new loop [c5fd5f7670ec280] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-235203284)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf1fb140c>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-235199124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf1fb1c2c>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-235199124)) [c5fd5f76716bd80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f76736bf00] jit-tracing} _____________________ TestLLtypeUnicode.test_shrink_array ______________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf1c69c2c> def test_shrink_array(self): jitdriver = JitDriver(reds=['result', 'n'], greens=[]) _str, _StringBuilder = self._str, self._StringBuilder def f(n): result = 0 while n >= 0: jitdriver.jit_merge_point(n=n, result=result) b = _StringBuilder(20) b.append(_str("Testing!")) result += len(b.build()) n -= 1 return result res = self.meta_interp(f, [9], backendopt=True) assert res == f(9) self.check_resops({ > 'jump': 1, 'guard_true': 2, 'int_ge': 2, 'int_add': 2, 'int_sub': 2 }) jit/metainterp/test/test_string.py:867: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf1b90c4c> insns = {'guard_true': 2, 'int_add': 4, 'int_ge': 2, 'jump': 1} expected = {'guard_true': 2, 'int_add': 2, 'int_ge': 2, 'int_sub': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...} E Omitting 3 identical items, use -v to show E Differing items: E {'int_add': 4} != {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_ge [-1, 0, 110, 107] -> 110 bh: int_return [<BHInterp <JitCode 'f'>>, 80] -> LeaveFrame! ~~~ return value: 80 ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 235 blocks (42%) [rtyper] specializing: 200 / 235 blocks (85%) [rtyper] -=- specialized 235 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 20 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 3 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 70 -live- ops. Size of liveness is 67 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 6 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 9 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1 [c5fd5f86c8f3a00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5f86d619b80] {jit-trace-done trace length: 188 number operations: 32 total snapshots: 4 snapshot data: 48 snapshot array data: 36 bigint consts: 1 1 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd5f86d65f400] jit-trace-done} [c5fd5f86d6af200] {jit-log-noopt # Traced loop or bridge with 31 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>)) p4 = newunicode(20) setfield_gc(p2, p4, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p2, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) setfield_gc(p2, 20, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p2, 20, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos')) unicodesetitem(p4, 0, 84) unicodesetitem(p4, 1, 101) unicodesetitem(p4, 2, 115) unicodesetitem(p4, 3, 116) unicodesetitem(p4, 4, 105) unicodesetitem(p4, 5, 110) unicodesetitem(p4, 6, 103) unicodesetitem(p4, 7, 33) p25 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces')) guard_isnull(p25) p28 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p4, 8, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf1bb4d4c: EF=5 OS=3>)) guard_no_exception() setfield_gc(p2, p28, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end')) setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size')) i31 = unicodelen(p28) i32 = int_add(i0, i31) i34 = int_sub(i1, 1) i36 = int_ge(i34, 0) guard_true(i36) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i32, i34, descr=<Loop-1>) [c5fd5f86d8c4b00] jit-log-noopt} [c5fd5f86d8ddb80] {jit-optimize [c5fd5f86d911d80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 8) # i3 -> (?) IntBound.unbounded() i5 = int_add(i1, -1) i7 = int_ge(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1b6996c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f86e259380] jit-log-intbounds} [c5fd5f86e355680] {jit-log-exported-state [i37, i38] PureOp(i39 = int_ge(i38, 0/ci)) INP(i37 = int_add(i40, 8/ci)) INP(i38 = int_add(i41, -1/ci)) [c5fd5f86e385000] jit-log-exported-state} [c5fd5f86e395b80] jit-optimize} [c5fd5f86e3ba780] {jit-optimize [c5fd5f86e5b1880] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i2, 8) # i4 -> (?) IntBound.unbounded() # i5: (0 <= 0b0?...?) IntBound.nonnegative() i7 = int_add(i5, -1) # i7: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1) i9 = int_ge(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1b704ac>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5f86f0d6c80] jit-log-intbounds} # i7: (0 <= 0b0?...?) IntBound.nonnegative() jump(i4, i7, descr=TargetToken(-239661972)) [c5fd5f86f310e00] jit-optimize} [c5fd5f86f323100] {jit-log-short-preamble [] label(i42, i43) jump() [c5fd5f86f343480] jit-log-short-preamble} [c5fd5f86f391480] {jit-backend [c5fd5f86f3b1600] {jit-log-compiling-loop [i40, i41] label(i40, i41, descr=TargetToken(-238737268)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i37 = int_add(i40, 8) i38 = int_add(i41, -1) i39 = int_ge(i38, 0) guard_true(i39, descr=<Guard0xf1b6996c>) [i37, i38] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i37, i38, descr=TargetToken(-239661972)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i48 = int_add(i37, 8) i50 = int_add(i38, -1) i52 = int_ge(i50, 0) guard_true(i52, descr=<Guard0xf1b704ac>) [i48, i50] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, i50, descr=TargetToken(-239661972)) [c5fd5f86f452280] jit-log-compiling-loop} [c5fd5f86f46cc00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5f86f480680] jit-mem-looptoken-alloc} [c5fd5f86f4cd180] jit-backend} compiled new loop [c5fd5f86f4e1700] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(-238737268)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 8) i5 = int_add(i1, -1) i7 = int_ge(i5, 0) guard_true(i7, descr=<Guard0xf1b6996c>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(-239661972)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i3, 8) i11 = int_add(i5, -1) i13 = int_ge(i11, 0) guard_true(i13, descr=<Guard0xf1b704ac>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(-239661972)) [c5fd5f86f585e00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5f86f761400] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_string_compare_quasiimmutable FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_create FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_char FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_1 FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_2 FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_empty FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_slice_2 FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_multiple_char_1 FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_shrink_array FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_string_compare_quasiimmutable FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_create FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_char FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_1 FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_2 FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_empty FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_slice_2 FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_multiple_char_1 FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_shrink_array =============== 18 failed, 77 passed, 2 skipped in 91.87 seconds =============== ++ 10:17:20 starting jit/metainterp/test/test_virtual.py [161 started in total] __ jit/metainterp/test/test_tracingopts.py [158 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 39 items jit/metainterp/test/test_tracingopts.py .................................s..... ==================== 38 passed, 1 skipped in 22.75 seconds ===================== ++ 10:17:47 starting jit/metainterp/test/test_virtualizable.py [162 started in total] __ jit/metainterp/test/test_virtual.py [159 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 133 items jit/metainterp/test/test_virtual.py ..................................................................................................................................... ========================= 133 passed in 73.18 seconds ========================== ++ 10:18:40 starting jit/metainterp/test/test_virtualref.py [163 started in total] __ jit/metainterp/test/test_virtualizable.py [160 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items jit/metainterp/test/test_virtualizable.py ................x.............F................... =================================== FAILURES =================================== _____________ TestLLtype.test_promote_index_in_virtualizable_list ______________ self = <rpython.jit.metainterp.test.test_virtualizable.TestLLtype object at 0xf4e8fc6c> def test_promote_index_in_virtualizable_list(self): jitdriver = JitDriver(greens = [], reds = ['n', 'frame'], virtualizables = ['frame']) class Frame(object): _virtualizable_ = ['stackpos', 'stack[*]'] def f(n): frame = Frame() frame.stack = [42, 0, 0] frame.stackpos = 1 while n > 0: jitdriver.can_enter_jit(frame=frame, n=n) jitdriver.jit_merge_point(frame=frame, n=n) popped = frame.stack[frame.stackpos] sp = frame.stackpos - 1 assert sp >= 0 frame.stackpos = sp to_push = intmask(popped * 3) frame.stack[frame.stackpos] = to_push frame.stackpos += 1 n -= 1 return frame.stack[0] res = self.meta_interp(f, [70], listops=True) assert res == intmask(42 ** 70) self.check_resops(int_add=0, > int_sub=2) # for 'n -= 1' only jit/metainterp/test/test_virtualizable.py:1128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4e8f3ac> insns = {'debug_merge_point': 4, 'getarrayitem_gc_i': 3, 'getfield_gc_i': 1, 'getfield_gc_r': 1, ...} expected = None, check = {'int_add': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 2 'int_add', expected 0 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 128, 123] -> 128 bh: int_ge [0, 0] -> True bh: live [133] -> 135 bh: getarrayitem_vable_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4e8fd4c>, <* GCREF hidden>, 0, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'), ArrayDescr(<GcArray of Signed >)] -> 0 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 24 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 6 callsites. [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 12 -live- ops. Size of liveness is 19 bytes [rtyper] replaced 12 'jit_force_virtualizable' with <* fn force_virtualizable_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 [c5fd601ef0b5c00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd601ef438500] {jit-trace-done trace length: 62 number operations: 16 total snapshots: 3 snapshot data: 36 snapshot array data: 58 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd601ef466b00] jit-trace-done} [c5fd601ef4c1480] {jit-log-noopt # Traced loop or bridge with 11 ops [i0, p1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_ge(i2, 0) guard_value(i2, 1) i10 = int_mul(i4, 3) i12 = int_sub(i0, 1) i14 = int_gt(i12, 0) guard_true(i14) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = same_as_i(1) guard_future_condition() jump(i12, p1, i16, i10, i4, i5, descr=<Loop-1>) [c5fd601ef56f980] jit-log-noopt} [c5fd601ef57fb00] {jit-optimize [c5fd601ef5bd380] {jit-log-intbounds [i0, p1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_ge(i2, 0) guard_value(i2, 1, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bc356c>) [p1, i2, i3, i4, i5, i0] i10 = int_mul(i4, 3) # i10 -> (?) IntBound.unbounded() i12 = int_add(i0, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4bc3fac>) [p1, i2, i3, i4, i5, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd601efbfb000] jit-log-intbounds} [c5fd601efd70e80] {jit-log-exported-state [i17, r18, 1/ci, i19, i20, i21] PureOp(i22 = same_as_i(i19)) INP(r18) INP(i19 = int_mul(i20, 3/ci)) PureOp(i23 = int_gt(i17, 0/ci)) INP(i17 = int_add(i24, -1/ci)) INP(i20) INP(i21) [c5fd601efd9f100] jit-log-exported-state} [c5fd601efdab000] jit-optimize} [c5fd601efdc2d00] {jit-optimize [c5fd601f002d000] {jit-log-intbounds [i0, p1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i10 = int_gt(i8, 0) guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b94fec>) [p11, i12, i13, i14, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd601f06c5d00] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i12, i13, i14, i12, descr=TargetToken(-188812724)) [c5fd601f0a16780] jit-optimize} [c5fd601f0a23a80] {jit-log-short-preamble [] label(i25, p26, i27, i28, i29) i31 = int_mul(i28, 3) jump(i31) [c5fd601f0a43080] jit-log-short-preamble} [c5fd601f0ae1580] {jit-backend [c5fd601f0afb180] {jit-log-compiling-loop [i24, p18] i32 = getfield_gc_i(p18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p33 = getfield_gc_r(p18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i35 = getarrayitem_gc_i(p33, 0, descr=ArrayDescr(<GcArray of Signed >)) i37 = getarrayitem_gc_i(p33, 1, descr=ArrayDescr(<GcArray of Signed >)) i39 = getarrayitem_gc_i(p33, 2, descr=ArrayDescr(<GcArray of Signed >)) label(i24, p18, i32, i35, i37, i39, descr=TargetToken(-188993364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i41 = int_ge(i32, 0) guard_value(i32, 1, descr=<Guard0xf4bc356c>) [p18, i32, i35, i37, i39, i24] i43 = int_mul(i37, 3) i17 = int_add(i24, -1) i23 = int_gt(i17, 0) guard_true(i23, descr=<Guard0xf4bc3fac>) [p18, i32, i35, i37, i39, i24] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = same_as_i(i43) label(i17, p18, i43, i37, i39, i46, descr=TargetToken(-188812724)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i48 = int_add(i17, -1) i50 = int_gt(i48, 0) guard_true(i50, descr=<Guard0xf4b94fec>) [p18, i46, i37, i39, i48] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, p18, i46, i37, i39, i46, descr=TargetToken(-188812724)) [c5fd601f0b97b80] jit-log-compiling-loop} [c5fd601f0ba8b00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd601f0bb4880] jit-mem-looptoken-alloc} [c5fd601f0c00580] jit-backend} compiled new loop [c5fd601f0c0c500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 22 ops [i0, p1] i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos')) p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack')) i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >)) i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >)) i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >)) label(i0, p1, i2, i5, i7, i9, descr=TargetToken(-188993364)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i11 = int_ge(i2, 0) guard_value(i2, 1, descr=<Guard0xf4bc356c>) [p1, i2, i5, i7, i9, i0] i14 = int_mul(i7, 3) i16 = int_add(i0, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0xf4bc3fac>) [p1, i2, i5, i7, i9, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = same_as_i(i14) label(i16, p1, i14, i7, i9, i19, descr=TargetToken(-188812724)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i16, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0xf4b94fec>) [p1, i19, i7, i9, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i21, p1, i19, i7, i9, i19, descr=TargetToken(-188812724)) [c5fd601f0cb2e80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd601f12f1900] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_virtualizable.py::TestLLtype::()::test_promote_index_in_virtualizable_list =============== 1 failed, 48 passed, 1 xfailed in 51.42 seconds ================ ++ 10:18:45 starting jit/metainterp/test/test_warmspot.py [164 started in total] __ jit/metainterp/test/test_virtualref.py [161 done in total, somefailed=True] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items jit/metainterp/test/test_virtualref.py ..s................F. =================================== FAILURES =================================== ______________________ TestLLtype.test_force_virtual_vref ______________________ self = <rpython.jit.metainterp.test.test_virtualref.TestLLtype object at 0xf4df04ac> def test_force_virtual_vref(self): myjitdriver = JitDriver(greens=[], reds=['n', 'ec']) class ExecutionContext(object): pass class Frame(object): def __init__(self, x): self.x = x def f(n): ec = ExecutionContext() while n > 0: myjitdriver.jit_merge_point(n=n, ec=ec) frame = Frame(1) ec.topframeref = virtual_ref(frame) n -= ec.topframeref().x frame_vref = ec.topframeref ec.topframeref = vref_None virtual_ref_finish(frame_vref, frame) return n res = self.meta_interp(f, [10]) assert res == 0 self.check_resops({ 'int_sub': 2, 'int_gt': 2, 'jump': 1, 'guard_true': 2, > 'force_token': 2, 'setfield_gc': 1 }) jit/metainterp/test/test_virtualref.py:696: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf4e12f6c> insns = {'force_token': 2, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...} expected = {'force_token': 2, 'guard_true': 2, 'int_gt': 2, 'int_sub': 2, ...} check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'force_token...t_gt': 2, ...} == {'force_token'..._sub': 2, ...} E Omitting 5 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 83, 80] -> 83 bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame! ~~~ return value: 0 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 12 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 2 JitCode instances. [jitcodewriter:info] There are 6 -live- ops. Size of liveness is 15 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 [c5fd60506658880] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd60506bccc80] {jit-trace-done trace length: 92 number operations: 18 total snapshots: 4 snapshot data: 48 snapshot array data: 42 bigint consts: 1 1 float consts: 0 0 ref consts: 3 0 1 descrs: 1 [c5fd60506c11400] jit-trace-done} [c5fd60506c60f80] {jit-log-noopt # Traced loop or bridge with 17 ops [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.Frame { super, inst_x }>)) setfield_gc(p2, 1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.Frame { super, inst_x }>, 'inst_x')) p5 = virtual_ref(p2, 0) setfield_gc(p1, p5, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) virtual_ref_finish(p5, p2) p7 = call_may_force_r(ConstClass(_ll_1_jit_force_virtual__objectPtr), p5, descr=CallDescr(<* GcStruct object { typeptr }>, (<* GcStruct object { typeptr }>,), <EffectInfo 0xf57931ac: EF=6 OS=120>)) guard_not_forced() guard_no_exception() i9 = int_sub(i0, 1) p10 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) i13 = int_gt(i9, 0) guard_true(i13) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i9, p1, descr=<Loop-1>) [c5fd60506d99b80] jit-log-noopt} [c5fd60506db1c00] {jit-optimize [c5fd60506de5480] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = force_token() i4 = int_add(i0, -1) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) i7 = int_gt(i4, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4dc5c0c>) [i4, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd605075e4e80] jit-log-intbounds} [c5fd605076c7700] {jit-log-exported-state [i14, r15] INP(r15) PureOp(i16 = int_gt(i14, 0/ci)) INP(i14 = int_add(i17, -1/ci)) HeapOp(0/cp, r18 = getfield_gc_r(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))) [c5fd605076fad80] jit-log-exported-state} [c5fd6050770b900] jit-optimize} [c5fd6050772d600] {jit-optimize [c5fd605078c0900] {jit-log-intbounds [i0, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = force_token() # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) i5 = int_add(i3, -1) # i5: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i7 = int_gt(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4dcaa8c>) [i5, p8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd60508291e00] jit-log-intbounds} # i5: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i5, p8, descr=TargetToken(-186863636)) [c5fd605084f1280] jit-optimize} [c5fd60508503a00] {jit-log-short-preamble [] label(i19, p20) guard_nonnull(p20) guard_is_object(p20) guard_subclass(p20, <AddressAsInt * struct rpython.jit.metainterp.test.test_virtualref.ExecutionContext_vtable { super=... }>) p22 = getfield_gc_r(p20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) guard_value(p22, ConstPtr(null)) jump() [c5fd60508551580] jit-log-short-preamble} [c5fd605085a3e80] {jit-backend [c5fd605085c3800] {jit-log-compiling-loop [i17, p15] label(i17, p15, descr=TargetToken(-186885044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p24 = force_token() i14 = int_add(i17, -1) setfield_gc(p15, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0xf4dc5c0c>) [i14, p15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, descr=TargetToken(-186863636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p27 = force_token() i29 = int_add(i14, -1) i31 = int_gt(i29, 0) guard_true(i31, descr=<Guard0xf4dcaa8c>) [i29, p15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i29, p15, descr=TargetToken(-186863636)) [c5fd6050865aa00] jit-log-compiling-loop} [c5fd60508673480] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd60508685b80] jit-mem-looptoken-alloc} [c5fd605086d1c00] jit-backend} compiled new loop [c5fd605086e4900] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops [i0, p1] label(i0, p1, descr=TargetToken(-186885044)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p2 = force_token() i4 = int_add(i0, -1) setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) i7 = int_gt(i4, 0) guard_true(i7, descr=<Guard0xf4dc5c0c>) [i4, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, p1, descr=TargetToken(-186863636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p8 = force_token() i10 = int_add(i4, -1) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0xf4dcaa8c>) [i10, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, p1, descr=TargetToken(-186863636)) [c5fd6050878f000] jit-log-opt-loop} DoneWithThisFrameInt [c5fd60508a1ca80] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_virtualref.py::TestLLtype::()::test_force_virtual_vref =============== 1 failed, 19 passed, 1 skipped in 15.45 seconds ================ ++ 10:18:57 starting jit/metainterp/test/test_warmstate.py [165 started in total] __ jit/metainterp/test/test_warmspot.py [162 done in total, somefailed=True] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 27 items jit/metainterp/test/test_warmspot.py ......F..F.sss.FFF.ssss.... =================================== FAILURES =================================== _______________________ TestLLWarmspot.test_loop_header ________________________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf539d8ac> def test_loop_header(self): # artificial test: we enter into the JIT only when can_enter_jit() # is seen, but we close a loop in the JIT much more quickly # because of loop_header(). mydriver = JitDriver(reds = ['n', 'm'], greens = []) def f(m): n = 0 while True: mydriver.jit_merge_point(n=n, m=m) if n > m: m -= 1 if m < 0: return n n = 0 mydriver.can_enter_jit(n=n, m=m) else: n += 1 mydriver.loop_header() assert f(15) == 1 res = self.meta_interp(f, [15], backendopt=True) assert res == 1 > self.check_resops(int_add=2) # I get 13 without the loop_header() jit/metainterp/test/test_warmspot.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf53b3bec> insns = {'debug_merge_point': 5, 'guard_false': 3, 'guard_true': 1, 'int_add': 3, ...} expected = None, check = {'int_add': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 3 'int_add', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [13, 12, 43, 21] -> 21 bh: int_sub [12, 1] -> 11 bh: live [26] -> 28 bh: goto_if_not_int_lt [11, 0, 35, 33] -> 35 bh: loop_header [0] bh: int_copy [0] -> 0 bh: goto [0] -> 0 bh: live [1] -> 3 bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [0, 11], [], []] -> ContinueRunningNormally! bh: goto_if_not_int_gt [1, 0, 43, 21] -> 21 bh: int_sub [0, 1] -> -1 bh: live [26] -> 28 bh: goto_if_not_int_lt [-1, 0, 35, 33] -> 33 bh: int_return [<BHInterp <JitCode 'f'>>, 1] -> LeaveFrame! ~~~ return value: 1 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 1 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd60494ca2b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd60494ddf900] {jit-trace-done trace length: 38 number operations: 8 total snapshots: 2 snapshot data: 24 snapshot array data: 14 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd60494e0eb00] jit-trace-done} [c5fd60494e46380] {jit-log-noopt # Traced loop or bridge with 7 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_gt(i0, i1) guard_false(i2) i4 = int_add(i0, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i4, i1, descr=<Loop-1>) [c5fd60494eaed80] jit-log-noopt} [c5fd60494ebfb00] {jit-optimize [c5fd60494ee3900] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_gt(i0, i1) guard_false(i2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf53692ec>) [i0, i1] i4 = int_add(i0, 1) # i4 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd6049527ae80] jit-log-intbounds} [c5fd604952f6300] {jit-log-exported-state [i5, i6] INP(i5 = int_add(i7, 1/ci)) INP(i6) [c5fd60495324300] jit-log-exported-state} [c5fd60495335480] jit-optimize} [c5fd6049534f500] {jit-optimize [c5fd6049545ea80] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_gt(i2, i3) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5369bcc>) [i2, i3] i6 = int_add(i2, 1) # i6 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd6049594f700] jit-log-intbounds} jump(i6, i3, descr=TargetToken(-180948596)) [c5fd60495b1df00] jit-optimize} [c5fd60495b35280] {jit-log-short-preamble [] label(i8, i9) jump() [c5fd60495b5cb00] jit-log-short-preamble} [c5fd60495bab880] {jit-backend [c5fd60495bcc680] {jit-log-compiling-loop [i7, i6] label(i7, i6, descr=TargetToken(-180972596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_gt(i7, i6) guard_false(i10, descr=<Guard0xf53692ec>) [i7, i6] i5 = int_add(i7, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i6, descr=TargetToken(-180948596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_gt(i5, i6) guard_false(i12, descr=<Guard0xf5369bcc>) [i5, i6] i14 = int_add(i5, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, i6, descr=TargetToken(-180948596)) [c5fd60495c5bb80] jit-log-compiling-loop} [c5fd60495c76500] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd60495c89980] jit-mem-looptoken-alloc} [c5fd60495cd2780] jit-backend} compiled new loop [c5fd60495ce6d80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(-180972596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_gt(i0, i1) guard_false(i2, descr=<Guard0xf53692ec>) [i0, i1] i4 = int_add(i0, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, i1, descr=TargetToken(-180948596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_gt(i4, i1) guard_false(i5, descr=<Guard0xf5369bcc>) [i4, i1] i7 = int_add(i4, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(-180948596)) [c5fd60495d88f80] jit-log-opt-loop} ContinueRunningNormally [c5fd604960c1500] jit-tracing} [c5fd60496375700] {jit-tracing (jitdriver: no get_printable_location) [c5fd6049654d200] {jit-trace-done trace length: 51 number operations: 11 total snapshots: 3 snapshot data: 36 snapshot array data: 20 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 2 [c5fd6049657a680] jit-trace-done} [c5fd60496591600] {jit-log-noopt # Traced loop or bridge with 9 ops [i0, i1] i2 = int_gt(i0, i1) guard_true(i2) i4 = int_sub(i1, 1) i6 = int_lt(i4, 0) guard_false(i6) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = same_as_i(0) guard_future_condition() jump(i8, i4, descr=<Loop1>) [c5fd60496601e80] jit-log-noopt} [c5fd60496612280] {jit-optimize [c5fd604966a8280] {jit-log-intbounds [i0, i1] i2 = int_gt(i0, i1) guard_true(i2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf537394c>) [i0, i1] # i1: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1) i4 = int_add(i1, -1) i6 = int_lt(i4, 0) guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5373cec>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd60496c00180] jit-log-intbounds} # i4: (0 <= 0b0?...?) IntBound.nonnegative() jump(0, i4, descr=TargetToken(-180948596)) [c5fd60496d2da00] jit-optimize} [c5fd60496d47b80] {jit-backend [c5fd60496d52f80] {jit-log-compiling-bridge [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0xf537394c>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(-180948596)) [c5fd60496d8c180] jit-log-compiling-bridge} [c5fd60496d9ea80] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd60496dadb00] jit-mem-looptoken-alloc} [c5fd60496de8980] jit-backend} compiled new bridge [c5fd60496df9580] {jit-log-opt-bridge # bridge out of Guard 0xf5369bcc with 7 ops [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0xf537394c>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(-180948596)) [c5fd60496e38380] jit-log-opt-bridge} [c5fd60496e43100] {jit-log-opt-bridge # bridge out of Guard 0xf5369bcc with 7 ops [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0xf537394c>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(-180948596)) [c5fd60496e7ec00] jit-log-opt-bridge} DoneWithThisFrameInt [c5fd60497553f00] jit-tracing} _______________________ TestLLWarmspot.test_simple_loop ________________________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf528b5cc> def test_simple_loop(self): mydriver = JitDriver(greens=[], reds=['m']) def f1(m): while m > 0: mydriver.jit_merge_point(m=m) m = m - 1 self.meta_interp(f1, [8]) self.check_trace_count(1) self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2, > 'int_sub': 2}) jit/metainterp/test/test_warmspot.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf50e6d4c> insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1} expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) > assert insns == expected E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1} E Omitting 3 identical items, use -v to show E Left contains more items: E {'int_add': 2} E Right contains more items: E {'int_sub': 2} E Use -v to get the full diff jit/metainterp/history.py:977: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 30, 27] -> 30 bh: void_return [<BHInterp <JitCode 'f1'>>] -> LeaveFrame! ~~~ return value: None ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd604c2573500] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd604c2671000] {jit-trace-done trace length: 37 number operations: 7 total snapshots: 2 snapshot data: 24 snapshot array data: 10 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd604c269df00] jit-trace-done} [c5fd604c26cbd80] {jit-log-noopt # Traced loop or bridge with 7 ops [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_sub(i0, 1) i4 = int_gt(i2, 0) guard_true(i4) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i2, descr=<Loop-1>) [c5fd604c2727400] jit-log-noopt} [c5fd604c2738500] {jit-optimize [c5fd604c2753900] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf51076cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604c2b5e400] jit-log-intbounds} [c5fd604c2bdcb00] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -1/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd604c2bf4c00] jit-log-exported-state} [c5fd604c2c00780] jit-optimize} [c5fd604c2c17100] {jit-optimize [c5fd604c2d28b80] {jit-log-intbounds [i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i3 = int_add(i1, -1) # i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i5 = int_gt(i3, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf51072ac>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604c3281600] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(-183468596)) [c5fd604c33b0000] jit-optimize} [c5fd604c33bce80] {jit-log-short-preamble [] label(i8) jump() [c5fd604c33d2680] jit-log-short-preamble} [c5fd604c3402c00] {jit-backend [c5fd604c3418b80] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(-183470356)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0xf51076cc>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(-183468596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0xf51072ac>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(-183468596)) [c5fd604c346e280] jit-log-compiling-loop} [c5fd604c347f680] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd604c348d880] jit-mem-looptoken-alloc} [c5fd604c34ba980] jit-backend} compiled new loop [c5fd604c34c7480] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(-183470356)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0xf51076cc>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(-183468596)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0xf51072ac>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(-183468596)) [c5fd604c352aa00] jit-log-opt-loop} DoneWithThisFrameVoid [c5fd604c366f580] jit-tracing} ___________________ TestLLWarmspot.test_loop_automatic_reds ____________________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf51ee4ac> def test_loop_automatic_reds(self): myjitdriver = JitDriver(greens = ['m'], reds = 'auto') def f(n, m): res = 0 # try to have lots of red vars, so that if there is an error in # the ordering of reds, there are low chances that the test passes # by chance a = b = c = d = n while n > 0: myjitdriver.jit_merge_point(m=m) n -= 1 a += 1 # dummy unused red b += 2 # dummy unused red c += 3 # dummy unused red d += 4 # dummy unused red res += m*2 return res expected = f(21, 5) res = self.meta_interp(f, [21, 5]) assert res == expected > self.check_resops(int_sub=2, int_mul=0, int_add=10) jit/metainterp/test/test_warmspot.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf522bc8c> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 12, 'int_gt': 2, ...} expected = None, check = {'int_add': 10, 'int_mul': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 12 'int_add', expected 10 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 65, 62] -> 65 bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame! ~~~ return value: 210 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd604d7350d00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd604d75b4680] {jit-trace-done trace length: 71 number operations: 17 total snapshots: 2 snapshot data: 24 snapshot array data: 34 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd604d75e2080] jit-trace-done} [c5fd604d7644a80] {jit-log-noopt # Traced loop or bridge with 12 ops [i0, i1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_sub(i5, 1) i9 = int_add(i1, 1) i11 = int_add(i0, 2) i13 = int_add(i3, 3) i15 = int_add(i2, 4) i17 = int_add(i4, 10) i19 = int_gt(i7, 0) guard_true(i19) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i11, i9, i15, i13, i17, i7, descr=<Loop-1>) [c5fd604d7701080] jit-log-noopt} [c5fd604d7711400] {jit-optimize [c5fd604d774cf80] {jit-log-intbounds [i0, i1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i5, -1) i9 = int_add(i1, 1) # i9 -> (?) IntBound.unbounded() i11 = int_add(i0, 2) # i11 -> (?) IntBound.unbounded() i13 = int_add(i3, 3) # i13 -> (?) IntBound.unbounded() i15 = int_add(i2, 4) # i15 -> (?) IntBound.unbounded() i17 = int_add(i4, 10) # i17 -> (?) IntBound.unbounded() i19 = int_gt(i7, 0) guard_true(i19, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52552ac>) [i11, i9, i15, i13, i17, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604d800b400] jit-log-intbounds} [c5fd604d8163f80] {jit-log-exported-state [i20, i21, i22, i23, i24, i25] INP(i20 = int_add(i26, 2/ci)) INP(i24 = int_add(i27, 10/ci)) PureOp(i28 = int_gt(i25, 0/ci)) INP(i23 = int_add(i29, 3/ci)) INP(i25 = int_add(i30, -1/ci)) INP(i21 = int_add(i31, 1/ci)) INP(i22 = int_add(i32, 4/ci)) [c5fd604d8197800] jit-log-exported-state} [c5fd604d81a2d80] jit-optimize} [c5fd604d81b9480] {jit-optimize [c5fd604d8518180] {jit-log-intbounds [i0, i1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i6: (1 <= 0b0?...?) IntBound(1, MAXINT) i8 = int_add(i6, -1) i11 = int_add(i9, 1) # i11 -> (?) IntBound.unbounded() i14 = int_add(i12, 2) # i14 -> (?) IntBound.unbounded() i17 = int_add(i15, 3) # i17 -> (?) IntBound.unbounded() i20 = int_add(i18, 4) # i20 -> (?) IntBound.unbounded() i23 = int_add(i21, 10) # i23 -> (?) IntBound.unbounded() # i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i25 = int_gt(i8, 0) guard_true(i25, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5247f6c>) [i14, i11, i20, i17, i23, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604d8f26300] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i14, i11, i20, i17, i23, i8, descr=TargetToken(-178145684)) [c5fd604d9257100] jit-optimize} [c5fd604d9264080] {jit-log-short-preamble [] label(i33, i34, i35, i36, i37, i38) jump() [c5fd604d927dc80] jit-log-short-preamble} [c5fd604d92d0a80] {jit-backend [c5fd604d92eac80] {jit-log-compiling-loop [i26, i31, i32, i29, i27, i30] label(i26, i31, i32, i29, i27, i30, descr=TargetToken(-182100084)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i25 = int_add(i30, -1) i21 = int_add(i31, 1) i20 = int_add(i26, 2) i23 = int_add(i29, 3) i22 = int_add(i32, 4) i24 = int_add(i27, 10) i28 = int_gt(i25, 0) guard_true(i28, descr=<Guard0xf52552ac>) [i20, i21, i22, i23, i24, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i20, i21, i22, i23, i24, i25, descr=TargetToken(-178145684)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i47 = int_add(i25, -1) i49 = int_add(i21, 1) i51 = int_add(i20, 2) i53 = int_add(i23, 3) i55 = int_add(i22, 4) i57 = int_add(i24, 10) i59 = int_gt(i47, 0) guard_true(i59, descr=<Guard0xf5247f6c>) [i51, i49, i55, i53, i57, i47] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i51, i49, i55, i53, i57, i47, descr=TargetToken(-178145684)) [c5fd604d9389d80] jit-log-compiling-loop} [c5fd604d939c480] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd604d93a9180] jit-mem-looptoken-alloc} [c5fd604d93f0600] jit-backend} compiled new loop [c5fd604d93fd500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 23 ops [i0, i1, i2, i3, i4, i5] label(i0, i1, i2, i3, i4, i5, descr=TargetToken(-182100084)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i5, -1) i9 = int_add(i1, 1) i11 = int_add(i0, 2) i13 = int_add(i3, 3) i15 = int_add(i2, 4) i17 = int_add(i4, 10) i19 = int_gt(i7, 0) guard_true(i19, descr=<Guard0xf52552ac>) [i11, i9, i15, i13, i17, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i11, i9, i15, i13, i17, i7, descr=TargetToken(-178145684)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i7, -1) i23 = int_add(i9, 1) i25 = int_add(i11, 2) i27 = int_add(i13, 3) i29 = int_add(i15, 4) i31 = int_add(i17, 10) i33 = int_gt(i21, 0) guard_true(i33, descr=<Guard0xf5247f6c>) [i25, i23, i29, i27, i31, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i25, i23, i29, i27, i31, i21, descr=TargetToken(-178145684)) [c5fd604d94a6c00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd604d9822580] jit-tracing} _________ TestLLWarmspot.test_loop_automatic_reds_with_floats_and_refs _________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf51a8a2c> def test_loop_automatic_reds_with_floats_and_refs(self): myjitdriver = JitDriver(greens = ['m'], reds = 'auto') class MyObj(object): def __init__(self, val): self.val = val def f(n, m): res = 0 # try to have lots of red vars, so that if there is an error in # the ordering of reds, there are low chances that the test passes # by chance i1 = i2 = i3 = i4 = n f1 = f2 = f3 = f4 = float(n) r1 = r2 = r3 = r4 = MyObj(n) while n > 0: myjitdriver.jit_merge_point(m=m) n -= 1 i1 += 1 # dummy unused red i2 += 2 # dummy unused red i3 += 3 # dummy unused red i4 += 4 # dummy unused red f1 += 1 # dummy unused red f2 += 2 # dummy unused red f3 += 3 # dummy unused red f4 += 4 # dummy unused red r1.val += 1 # dummy unused red r2.val += 2 # dummy unused red r3.val += 3 # dummy unused red r4.val += 4 # dummy unused red res += m*2 return res expected = f(21, 5) res = self.meta_interp(f, [21, 5]) assert res == expected > self.check_resops(int_sub=2, int_mul=0, int_add=18, float_add=8) jit/metainterp/test/test_warmspot.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf52fc52c> insns = {'debug_merge_point': 4, 'float_add': 8, 'getfield_gc_i': 1, 'guard_true': 2, ...} expected = None check = {'float_add': 8, 'int_add': 18, 'int_mul': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 20 'int_add', expected 18 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 142, 139] -> 142 bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame! ~~~ return value: 210 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 8 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 6 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd604e2487480] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd604e29bc080] {jit-trace-done trace length: 149 number operations: 35 total snapshots: 2 snapshot data: 24 snapshot array data: 54 bigint consts: 0 0 float consts: 4 4 ref consts: 0 0 1 descrs: 1 [c5fd604e29eb080] jit-trace-done} [c5fd604e2a7d280] {jit-log-noopt # Traced loop or bridge with 25 ops [i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_sub(i0, 1) i14 = int_add(i1, 1) i16 = int_add(i2, 2) i18 = int_add(i3, 3) i20 = int_add(i4, 4) f22 = float_add(f8, 1.0) f24 = float_add(f9, 2.0) f26 = float_add(f7, 3.0) f28 = float_add(f10, 4.0) i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i31 = int_add(i29, 1) setfield_gc(p6, i31, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i33 = int_add(i31, 2) setfield_gc(p6, i33, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i35 = int_add(i33, 3) setfield_gc(p6, i35, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i37 = int_add(i35, 4) setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i39 = int_add(i5, 10) i41 = int_gt(i12, 0) guard_true(i41) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28, descr=<Loop-1>) [c5fd604e2bfa400] jit-log-noopt} [c5fd604e2c0b600] {jit-optimize [c5fd604e2c6f700] {jit-log-intbounds [i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i0, -1) i14 = int_add(i1, 1) # i14 -> (?) IntBound.unbounded() i16 = int_add(i2, 2) # i16 -> (?) IntBound.unbounded() i18 = int_add(i3, 3) # i18 -> (?) IntBound.unbounded() i20 = int_add(i4, 4) # i20 -> (?) IntBound.unbounded() f22 = float_add(f8, 1.0) f24 = float_add(f9, 2.0) f26 = float_add(f7, 3.0) f28 = float_add(f10, 4.0) i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i31 = int_add(i29, 1) # i31 -> (?) IntBound.unbounded() i33 = int_add(i29, 3) i35 = int_add(i29, 6) i37 = int_add(i29, 10) i39 = int_add(i5, 10) # i39 -> (?) IntBound.unbounded() setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i41 = int_gt(i12, 0) guard_true(i41, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf536f8ac>) [i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604e39d0a00] jit-log-intbounds} [c5fd604e3b87f00] {jit-log-exported-state [i42, i43, i44, i45, i46, i47, r48, f49, f50, f51, f52] INP(i44 = int_add(i53, 2/ci)) INP(f52 = float_add(f54, -1074790400/cf)) INP(i47 = int_add(i55, 10/ci)) INP(i43 = int_add(i56, 1/ci)) INP(i42 = int_add(i57, -1/ci)) INP(r48) INP(f49 = float_add(f58, -1074266112/cf)) INP(i46 = int_add(i59, 4/ci)) INP(i45 = int_add(i60, 3/ci)) PureOp(i61 = int_gt(i42, 0/ci)) INP(f51 = float_add(f62, -1073741824/cf)) HeapOp(i63 = int_add(i64, 10/ci), i65 = getfield_gc_i(r48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))) INP(f50 = float_add(f66, -1072693248/cf)) [c5fd604e3be9580] jit-log-exported-state} [c5fd604e3bf7280] jit-optimize} [c5fd604e3c0fd00] {jit-optimize [c5fd604e3f88000] {jit-log-intbounds [i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') # i11: (1 <= 0b0?...?) IntBound(1, MAXINT) i13 = int_add(i11, -1) i16 = int_add(i14, 1) # i16 -> (?) IntBound.unbounded() i19 = int_add(i17, 2) # i19 -> (?) IntBound.unbounded() i22 = int_add(i20, 3) # i22 -> (?) IntBound.unbounded() i25 = int_add(i23, 4) # i25 -> (?) IntBound.unbounded() f28 = float_add(f26, 1.0) f31 = float_add(f29, 2.0) f34 = float_add(f32, 3.0) f37 = float_add(f35, 4.0) i40 = int_add(i38, 1) # i40 -> (?) IntBound.unbounded() i42 = int_add(i38, 3) i44 = int_add(i38, 6) i46 = int_add(i38, 10) i49 = int_add(i47, 10) # i49 -> (?) IntBound.unbounded() setfield_gc(p50, i46, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) # i13: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) i52 = int_gt(i13, 0) guard_true(i52, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf505008c>) [i13, i16, i19, i22, i25, i49, p50, f34, f28, f31, f37] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604e4ec6180] jit-log-intbounds} # i13: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i13, i16, i19, i22, i25, i49, p50, f34, f28, f31, f37, i46, descr=TargetToken(-184217652)) [c5fd604e527a580] jit-optimize} [c5fd604e5287c00] {jit-log-short-preamble [] label(i67, i68, i69, i70, i71, i72, p73, f74, f75, f76, f77) guard_nonnull(p73) guard_is_object(p73) guard_subclass(p73, <AddressAsInt * struct rpython.jit.metainterp.test.test_warmspot.MyObj_vtable { super=... }>) i79 = getfield_gc_i(p73, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) jump(i79) [c5fd604e52bf300] jit-log-short-preamble} [c5fd604e5349400] {jit-backend [c5fd604e5363b80] {jit-log-compiling-loop [i57, i56, i53, i60, i59, i55, p48, f58, f66, f62, f54] label(i57, i56, i53, i60, i59, i55, p48, f58, f66, f62, f54, descr=TargetToken(-176243636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i42 = int_add(i57, -1) i43 = int_add(i56, 1) i44 = int_add(i53, 2) i45 = int_add(i60, 3) i46 = int_add(i59, 4) f50 = float_add(f66, 1.0) f51 = float_add(f62, 2.0) f49 = float_add(f58, 3.0) f52 = float_add(f54, 4.0) i64 = getfield_gc_i(p48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i90 = int_add(i64, 1) i92 = int_add(i64, 3) i94 = int_add(i64, 6) i63 = int_add(i64, 10) i47 = int_add(i55, 10) setfield_gc(p48, i63, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i61 = int_gt(i42, 0) guard_true(i61, descr=<Guard0xf536f8ac>) [i42, i43, i44, i45, i46, i47, p48, f49, f50, f51, f52] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i42, i43, i44, i45, i46, i47, p48, f49, f50, f51, f52, i63, descr=TargetToken(-184217652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i99 = int_add(i42, -1) i101 = int_add(i43, 1) i103 = int_add(i44, 2) i105 = int_add(i45, 3) i107 = int_add(i46, 4) f109 = float_add(f50, 1.0) f111 = float_add(f51, 2.0) f113 = float_add(f49, 3.0) f115 = float_add(f52, 4.0) i117 = int_add(i63, 1) i119 = int_add(i63, 3) i121 = int_add(i63, 6) i123 = int_add(i63, 10) i125 = int_add(i47, 10) setfield_gc(p48, i123, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i127 = int_gt(i99, 0) guard_true(i127, descr=<Guard0xf505008c>) [i99, i101, i103, i105, i107, i125, p48, f113, f109, f111, f115] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i99, i101, i103, i105, i107, i125, p48, f113, f109, f111, f115, i123, descr=TargetToken(-184217652)) [c5fd604e5483700] jit-log-compiling-loop} [c5fd604e5495c00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd604e54a2b80] jit-mem-looptoken-alloc} [c5fd604e551ed80] jit-backend} compiled new loop [c5fd604e552c680] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 42 ops [i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10] label(i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10, descr=TargetToken(-176243636)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i0, -1) i14 = int_add(i1, 1) i16 = int_add(i2, 2) i18 = int_add(i3, 3) i20 = int_add(i4, 4) f22 = float_add(f8, 1.0) f24 = float_add(f9, 2.0) f26 = float_add(f7, 3.0) f28 = float_add(f10, 4.0) i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i31 = int_add(i29, 1) i33 = int_add(i29, 3) i35 = int_add(i29, 6) i37 = int_add(i29, 10) i39 = int_add(i5, 10) setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i41 = int_gt(i12, 0) guard_true(i41, descr=<Guard0xf536f8ac>) [i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28, i37, descr=TargetToken(-184217652)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i43 = int_add(i12, -1) i45 = int_add(i14, 1) i47 = int_add(i16, 2) i49 = int_add(i18, 3) i51 = int_add(i20, 4) f53 = float_add(f22, 1.0) f55 = float_add(f24, 2.0) f57 = float_add(f26, 3.0) f59 = float_add(f28, 4.0) i61 = int_add(i37, 1) i63 = int_add(i37, 3) i65 = int_add(i37, 6) i67 = int_add(i37, 10) i69 = int_add(i39, 10) setfield_gc(p6, i67, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i71 = int_gt(i43, 0) guard_true(i71, descr=<Guard0xf505008c>) [i43, i45, i47, i49, i51, i69, p6, f57, f53, f55, f59] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i43, i45, i47, i49, i51, i69, p6, f57, f53, f55, f59, i67, descr=TargetToken(-184217652)) [c5fd604e565b200] jit-log-opt-loop} DoneWithThisFrameInt [c5fd604e5d3c580] jit-tracing} ___ TestLLWarmspot.test_loop_automatic_reds_livevars_before_jit_merge_point ____ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf4fad3ac> def test_loop_automatic_reds_livevars_before_jit_merge_point(self): myjitdriver = JitDriver(greens = ['m'], reds = 'auto') def f(n, m): res = 0 while n > 0: n -= 1 myjitdriver.jit_merge_point(m=m) res += m*2 return res expected = f(21, 5) res = self.meta_interp(f, [21, 5]) assert res == expected > self.check_resops(int_sub=2, int_mul=0, int_add=2) jit/metainterp/test/test_warmspot.py:386: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit/metainterp/test/support.py:199: in check_resops get_stats().check_resops(expected=expected, **check) jit/metainterp/history.py:969: in check_resops return self._check_insns(insns, expected, check) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.jit.metainterp.history.Stats object at 0xf532852c> insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...} expected = None, check = {'int_add': 2, 'int_mul': 0, 'int_sub': 2} def _check_insns(self, insns, expected, check): if expected is not None: insns.pop('debug_merge_point', None) insns.pop('enter_portal_frame', None) insns.pop('leave_portal_frame', None) insns.pop('label', None) assert insns == expected for insn, expected_count in check.items(): getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist found = insns.get(insn, 0) assert found == expected_count, ( > "found %d %r, expected %d" % (found, insn, expected_count)) E AssertionError: found 4 'int_add', expected 2 jit/metainterp/history.py:982: AssertionError ----------------------------- Captured stdout call ----------------------------- bh: goto_if_not_int_gt [0, 0, 45, 38] -> 45 bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame! ~~~ return value: 210 ----------------------------- Captured stderr call ----------------------------- [rtyper] -=- specialized 6 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 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 4 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 0 effectinfos: [jitcodewriter] 0 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [c5fd604ed054000] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd604ed1b7380] {jit-trace-done trace length: 47 number operations: 9 total snapshots: 2 snapshot data: 24 snapshot array data: 18 bigint consts: 0 0 float consts: 0 0 ref consts: 0 0 1 descrs: 1 [c5fd604ed1e6500] jit-trace-done} [c5fd604ed228c00] {jit-log-noopt # Traced loop or bridge with 8 ops [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 10) i5 = int_gt(i0, 0) guard_true(i5) i7 = int_sub(i0, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i7, i3, descr=<Loop-1>) [c5fd604ed29b000] jit-log-noopt} [c5fd604ed2ab400] {jit-optimize [c5fd604ed2ce080] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 10) # i3 -> (?) IntBound.unbounded() i5 = int_gt(i0, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509f72c>) [i0, i3] # i0: (1 <= 0b0?...?) IntBound(1, MAXINT) i7 = int_add(i0, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604ed7ba480] jit-log-intbounds} [c5fd604ed87eb00] {jit-log-exported-state [i8, i9] INP(i8 = int_add(i10, -1/ci)) INP(i9 = int_add(i11, 10/ci)) [c5fd604ed898780] jit-log-exported-state} [c5fd604ed8a3700] jit-optimize} [c5fd604ed8baa00] {jit-optimize [c5fd604eda14500] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i2, 10) # i4 -> (?) IntBound.unbounded() # i5: (0 <= 0b0?...?) IntBound.nonnegative() i7 = int_gt(i5, 0) guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50ac24c>) [i5, i4] # i5: (1 <= 0b0?...?) IntBound(1, MAXINT) i9 = int_add(i5, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd604edef4e00] jit-log-intbounds} # i9: (0 <= 0b0?...?) IntBound.nonnegative() jump(i9, i4, descr=TargetToken(-183843124)) [c5fd604ee06fc80] jit-optimize} [c5fd604ee07c780] {jit-log-short-preamble [] label(i12, i13) jump() [c5fd604ee091f00] jit-log-short-preamble} [c5fd604ee0c7e80] {jit-backend [c5fd604ee0e1c80] {jit-log-compiling-loop [i10, i11] label(i10, i11, descr=TargetToken(-183896180)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i11, 10) i16 = int_gt(i10, 0) guard_true(i16, descr=<Guard0xf509f72c>) [i10, i9] i8 = int_add(i10, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(-183843124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i9, 10) i21 = int_gt(i8, 0) guard_true(i21, descr=<Guard0xf50ac24c>) [i8, i19] i23 = int_add(i8, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i23, i19, descr=TargetToken(-183843124)) [c5fd604ee142f00] jit-log-compiling-loop} [c5fd604ee155600] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd604ee161b80] jit-mem-looptoken-alloc} [c5fd604ee192480] jit-backend} compiled new loop [c5fd604ee19ea00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(-183896180)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i1, 10) i5 = int_gt(i0, 0) guard_true(i5, descr=<Guard0xf509f72c>) [i0, i3] i7 = int_add(i0, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, i3, descr=TargetToken(-183843124)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i3, 10) i11 = int_gt(i7, 0) guard_true(i11, descr=<Guard0xf50ac24c>) [i7, i9] i13 = int_add(i7, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i13, i9, descr=TargetToken(-183843124)) [c5fd604ee20d380] jit-log-opt-loop} DoneWithThisFrameInt [c5fd604ee443a00] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_header FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_simple_loop FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds_with_floats_and_refs FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds_livevars_before_jit_merge_point ================ 5 failed, 15 passed, 7 skipped in 9.32 seconds ================ ++ 10:18:58 starting jit/metainterp/test/test_zvector.py [166 started in total] __ jit/metainterp/test/test_zvector.py [163 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.72 seconds =========================== ++ 10:19:01 starting jit/tl/test [167 started in total] __ jit/metainterp/test/test_warmstate.py [164 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items jit/metainterp/test/test_warmstate.py ......... =========================== 9 passed in 1.78 seconds =========================== ++ 10:19:02 starting jit/tl/tinyframe/test [168 started in total] __ jit/metainterp/test/test_tracelimit.py [165 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_tracelimit.py ..... ========================== 5 passed in 145.45 seconds ========================== ++ 10:19:04 starting jit/tl/tla [169 started in total] __ jit/metainterp/test/test_loop_unroll_disopt.py [166 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 259 items jit/metainterp/test/test_loop_unroll_disopt.py ..............................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s... =================== 238 passed, 21 skipped in 287.70 seconds =================== ++ 10:19:04 starting jit/tool/test [170 started in total] __ jit/tl/tinyframe/test [167 done in total, somefailed=False] ________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/tl/tinyframe/test/test_tinyframe.py ....... =========================== 7 passed in 3.32 seconds =========================== ++ 10:19:07 starting memory/gc/test [171 started in total] __ jit/tool/test [168 done in total, somefailed=False] ________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 49 items jit/tool/test/test_jitoutput.py .. jit/tool/test/test_loopcounter.py . jit/tool/test/test_oparser.py ................................... jit/tool/test/test_traceviewer.py ........... ========================== 49 passed in 3.21 seconds =========================== ++ 10:19:10 starting memory/gctransform/test [172 started in total] __ jit/tl/tla [169 done in total, somefailed=False] ___________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items jit/tl/tla/test_tla.py ..........ssss. ===================== 11 passed, 4 skipped in 9.47 seconds ===================== ++ 10:19:16 starting memory/test/test_gctypelayout.py [173 started in total] __ jit/tl/test [170 done in total, somefailed=False] __________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 44 items / 1 skipped jit/tl/test/test_brainfuck.py . jit/tl/test/test_tl.py ......................s jit/tl/test/test_tlc.py .................. jit/tl/test/test_tlr.py .s ==================== 42 passed, 3 skipped in 13.17 seconds ===================== ++ 10:19:18 starting memory/test/test_generational_gc.py [174 started in total] __ memory/test/test_gctypelayout.py [171 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items memory/test/test_gctypelayout.py ..... =========================== 5 passed in 1.76 seconds =========================== ++ 10:19:19 starting memory/test/test_growingsemispace_gc.py [175 started in total] __ memory/test/test_growingsemispace_gc.py [172 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_growingsemispace_gc.py ............................................... ========================== 47 passed in 90.83 seconds ========================== ++ 10:20:54 starting memory/test/test_hybrid_gc.py [176 started in total] __ memory/test/test_generational_gc.py [173 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_generational_gc.py ............................................... ========================== 47 passed in 94.05 seconds ========================== ++ 10:21:00 starting memory/test/test_hybrid_gc_smallheap.py [177 started in total] __ memory/test/test_hybrid_gc.py [174 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items memory/test/test_hybrid_gc.py .................................................. ========================== 50 passed in 87.20 seconds ========================== ++ 10:22:28 starting memory/test/test_incminimark_gc.py [178 started in total] __ memory/gctransform/test [175 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 85 items memory/gctransform/test/test_boehm.py ...... memory/gctransform/test/test_framework.py ................. memory/gctransform/test/test_refcounting.py .s............. memory/gctransform/test/test_shadowcolor.py ................................... memory/gctransform/test/test_statistics.py .. memory/gctransform/test/test_transform.py .......... ==================== 84 passed, 1 skipped in 197.24 seconds ==================== ++ 10:22:33 starting memory/test/test_incminimark_gc_cardmarking.py [179 started in total] __ memory/test/test_hybrid_gc_smallheap.py [176 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 46 items memory/test/test_hybrid_gc_smallheap.py .............................................. ========================== 46 passed in 89.51 seconds ========================== ++ 10:22:34 starting memory/test/test_lldict.py [180 started in total] __ memory/test/test_lldict.py [177 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items memory/test/test_lldict.py ..... =========================== 5 passed in 2.56 seconds =========================== ++ 10:22:40 starting memory/test/test_minimark_gc.py [181 started in total] __ memory/test/test_minimark_gc.py [178 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items memory/test/test_minimark_gc.py ................................................ ========================= 48 passed in 108.34 seconds ========================== ++ 10:24:36 starting memory/test/test_minimark_gc_cardmarking.py [182 started in total] __ memory/test/test_incminimark_gc_cardmarking.py [179 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items memory/test/test_incminimark_gc_cardmarking.py ..................................................s. ==================== 51 passed, 1 skipped in 158.89 seconds ==================== ++ 10:25:19 starting memory/test/test_semispace_gc.py [183 started in total] __ memory/test/test_incminimark_gc.py [180 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items memory/test/test_incminimark_gc.py ..................................................s. ==================== 51 passed, 1 skipped in 191.84 seconds ==================== ++ 10:25:44 starting memory/test/test_support.py [184 started in total] __ memory/test/test_support.py [181 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items memory/test/test_support.py ......... ========================== 9 passed in 11.84 seconds =========================== ++ 10:25:58 starting memory/test/test_transformed_gc.py [185 started in total] __ memory/test/test_minimark_gc_cardmarking.py [182 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items memory/test/test_minimark_gc_cardmarking.py ................................................ ========================== 48 passed in 95.78 seconds ========================== ++ 10:26:18 starting rlib/parsing/test/test_deterministic.py [186 started in total] __ memory/test/test_semispace_gc.py [183 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_semispace_gc.py ............................................... ========================== 47 passed in 69.64 seconds ========================== ++ 10:26:32 starting rlib/parsing/test/test_ebnfparse.py [187 started in total] __ rlib/parsing/test/test_deterministic.py [184 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/parsing/test/test_deterministic.py ......... ========================== 9 passed in 12.63 seconds =========================== ++ 10:26:35 starting rlib/parsing/test/test_lexer.py [188 started in total] __ rlib/parsing/test/test_ebnfparse.py [185 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 29 items rlib/parsing/test/test_ebnfparse.py ..........................s.. ===================== 28 passed, 1 skipped in 1.16 seconds ===================== ++ 10:26:35 starting rlib/parsing/test/test_parse.py [189 started in total] __ rlib/parsing/test/test_lexer.py [186 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/parsing/test/test_lexer.py .......... ========================== 10 passed in 0.46 seconds =========================== ++ 10:26:37 starting rlib/parsing/test/test_parseerrors.py [190 started in total] __ rlib/parsing/test/test_parse.py [187 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/parsing/test/test_parse.py .... =========================== 4 passed in 0.26 seconds =========================== ++ 10:26:38 starting rlib/parsing/test/test_pcre_regtest.py [191 started in total] __ rlib/parsing/test/test_parseerrors.py [188 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/parsing/test/test_parseerrors.py .. =========================== 2 passed in 0.37 seconds =========================== ++ 10:26:40 starting rlib/parsing/test/test_pypackrat.py [192 started in total] __ rlib/parsing/test/test_pypackrat.py [189 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 31 items rlib/parsing/test/test_pypackrat.py ............................... ========================== 31 passed in 1.96 seconds =========================== ++ 10:26:44 starting rlib/parsing/test/test_pythonlexer.py [193 started in total] __ rlib/parsing/test/test_pythonlexer.py [190 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/parsing/test/test_pythonlexer.py ........... ========================== 11 passed in 7.55 seconds =========================== ++ 10:26:55 starting rlib/parsing/test/test_pythonparse.py [194 started in total] __ rlib/parsing/test/test_pythonparse.py [191 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items rlib/parsing/test/test_pythonparse.py ............s.... ===================== 16 passed, 1 skipped in 4.36 seconds ===================== ++ 10:27:01 starting rlib/parsing/test/test_regex.py [195 started in total] __ rlib/parsing/test/test_pcre_regtest.py [192 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 290 items rlib/parsing/test/test_pcre_regtest.py .................................................................................................................................................................................................................................................................................................. ========================= 290 passed in 38.38 seconds ========================== ++ 10:27:22 starting rlib/parsing/test/test_regexparse.py [196 started in total] __ rlib/parsing/test/test_regexparse.py [193 done in total, somefailed=False] _ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items rlib/parsing/test/test_regexparse.py ............... ========================== 15 passed in 1.24 seconds =========================== ++ 10:27:25 starting rlib/parsing/test/test_translate.py [197 started in total] __ rlib/parsing/test/test_regex.py [194 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/parsing/test/test_regex.py ............. ========================== 13 passed in 33.67 seconds ========================== ++ 10:27:39 starting rlib/parsing/test/test_translate_lexer.py [198 started in total] __ rlib/parsing/test/test_translate_lexer.py [195 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/parsing/test/test_translate_lexer.py . ========================== 1 passed in 19.69 seconds =========================== ++ 10:28:03 starting rlib/parsing/test/test_tree.py [199 started in total] __ rlib/parsing/test/test_tree.py [196 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/parsing/test/test_tree.py ...... ========================== 6 passed in 13.33 seconds =========================== ++ 10:28:20 starting rlib/rjitlog/test/test_jitlog.py [200 started in total] __ rlib/rjitlog/test/test_jitlog.py [197 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/rjitlog/test/test_jitlog.py .... =========================== 4 passed in 2.40 seconds =========================== ++ 10:28:26 starting rlib/rsre/test/test_char.py [201 started in total] __ rlib/rsre/test/test_char.py [198 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/rsre/test/test_char.py ....... =========================== 7 passed in 7.32 seconds =========================== ++ 10:28:36 starting rlib/rsre/test/test_ext_opcode.py [202 started in total] __ rlib/rsre/test/test_ext_opcode.py [199 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/rsre/test/test_ext_opcode.py ........... ========================== 11 passed in 1.75 seconds =========================== ++ 10:28:40 starting rlib/rsre/test/test_match.py [203 started in total] __ rlib/rsre/test/test_match.py [200 done in total, somefailed=False] _________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 38 items rlib/rsre/test/test_match.py ...................................... ========================== 38 passed in 3.73 seconds =========================== ++ 10:28:46 starting rlib/rsre/test/test_re.py [204 started in total] __ rlib/rsre/test/test_re.py [201 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 56 items rlib/rsre/test/test_re.py ..............ss........................................ ==================== 54 passed, 2 skipped in 17.53 seconds ===================== ++ 10:29:06 starting rlib/rsre/test/test_search.py [205 started in total] __ rlib/parsing/test/test_translate.py [202 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/parsing/test/test_translate.py ..... ========================== 5 passed in 93.35 seconds =========================== ++ 10:29:07 starting rlib/rsre/test/test_zexternal.py [206 started in total] __ rlib/rsre/test/test_search.py [203 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 67 items rlib/rsre/test/test_search.py ................................................................... ========================== 67 passed in 2.79 seconds =========================== ++ 10:29:12 starting rlib/rsre/test/test_zinterp.py [207 started in total] __ rlib/rsre/test/test_zexternal.py [204 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1002 items rlib/rsre/test/test_zexternal.py .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ========================= 1002 passed in 3.96 seconds ========================== ++ 10:29:14 starting rlib/rsre/test/test_zjit.py [208 started in total] __ rlib/rsre/test/test_zinterp.py [205 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items rlib/rsre/test/test_zinterp.py ... ========================== 3 passed in 31.57 seconds =========================== ++ 10:29:50 starting rlib/rstrategies/test/test_rstrategies.py [209 started in total] __ rlib/rstrategies/test/test_rstrategies.py [206 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 49 items rlib/rstrategies/test/test_rstrategies.py ................................................. ========================== 49 passed in 0.38 seconds =========================== ++ 10:29:52 starting rlib/rstruct/test/test_ieee.py [210 started in total] __ rlib/rstruct/test/test_ieee.py [207 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items rlib/rstruct/test/test_ieee.py .............. ========================= 14 passed in 104.42 seconds ========================== ++ 10:31:41 starting rlib/rstruct/test/test_pack.py [211 started in total] __ rlib/rstruct/test/test_pack.py [208 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 59 items rlib/rstruct/test/test_pack.py ........................................................... ========================== 59 passed in 2.09 seconds =========================== ++ 10:31:46 starting rlib/rstruct/test/test_runpack.py [212 started in total] __ rlib/rstruct/test/test_runpack.py [209 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 22 items rlib/rstruct/test/test_runpack.py ...................... ========================== 22 passed in 20.19 seconds ========================== ++ 10:32:09 starting rlib/rvmprof/test/test_file.py [213 started in total] __ rlib/rvmprof/test/test_file.py [210 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.65 seconds =========================== ++ 10:32:14 starting rlib/rvmprof/test/test_rvmprof.py [214 started in total] __ rlib/rvmprof/test/test_rvmprof.py [211 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.70 seconds =========================== ++ 10:32:18 starting rlib/rvmprof/test/test_support.py [215 started in total] __ rlib/rvmprof/test/test_support.py [212 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.69 seconds =========================== ++ 10:32:23 starting rlib/rvmprof/test/test_traceback.py [216 started in total] __ rlib/rvmprof/test/test_traceback.py [213 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.81 seconds =========================== ++ 10:32:27 starting rlib/rvmprof/test/test_ztranslation.py [217 started in total] __ rlib/rvmprof/test/test_ztranslation.py [214 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.81 seconds =========================== ++ 10:32:31 starting rlib/test/test__jit_vref.py [218 started in total] __ rlib/test/test__jit_vref.py [215 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items rlib/test/test__jit_vref.py ............ ========================== 12 passed in 1.73 seconds =========================== ++ 10:32:35 starting rlib/test/test_buffer.py [219 started in total] __ memory/gc/test [216 done in total, somefailed=False] _______________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 216 items memory/gc/test/test_direct.py ....................................s............................................................................. memory/gc/test/test_env.py ....... memory/gc/test/test_hook.py ... memory/gc/test/test_incminimark.py ... memory/gc/test/test_inspector.py .. memory/gc/test/test_minimark.py ... memory/gc/test/test_minimarkpage.py ............... memory/gc/test/test_object_pinning.py ............................................. memory/gc/test/test_rawrefcount.py ........................ =================== 215 passed, 1 skipped in 817.67 seconds ==================== ++ 10:32:49 starting rlib/test/test_cache.py [220 started in total] __ rlib/test/test_cache.py [217 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_cache.py . =========================== 1 passed in 0.24 seconds =========================== ++ 10:32:52 starting rlib/test/test_clibffi.py [221 started in total] __ rlib/test/test_clibffi.py [218 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items rlib/test/test_clibffi.py ........s......n: 2 Arg 0: 3 Arg 1: 15 .s ===================== 15 passed, 2 skipped in 5.15 seconds ===================== ++ 10:33:00 starting rlib/test/test_compilerinfo.py [222 started in total] __ rlib/test/test_compilerinfo.py [219 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_compilerinfo.py .. =========================== 2 passed in 8.02 seconds =========================== ++ 10:33:10 starting rlib/test/test_debug.py [223 started in total] __ rlib/test/test_debug.py [220 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/test/test_debug.py ........... ========================== 11 passed in 9.94 seconds =========================== ++ 10:33:23 starting rlib/test/test_jit.py [224 started in total] __ rlib/test/test_buffer.py [221 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items rlib/test/test_buffer.py ............................................... ========================== 47 passed in 48.04 seconds ========================== ++ 10:33:26 starting rlib/test/test_jit_libffi.py [225 started in total] __ rlib/test/test_jit_libffi.py [222 done in total, somefailed=False] _________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_jit_libffi.py . =========================== 1 passed in 1.48 seconds =========================== ++ 10:33:29 starting rlib/test/test_libffi.py [226 started in total] __ rlib/test/test_jit.py [223 done in total, somefailed=False] ________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items rlib/test/test_jit.py ...ss......................... ===================== 28 passed, 2 skipped in 4.10 seconds ===================== ++ 10:33:29 starting rlib/test/test_listsort.py [227 started in total] __ rlib/test/test_libffi.py [224 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/test/test_libffi.py .........s................ ===================== 25 passed, 1 skipped in 2.55 seconds ===================== ++ 10:33:35 starting rlib/test/test_longlong2float.py [228 started in total] __ rlib/test/test_listsort.py [225 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_listsort.py .... ================= 4 passed, 1 pytest-warnings in 3.59 seconds ================== ++ 10:33:36 starting rlib/test/test_mutbuffer.py [229 started in total] __ rlib/test/test_mutbuffer.py [226 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_mutbuffer.py ..... =========================== 5 passed in 1.89 seconds =========================== ++ 10:33:41 starting rlib/test/test_nonconst.py [230 started in total] __ rlib/test/test_nonconst.py [227 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_nonconst.py ..... =========================== 5 passed in 1.78 seconds =========================== ++ 10:33:45 starting rlib/test/test_objectmodel.py [231 started in total] __ rlib/test/test_longlong2float.py [228 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/test/test_longlong2float.py .......... ========================== 10 passed in 28.83 seconds ========================== ++ 10:34:07 starting rlib/test/test_posix.py [232 started in total] __ rlib/test/test_posix.py [229 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items rlib/test/test_posix.py ....s......................... ==================== 29 passed, 1 skipped in 19.78 seconds ===================== ++ 10:34:31 starting rlib/test/test_rStringIO.py [233 started in total] __ rlib/test/test_rStringIO.py [230 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/test/test_rStringIO.py ........... ========================== 11 passed in 0.65 seconds =========================== ++ 10:34:34 starting rlib/test/test_rarithmetic.py [234 started in total] __ rlib/test/test_rarithmetic.py [231 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 103 items rlib/test/test_rarithmetic.py ....................................................................................................... ========================== 103 passed in 4.72 seconds ========================== ++ 10:34:41 starting rlib/test/test_rawrefcount.py [235 started in total] __ rlib/test/test_objectmodel.py [232 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 60 items rlib/test/test_objectmodel.py ....s....................................................... ==================== 59 passed, 1 skipped in 68.82 seconds ===================== ++ 10:34:58 starting rlib/test/test_rawrefcount_boehm.py [236 started in total] __ rlib/test/test_rawrefcount_boehm.py [233 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rawrefcount_boehm.py .. ========================== 2 passed in 19.89 seconds =========================== ++ 10:35:22 starting rlib/test/test_rawstorage.py [237 started in total] __ rlib/test/test_rawrefcount.py [234 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rawrefcount.py ............. ========================== 13 passed in 44.19 seconds ========================== ++ 10:35:32 starting rlib/test/test_rbigint.py [238 started in total] __ rlib/test/test_rawstorage.py [235 done in total, somefailed=False] _________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rawstorage.py ....... ========================== 7 passed in 21.73 seconds =========================== ++ 10:35:46 starting rlib/test/test_rbisect.py [239 started in total] __ rlib/test/test_rbisect.py [236 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rbisect.py .. =========================== 2 passed in 0.21 seconds =========================== ++ 10:35:48 starting rlib/test/test_rcomplex.py [240 started in total] __ rlib/test/test_rcomplex.py [237 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items rlib/test/test_rcomplex.py ........ =========================== 8 passed in 0.42 seconds =========================== ++ 10:35:51 starting rlib/test/test_rdtoa.py [241 started in total] __ rlib/test/test_rdtoa.py [238 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rdtoa.py ...... =========================== 6 passed in 0.69 seconds =========================== ++ 10:35:53 starting rlib/test/test_rdynload.py [242 started in total] __ rlib/test/test_rdynload.py [239 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items rlib/test/test_rdynload.py ... =========================== 3 passed in 1.57 seconds =========================== ++ 10:35:58 starting rlib/test/test_rerased.py [243 started in total] __ rlib/test/test_rerased.py [240 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items rlib/test/test_rerased.py ......................... ========================== 25 passed in 2.10 seconds =========================== ++ 10:36:02 starting rlib/test/test_rfile.py [244 started in total] __ rlib/test/test_rfile.py [241 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/test/test_rfile.py .................test ......... ========================== 26 passed in 52.24 seconds ========================== ++ 10:37:00 starting rlib/test/test_rfloat.py [245 started in total] __ rlib/test/test_rfloat.py [242 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rfloat.py ............. ========================== 13 passed in 36.91 seconds ========================== ++ 10:37:45 starting rlib/test/test_rgc.py [246 started in total] __ memory/test/test_transformed_gc.py [243 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 183 items memory/test/test_transformed_gc.py ....s..................s..s.....s..................s..s............s..................s..s.............s.....................s................s.....................s.................s =================== 169 passed, 14 skipped in 915.21 seconds =================== ++ 10:41:21 starting rlib/test/test_rgil.py [247 started in total] __ rlib/test/test_rgc.py [244 done in total, somefailed=False] ________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 39 items rlib/test/test_rgc.py .....................s................. ==================== 38 passed, 1 skipped in 210.25 seconds ==================== ++ 10:41:22 starting rlib/test/test_rlocale.py [248 started in total] __ rlib/test/test_rlocale.py [245 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rlocale.py ss.. ===================== 2 passed, 2 skipped in 0.36 seconds ====================== ++ 10:41:24 starting rlib/test/test_rmarshal.py [249 started in total] __ rlib/test/test_rmarshal.py [246 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rmarshal.py ...... ========================== 6 passed in 23.95 seconds =========================== ++ 10:41:52 starting rlib/test/test_rmd5.py [250 started in total] __ rlib/test/test_rmd5.py [247 done in total, somefailed=False] _______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rmd5.py ....... =========================== 7 passed in 8.38 seconds =========================== ++ 10:42:04 starting rlib/test/test_rmmap.py [251 started in total] __ rlib/test/test_rgil.py [248 done in total, somefailed=False] _______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rgil.py .... ========================== 4 passed in 54.42 seconds =========================== ++ 10:42:20 starting rlib/test/test_rope.py [252 started in total] __ rlib/rsre/test/test_zjit.py [249 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/rsre/test/test_zjit.py .....................x.s.. ============== 24 passed, 1 skipped, 1 xfailed in 826.23 seconds =============== ++ 10:43:03 starting rlib/test/test_rpath.py [253 started in total] __ rlib/test/test_rpath.py [250 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/test/test_rpath.py ......s... ===================== 9 passed, 1 skipped in 1.33 seconds ====================== ++ 10:43:07 starting rlib/test/test_rpoll.py [254 started in total] __ rlib/test/test_rmmap.py [251 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 33 items rlib/test/test_rmmap.py ...........................sss... ==================== 30 passed, 3 skipped in 58.98 seconds ===================== ++ 10:43:10 starting rlib/test/test_rposix.py [255 started in total] __ rlib/test/test_rpoll.py [252 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rpoll.py s...... ===================== 6 passed, 1 skipped in 27.47 seconds ===================== ++ 10:43:39 starting rlib/test/test_rposix_environ.py [256 started in total] __ rlib/test/test_rope.py [253 done in total, somefailed=False] _______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 58 items rlib/test/test_rope.py .............................s............................ ==================== 57 passed, 1 skipped in 82.00 seconds ===================== ++ 10:43:47 starting rlib/test/test_rposix_scandir.py [257 started in total] __ rlib/test/test_rposix_scandir.py [254 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_rposix_scandir.py . =========================== 1 passed in 2.90 seconds =========================== ++ 10:43:52 starting rlib/test/test_rposix_stat.py [258 started in total] __ rlib/test/test_rposix_environ.py [255 done in total, somefailed=False] _____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rposix_environ.py .. ========================== 2 passed in 20.06 seconds =========================== ++ 10:44:03 starting rlib/test/test_rrandom.py [259 started in total] __ rlib/test/test_rrandom.py [256 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rrandom.py ....... ========================== 7 passed in 14.26 seconds =========================== ++ 10:44:20 starting rlib/test/test_rrawarray.py [260 started in total] __ rlib/test/test_rposix_stat.py [257 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/test/test_rposix_stat.py ...s..s.. ===================== 7 passed, 2 skipped in 29.83 seconds ===================== ++ 10:44:25 starting rlib/test/test_rsha.py [261 started in total] __ rlib/test/test_rrawarray.py [258 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rrawarray.py .... =========================== 4 passed in 2.98 seconds =========================== ++ 10:44:26 starting rlib/test/test_rshrinklist.py [262 started in total] __ rlib/test/test_rshrinklist.py [259 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rshrinklist.py .. =========================== 2 passed in 0.32 seconds =========================== ++ 10:44:28 starting rlib/test/test_rsignal.py [263 started in total] __ rlib/test/test_rsha.py [260 done in total, somefailed=False] _______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rsha.py .... =========================== 4 passed in 3.06 seconds =========================== ++ 10:44:31 starting rlib/test/test_rsiphash.py [264 started in total] __ rlib/test/test_rsignal.py [261 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rsignal.py ...... ========================== 6 passed in 15.20 seconds =========================== ++ 10:44:46 starting rlib/test/test_rsocket.py [265 started in total] __ rlib/test/test_rposix.py [262 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 80 items rlib/test/test_rposix.py ..ss.sss...............ss............................................ss......... ==================== 71 passed, 9 skipped in 121.28 seconds ==================== ++ 10:45:13 starting rlib/test/test_rstacklet.py [266 started in total] __ rlib/test/test_rsiphash.py [263 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rsiphash.py ...... ========================== 6 passed in 36.28 seconds =========================== ++ 10:45:15 starting rlib/test/test_rstackovf.py [267 started in total] __ rlib/test/test_rstackovf.py [264 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rstackovf.py .s.. ===================== 3 passed, 1 skipped in 9.73 seconds ====================== ++ 10:45:27 starting rlib/test/test_rstring.py [268 started in total] __ rlib/test/test_rstring.py [265 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 28 items rlib/test/test_rstring.py ............................ ========================== 28 passed in 30.63 seconds ========================== ++ 10:46:05 starting rlib/test/test_rtermios.py [269 started in total] __ rlib/test/test_rtermios.py [266 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_rtermios.py sssss ========================== 5 skipped in 0.03 seconds =========================== ++ 10:46:07 starting rlib/test/test_rthread.py [270 started in total] __ rlib/test/test_rstacklet.py [267 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rstacklet.py .. ========================== 2 passed in 268.02 seconds ========================== ++ 10:49:48 starting rlib/test/test_rtime.py [271 started in total] __ rlib/test/test_rtime.py [268 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_rtime.py ..... =========================== 5 passed in 3.69 seconds =========================== ++ 10:49:55 starting rlib/test/test_rtimer.py [272 started in total] __ rlib/test/test_rsocket.py [269 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 68 items rlib/test/test_rsocket.py ...........................................................xxx....s. ============== 64 passed, 1 skipped, 3 xfailed in 305.19 seconds =============== ++ 10:49:56 starting rlib/test/test_runicode.py [273 started in total] __ rlib/test/test_rtimer.py [270 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rtimer.py ...... ========================== 6 passed in 13.24 seconds =========================== ++ 10:50:12 starting rlib/test/test_rurandom.py [274 started in total] __ rlib/test/test_rurandom.py [271 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rurandom.py .. =========================== 2 passed in 1.77 seconds =========================== ++ 10:50:16 starting rlib/test/test_rutf8.py [275 started in total] __ rlib/test/test_runicode.py [272 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items rlib/test/test_runicode.py ................................................ ========================== 48 passed in 27.04 seconds ========================== ++ 10:50:29 starting rlib/test/test_rweakkeydict.py [276 started in total] __ rlib/test/test_rweakkeydict.py [273 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items rlib/test/test_rweakkeydict.py .....XXx ================ 5 passed, 1 xfailed, 2 xpassed in 9.64 seconds ================ ++ 10:50:41 starting rlib/test/test_rweaklist.py [277 started in total] __ rlib/test/test_rweaklist.py [274 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rweaklist.py .. =========================== 2 passed in 0.33 seconds =========================== ++ 10:50:43 starting rlib/test/test_rweakref.py [278 started in total] __ rlib/test/test_rweakref.py [275 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_rweakref.py . =========================== 1 passed in 1.73 seconds =========================== ++ 10:50:48 starting rlib/test/test_rweakvaldict.py [279 started in total] __ rlib/test/test_rutf8.py [276 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items rlib/test/test_rutf8.py ....................... ========================== 23 passed in 61.66 seconds ========================== ++ 10:51:22 starting rlib/test/test_rwin32.py [280 started in total] __ rlib/test/test_rwin32.py [277 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:51:24 starting rlib/test/test_rzipfile.py [281 started in total] __ rlib/test/test_rweakvaldict.py [278 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rweakvaldict.py .......X..... ==================== 12 passed, 1 xpassed in 34.45 seconds ===================== ++ 10:51:26 starting rlib/test/test_rzlib.py [282 started in total] __ rlib/test/test_rzipfile.py [279 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rzipfile.py .. ========================== 2 passed in 48.83 seconds =========================== ++ 10:52:16 starting rlib/test/test_signature.py [283 started in total] __ rlib/test/test_signature.py [280 done in total, somefailed=False] __________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items rlib/test/test_signature.py .....x..............xxx ===================== 19 passed, 4 xfailed in 2.33 seconds ===================== ++ 10:52:20 starting rlib/test/test_streamio.py [284 started in total] __ rlib/test/test_rthread.py [281 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items rlib/test/test_rthread.py .................... ========================= 20 passed in 427.20 seconds ========================== ++ 10:53:21 starting rlib/test/test_z3.py [285 started in total] __ rlib/test/test_rzlib.py [282 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 22 items rlib/test/test_rzlib.py ................s..... ==================== 21 passed, 1 skipped in 109.73 seconds ==================== ++ 10:53:22 starting rlib/unicodedata/test/test_codegen.py [286 started in total] __ rlib/test/test_z3.py [283 done in total, somefailed=False] _________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:53:22 starting rlib/unicodedata/test/test_dawg.py [287 started in total] __ rlib/unicodedata/test/test_codegen.py [284 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/unicodedata/test/test_codegen.py .. =========================== 2 passed in 1.87 seconds =========================== ++ 10:53:26 starting rlib/unicodedata/test/test_ucd.py [288 started in total] __ rlib/unicodedata/test/test_dawg.py [285 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/unicodedata/test/test_dawg.py ......... =========================== 9 passed in 8.25 seconds =========================== ++ 10:53:32 starting rlib/unicodedata/test/test_unicodedata.py [289 started in total] __ rlib/unicodedata/test/test_ucd.py [286 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/unicodedata/test/test_ucd.py .... ========================== 4 passed in 24.14 seconds =========================== ++ 10:53:54 starting rtyper/lltypesystem/module/test [290 started in total] __ rlib/unicodedata/test/test_unicodedata.py [287 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/unicodedata/test/test_unicodedata.py .......................... ========================== 26 passed in 36.38 seconds ========================== ++ 10:54:17 starting rtyper/lltypesystem/test [291 started in total] __ rtyper/lltypesystem/module/test [288 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 200 items rtyper/lltypesystem/module/test/test_ll_math.py ............................................................................................................................................................................ rtyper/lltypesystem/module/test/test_llinterp_math.py ............................ ========================= 200 passed in 30.59 seconds ========================== ++ 10:54:27 starting rtyper/test [292 started in total] __ rlib/test/test_streamio.py [289 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 112 items rlib/test/test_streamio.py ................................................................................................................ ========================= 112 passed in 142.31 seconds ========================= ++ 10:54:45 starting rtyper/tool/test [293 started in total] __ rtyper/tool/test [290 done in total, somefailed=False] _____________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 38 items rtyper/tool/test/test_mkrffi.py ....... rtyper/tool/test/test_rffi_platform.py ............................ rtyper/tool/test/test_rfficache.py ... ========================== 38 passed in 6.30 seconds =========================== ++ 10:54:53 starting tool/algo/test [294 started in total] __ tool/algo/test [291 done in total, somefailed=False] _______________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 44 items tool/algo/test/test_bitstring.py .... tool/algo/test/test_color.py ..... tool/algo/test/test_graphlib.py ...s....ss.....s....s....... tool/algo/test/test_regalloc.py .. tool/algo/test/test_sparsemat.py ... tool/algo/test/test_unionfind.py .. ==================== 39 passed, 5 skipped in 39.85 seconds ===================== ++ 10:55:38 starting tool/cparser/test [295 started in total] __ tool/cparser/test [292 done in total, somefailed=False] ____________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items tool/cparser/test/test_cts.py ..................... ========================== 21 passed in 3.02 seconds =========================== ++ 10:55:43 starting tool/jitlogparser/test [296 started in total] __ tool/jitlogparser/test [293 done in total, somefailed=False] _______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 24 items tool/jitlogparser/test/test_parser.py .......ss....s......... tool/jitlogparser/test/test_storage.py . ===================== 21 passed, 3 skipped in 1.66 seconds ===================== ++ 10:55:46 starting tool/pytest/test [297 started in total] __ tool/pytest/test [294 done in total, somefailed=False] _____________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items tool/pytest/test/test_expecttest.py s ========================== 1 skipped in 0.19 seconds =========================== ++ 10:55:48 starting tool/test [298 started in total] __ tool/test [295 done in total, somefailed=False] ____________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 72 items tool/test/test_ansi_print.py ........ tool/test/test_descriptor.py ... tool/test/test_error.py .... tool/test/test_flattenrec.py . tool/test/test_frozenlist.py . tool/test/test_gcc_cache.py ..... tool/test/test_identitydict.py .......... tool/test/test_killsubprocess.py ... tool/test/test_leakfinder.py ........ tool/test/test_logparser.py ... tool/test/test_nullpath.py . tool/test/test_pairtype.py ....... tool/test/test_runsubprocess.py ..... tool/test/test_sourcetools.py ......... tool/test/test_udir.py .. tool/test/test_version.py .. ========================== 72 passed in 7.93 seconds =========================== ++ 10:55:58 starting translator/backendopt/test [299 started in total] __ translator/backendopt/test [296 done in total, somefailed=False] ___________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 184 items translator/backendopt/test/test_all.py ............ translator/backendopt/test/test_canraise.py ............ translator/backendopt/test/test_constfold.py ...................... translator/backendopt/test/test_finalizer.py ........ translator/backendopt/test/test_gilanalysis.py .... translator/backendopt/test/test_graphanalyze.py ... translator/backendopt/test/test_inline.py ............................... translator/backendopt/test/test_innerloop.py ... translator/backendopt/test/test_malloc.py .............s..s..s...s translator/backendopt/test/test_merge_if_blocks.py ......... translator/backendopt/test/test_removeassert.py ...... translator/backendopt/test/test_removenoops.py .... translator/backendopt/test/test_ssa.py .... translator/backendopt/test/test_storesink.py ............ translator/backendopt/test/test_support.py ...... translator/backendopt/test/test_writeanalyze.py ...............s........ ==================== 179 passed, 5 skipped in 15.37 seconds ==================== ++ 10:56:16 starting translator/c/test/test_backendoptimized.py [300 started in total] __ rtyper/lltypesystem/test [297 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 276 items rtyper/lltypesystem/test/test_ll2ctypes.py ...........................................................................n: 3 Arg 0: 1 Arg 1: 20 Arg 2: 300 ....s. rtyper/lltypesystem/test/test_llarena.py .....s....... rtyper/lltypesystem/test/test_llgroup.py .... rtyper/lltypesystem/test/test_llmemory.py ..................................s.... rtyper/lltypesystem/test/test_lloperation.py ......... rtyper/lltypesystem/test/test_lltype.py ............................................................ rtyper/lltypesystem/test/test_rffi.py ................................s...........s........ rtyper/lltypesystem/test/test_rtagged.py .............. rtyper/lltypesystem/test/test_ztranslated.py ... =================== 271 passed, 5 skipped in 411.38 seconds ==================== ++ 11:01:15 starting translator/c/test/test_boehm.py [301 started in total] __ translator/c/test/test_boehm.py [298 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_boehm.py ................. ========================= 17 passed in 112.57 seconds ========================== ++ 11:03:11 starting translator/c/test/test_database.py [302 started in total] __ translator/c/test/test_database.py [299 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_database.py ................. ========================== 17 passed in 3.07 seconds =========================== ++ 11:03:17 starting translator/c/test/test_exception.py [303 started in total] __ translator/c/test/test_exception.py [300 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items translator/c/test/test_exception.py .......... ========================== 10 passed in 53.66 seconds ========================== ++ 11:04:15 starting translator/c/test/test_extfunc.py [304 started in total] __ translator/c/test/test_backendoptimized.py [301 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 90 items translator/c/test/test_backendoptimized.py ........................................................................ssss.............. ==================== 86 passed, 4 skipped in 568.65 seconds ==================== ++ 11:05:53 starting translator/c/test/test_genc.py [305 started in total] __ translator/c/test/test_genc.py [302 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 33 items translator/c/test/test_genc.py ................................. ========================= 33 passed in 161.07 seconds ========================== ++ 11:08:39 starting translator/c/test/test_lladdresses.py [306 started in total] __ rlib/test/test_rbigint.py [303 done in total, somefailed=False] ____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 199 items rlib/test/test_rbigint.py ................s...................................................................................................................................................................................... =================== 198 passed, 1 skipped in 2018.86 seconds =================== ++ 11:09:17 starting translator/c/test/test_llop.py [307 started in total] __ translator/c/test/test_llop.py [304 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items translator/c/test/test_llop.py .... ========================== 4 passed in 49.61 seconds =========================== ++ 11:10:09 starting translator/c/test/test_lltyped.py [308 started in total] __ translator/c/test/test_lladdresses.py [305 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_lladdresses.py ................. ========================== 17 passed in 86.85 seconds ========================== ++ 11:10:14 starting translator/c/test/test_math.py [309 started in total] __ translator/c/test/test_extfunc.py [306 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 58 items translator/c/test/test_extfunc.py ..........s..............................s................ ==================== 56 passed, 2 skipped in 358.63 seconds ==================== ++ 11:10:17 starting translator/c/test/test_newgc.py [310 started in total] __ translator/c/test/test_math.py [307 done in total, somefailed=False] _______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items translator/c/test/test_math.py .. ========================== 2 passed in 48.44 seconds =========================== ++ 11:11:05 starting translator/c/test/test_refcount.py [311 started in total] __ translator/c/test/test_refcount.py [308 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items translator/c/test/test_refcount.py .......... ========================== 10 passed in 62.45 seconds ========================== ++ 11:12:11 starting translator/c/test/test_rtagged.py [312 started in total] __ translator/c/test/test_rtagged.py [309 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items translator/c/test/test_rtagged.py .. =========================== 2 passed in 5.55 seconds =========================== ++ 11:12:19 starting translator/c/test/test_standalone.py [313 started in total] __ translator/c/test/test_lltyped.py [310 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items translator/c/test/test_lltyped.py ..................s............................... ==================== 49 passed, 1 skipped in 283.46 seconds ==================== ++ 11:14:58 starting translator/c/test/test_standalone_print_function.py [314 started in total] __ translator/c/test/test_standalone_print_function.py [311 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items translator/c/test/test_standalone_print_function.py . ========================== 1 passed in 13.63 seconds =========================== ++ 11:15:15 starting translator/c/test/test_support.py [315 started in total] __ translator/c/test/test_support.py [312 done in total, somefailed=False] ____ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 107 items translator/c/test/test_support.py ........................................................................................................... ========================== 107 passed in 0.37 seconds ========================== ++ 11:15:17 starting translator/c/test/test_symbolic.py [316 started in total] __ translator/c/test/test_symbolic.py [313 done in total, somefailed=False] ___ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items translator/c/test/test_symbolic.py ....... ========================== 7 passed in 33.72 seconds =========================== ++ 11:15:55 starting translator/c/test/test_typed.py [317 started in total] __ rtyper/test [314 done in total, somefailed=False] __________________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1167 items rtyper/test/test_annlowlevel.py .......... rtyper/test/test_controllerentry.py ........ rtyper/test/test_exception.py ......... rtyper/test/test_extfunc.py ....... rtyper/test/test_extregistry.py ....... rtyper/test/test_generator.py ...x.. rtyper/test/test_llann.py ......................... rtyper/test/test_llannotation.py ... rtyper/test/test_llinterp.py .........................s....... rtyper/test/test_llop.py ........ rtyper/test/test_nongc.py ........ rtyper/test/test_normalizecalls.py ................. rtyper/test/test_rbool.py ........ rtyper/test/test_rbuilder.py ..................... rtyper/test/test_rbuiltin.py ....................s..ss................... rtyper/test/test_rbytearray.py ...... rtyper/test/test_rclass.py ...................................................................x..... rtyper/test/test_rconstantdict.py ..... rtyper/test/test_rdict.py ......................................................................... rtyper/test/test_remptydict.py .. rtyper/test/test_rfloat.py ............................ rtyper/test/test_rint.py ................................. rtyper/test/test_rlist.py ...................................................................................................... rtyper/test/test_rordereddict.py ............................................................................................................................................ rtyper/test/test_rpbc.py .................................................................................s..........s.......................................................................................s..........s...... rtyper/test/test_rptr.py ....................... rtyper/test/test_rrange.py ................ rtyper/test/test_rstr.py ......................................................................................... rtyper/test/test_rtuple.py ................................. rtyper/test/test_rtyper.py ........ rtyper/test/test_runicode.py ..........................................................................s..............ssssssssssss... rtyper/test/test_rvirtualizable.py ............. rtyper/test/test_rweakref.py ....... ============ 1144 passed, 21 skipped, 2 xfailed in 1344.32 seconds ============= ++ 11:16:55 starting translator/platform/arch/test [318 started in total] __ translator/platform/arch/test [315 done in total, somefailed=False] ________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 11:16:57 starting translator/platform/test [319 started in total] __ translator/platform/test [316 done in total, somefailed=False] _____________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 18 items / 2 skipped translator/platform/test/test_makefile.py ...s translator/platform/test/test_platform.py .......... translator/platform/test/test_posix.py .... ==================== 17 passed, 3 skipped in 22.67 seconds ===================== ++ 11:17:25 starting translator/sandbox/test [320 started in total] __ translator/sandbox/test [317 done in total, somefailed=False] ______________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items translator/sandbox/test/test_sandbox.py ..........s.s.... translator/sandbox/test/test_sandlib.py .s....... translator/sandbox/test/test_vfs.py .... ==================== 27 passed, 3 skipped in 216.29 seconds ==================== ++ 11:21:09 starting translator/test [321 started in total] __ translator/c/test/test_standalone.py [318 done in total, somefailed=True] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 43 items translator/c/test/test_standalone.py ...s..............s......s.....F........... =================================== FAILURES =================================== _________ TestStandalone.test_set_length_fraction_clamped_to_os_stack __________ self = <rpython.translator.c.test.test_standalone.TestStandalone object at 0xf011da8c> def test_set_length_fraction_clamped_to_os_stack(self): # A huge recursion limit (large fraction) must NOT be able to push the # stack-overflow threshold past the real OS stack: stack_check() has to # raise StackOverflow rather than allow segfaulting. This test assumes a # finite ulimit -s try: import resource except ImportError: py.test.skip("requires the resource module to bound RLIMIT_STACK") from rpython.rlib.rstack import _stack_set_length_fraction from rpython.rlib.rstackovf import StackOverflow class A: n = 0 glob = A() def f(n): glob.n += 1 if n <= 0: return 42 return f(n+1) def entry_point(argv): _stack_set_length_fraction(50.0) try: f(1) except StackOverflow: print glob.n return 0 print 'no overflow!' return 1 t, cbuilder = self.compile(entry_point, stackcheck=True) soft, hard = resource.getrlimit(resource.RLIMIT_STACK) target = 8 * 1024 * 1024 if hard != resource.RLIM_INFINITY and hard < target: target = hard try: resource.setrlimit(resource.RLIMIT_STACK, (target, hard)) except (ValueError, OSError): py.test.skip("cannot impose a finite RLIMIT_STACK on this platform") try: > out = cbuilder.cmdexec('') # raises if the binary segfaulted/crashed translator/c/test/test_standalone.py:1075: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <rpython.translator.c.genc.CStandaloneBuilder object at 0xefff1f0c> args = '', env = None, err = False, expect_crash = False exe = local('/build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33/testing_33') def cmdexec(self, args='', env=None, err=False, expect_crash=False, exe=None): assert self._compiled if sys.platform == 'win32': #Prevent opening a dialog box import ctypes winapi = ctypes.windll.kernel32 SetErrorMode = winapi.SetErrorMode SetErrorMode.argtypes=[ctypes.c_int] SEM_FAILCRITICALERRORS = 1 SEM_NOGPFAULTERRORBOX = 2 SEM_NOOPENFILEERRORBOX = 0x8000 flags = SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX \ | SEM_NOOPENFILEERRORBOX #Since there is no GetErrorMode, do a double Set old_mode = SetErrorMode(flags) SetErrorMode(old_mode | flags) if env is None: envrepr = '' else: envrepr = ' [env=%r]' % (env,) env.update(os.environ) if exe is None: exe = self.executable_name log.cmdexec('%s %s%s' % (exe, args, envrepr)) res = self.translator.platform.execute(exe, args, env=env) if sys.platform == 'win32': SetErrorMode(old_mode) if res.returncode != 0: if expect_crash: if type(expect_crash) is int and expect_crash != res.returncode: raise Exception("Returned %d, but expected %d" % ( res.returncode, expect_crash)) return res.out, res.err print(res.err, file=sys.stderr) > raise Exception("Returned %d" % (res.returncode,)) E Exception: Returned -11 translator/c/genc.py:318: Exception ----------------------------- Captured stderr call ----------------------------- [rtyper] specializing: 100 / 371 blocks (26%) [rtyper] specializing: 200 / 375 blocks (53%) [rtyper] specializing: 300 / 375 blocks (80%) [rtyper] -=- specialized 375 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 8 more blocks -=- [rtyper] specializing: 400 / 412 blocks (97%) [rtyper] -=- specialized 25 more blocks -=- [rtyper] -=- specialized 60 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 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] specializing: 500 / 562 blocks (88%) [rtyper] -=- specialized 90 more blocks -=- [rtyper] -=- specialized 0 more blocks -=- [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 1 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 0 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [backendopt:malloc] removed 0 simple mallocs in total [c:database] GC transformer: finished helpers [c:database] GC transformer: finished tables [c:database] Inlining GC helpers and postprocessing [c] 399 nodes [ array: 28 func: 162 refcnt rtti: 19 struct: 190 ] [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_memory_gctransform.c [c:writing] data_rpython_rlib.c [c:writing] data_rpython_rtyper.c [c:writing] data_rpython_rtyper_lltypesystem.c [c:writing] data_rpython_translator_c.c [c:writing] data_rpython_translator_c_test.c [c:writing] nonfuncnodes.c [c:writing] data_rpython_rlib_1.c [c:writing] data_rpython_translator_c_test_1.c [c:writing] implement.c [c:writing] rpython_flowspace.c [c:writing] rpython_memory_gctransform.c [c:writing] rpython_rlib.c [c:writing] rpython_rtyper.c [c:writing] rpython_rtyper_lltypesystem.c [c:writing] rpython_translator.c [c:writing] rpython_translator_c.c [c:writing] rpython_translator_c_test.c [platform:execute] make in /build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33 [c:cmdexec] /build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33/testing_33 =========================== short test summary info ============================ FAIL translator/c/test/test_standalone.py::TestStandalone::()::test_set_length_fraction_clamped_to_os_stack =============== 1 failed, 39 passed, 3 skipped in 537.84 seconds =============== ++ 11:21:20 starting translator/tool/test [322 started in total] __ translator/tool/test [319 done in total, somefailed=False] _________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items translator/tool/test/test_cbuild.py ......s.s. translator/tool/test/test_staticsizereport.py .. translator/tool/test/test_taskengine.py ... ==================== 13 passed, 2 skipped in 31.07 seconds ===================== __ translator/test [320 done in total, somefailed=False] ______________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 75 items translator/test/test_driver.py ..... translator/test/test_exceptiontransform.py .........s...... translator/test/test_interactive.py ....... translator/test/test_simplify.py ............................. translator/test/test_stackcheck.py ... translator/test/test_timing.py . translator/test/test_translator.py ...... translator/test/test_uniquename.py . translator/test/test_unsimplify.py ....... ==================== 74 passed, 1 skipped in 73.66 seconds ===================== __ translator/c/test/test_typed.py [321 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 76 items translator/c/test/test_typed.py .....................................................................ssss... ==================== 72 passed, 4 skipped in 484.36 seconds ==================== __ translator/c/test/test_newgc.py [322 done in total, somefailed=False] ______ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 556 items translator/c/test/test_newgc.py .............................................................................................................................................................................s.........................................................s.........................................................s............................................................s....................................................................s...........................................................s..............................................................s............. =================== 549 passed, 7 skipped in 1325.65 seconds =================== program finished with exit code 1 elapsedTime=7413.527629