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-64/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=x86_64 AUDITWHEEL_PLAT=manylinux2014_x86_64 AUDITWHEEL_POLICY=manylinux2014 DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root HOME=/home/buildslave HOSTNAME=255659ffae49 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/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 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-64/build PYPYCHERRYPICK= PYPY_LOCALBASE=/usr/local PYPY_MAKE_PORTABLE=1 PYPY_USESSION_DIR=/tmp/pytest PYTHONPATH=.: SHELL=/bin/bash SHLVL=2 SSL_CERT_FILE=/opt/_internal/certs.pem TERM=xterm TMPDIR=/tmp/pytest USER=buildslave USE_CURL=1 _=/python27_virt/bin/buildslave 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:52 starting annotator/test [1 started in total] ++ 09:28:52 starting config/test [2 started in total] ++ 09:28:52 starting flowspace/test [3 started in total] ++ 09:28:52 starting jit/backend/aarch64/test/test_basic.py [4 started in total] __ jit/backend/aarch64/test/test_basic.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:28:59 starting jit/backend/aarch64/test/test_call.py [5 started in total] __ flowspace/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 4.84 seconds ===================== ++ 09:28:59 starting jit/backend/aarch64/test/test_calling_convention.py [6 started in total] __ config/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 5.64 seconds ===================== ++ 09:28:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:01 starting jit/backend/aarch64/test/test_fficall.py [10 started in total] __ jit/backend/aarch64/test/test_dict.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:02 starting jit/backend/aarch64/test/test_float.py [11 started in total] __ jit/backend/aarch64/test/test_exception.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:03 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:03 starting jit/backend/aarch64/test/test_jitlog.py [13 started in total] __ jit/backend/aarch64/test/test_jitlog.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:04 starting jit/backend/aarch64/test/test_list.py [14 started in total] __ jit/backend/aarch64/test/test_float.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:04 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:04 starting jit/backend/aarch64/test/test_loop_unroll.py [16 started in total] __ jit/backend/aarch64/test/test_list.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:05 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:05 starting jit/backend/aarch64/test/test_rawmem.py [18 started in total] __ jit/backend/aarch64/test/test_quasiimmut.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_recursive.py [19 started in total] __ jit/backend/aarch64/test/test_llop.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:07 starting jit/backend/aarch64/test/test_rvmprof.py [21 started in total] __ jit/backend/aarch64/test/test_runner.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:07 starting jit/backend/aarch64/test/test_send.py [22 started in total] __ jit/backend/aarch64/test/test_rawmem.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:07 starting jit/backend/aarch64/test/test_slist.py [23 started in total] __ jit/backend/aarch64/test/test_slist.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_string.py [24 started in total] __ jit/backend/aarch64/test/test_rvmprof.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:09 starting jit/backend/aarch64/test/test_tl.py [25 started in total] __ jit/backend/aarch64/test/test_send.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:09 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:09 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:10 starting jit/backend/aarch64/test/test_virtualizable.py [28 started in total] __ jit/backend/aarch64/test/test_virtual.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:10 starting jit/backend/aarch64/test/test_virtualref.py [29 started in total] __ jit/backend/aarch64/test/test_tlc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:10 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:12 starting jit/backend/aarch64/test/test_zrpy_vmprof.py [33 started in total] __ jit/backend/aarch64/test/test_zrpy_releasegil.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:13 starting jit/backend/aarch64/test/test_ztranslation_basic.py [34 started in total] __ jit/backend/aarch64/test/test_zrpy_gc_boehm.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:13 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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_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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:29:15 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:29:15 starting jit/backend/ppc/test [40 started in total] __ annotator/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.py rootdir: /build_dir/rpython-linux-x86-64/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, 8 xfailed, 2 xpassed in 21.27 seconds =============== ++ 09:29:16 starting jit/backend/riscv/test [41 started in total] __ jit/backend/ppc/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:29:16 starting jit/backend/test [42 started in total] __ jit/backend/riscv/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:29:18 starting jit/backend/x86/test/test_assembler.py [43 started in total] __ jit/backend/llgraph/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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.............ss..s.....s.........s.....s........ ==================== 138 passed, 18 skipped in 2.61 seconds ==================== ++ 09:29:19 starting jit/backend/x86/test/test_basic.py [44 started in total] __ jit/backend/x86/test/test_assembler.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_assembler.py ... =========================== 3 passed in 0.69 seconds =========================== ++ 09:29:20 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/backend/x86/test/test_call.py ................ ========================== 16 passed in 5.43 seconds =========================== ++ 09:29:27 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/backend/x86/test/test_callbuilder.py .. =========================== 2 passed in 0.07 seconds =========================== ++ 09:29:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/x86/test/test_calling_convention.py ....... ========================== 7 passed in 39.86 seconds =========================== ++ 09:30:13 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_del.py ... =========================== 3 passed in 1.43 seconds =========================== ++ 09:30:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 92.44 seconds ==================== ++ 09:30:53 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 9.66 seconds ===================== ++ 09:31:05 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit/backend/x86/test/test_dict.py .................... ========================== 20 passed in 46.31 seconds ========================== ++ 09:31:07 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit/backend/x86/test/test_float.py .......... ========================== 10 passed in 3.50 seconds =========================== ++ 09:31:12 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/x86/test/test_fficall.py ...s........ ==================== 11 passed, 1 skipped in 14.36 seconds ===================== ++ 09:31:23 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/backend/x86/test/test_jump.py ............ ========================== 12 passed in 5.69 seconds =========================== ++ 09:31:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_jitlog.py ... ========================== 3 passed in 14.27 seconds =========================== ++ 09:31:30 starting jit/backend/x86/test/test_llop.py [56 started in total] __ jit/backend/x86/test/test_llop.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_llop.py ..... =========================== 5 passed in 2.85 seconds =========================== ++ 09:31:34 starting jit/backend/x86/test/test_longlong.py [57 started in total] __ jit/backend/x86/test/test_longlong.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items jit/backend/x86/test/test_longlong.py ssssssssssssss ========================== 14 skipped in 0.19 seconds ========================== ++ 09:31:36 starting jit/backend/x86/test/test_loop_unroll.py [58 started in total] __ jit/backend/x86/test/test_list.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 9.92 seconds ===================== ++ 09:31:42 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 6.62 seconds ===================== ++ 09:31:50 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/backend/x86/test/test_rawmem.py ....... =========================== 7 passed in 2.16 seconds =========================== ++ 09:31:53 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 24.26 seconds ===================== ++ 09:32:04 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit/backend/x86/test/test_regalloc.py ....s........s..... ===================== 17 passed, 2 skipped in 0.93 seconds ===================== ++ 09:32:06 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items jit/backend/x86/test/test_regloc.py .......................s. ===================== 24 passed, 1 skipped in 0.14 seconds ===================== ++ 09:32:08 starting jit/backend/x86/test/test_runner.py [64 started in total] __ jit/backend/x86/test/test_recursive.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit/backend/x86/test/test_recursive.py ................s........s................ ==================== 40 passed, 2 skipped in 57.94 seconds ===================== ++ 09:32:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_rvmprof.py ... =========================== 3 passed in 3.75 seconds =========================== ++ 09:33:05 starting jit/backend/x86/test/test_rx86.py [66 started in total] __ jit/backend/x86/test/test_rx86.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 34 items jit/backend/x86/test/test_rx86.py .................................. ========================== 34 passed in 0.06 seconds =========================== ++ 09:33:06 starting jit/backend/x86/test/test_rx86_32_auto_encoding.py [67 started in total] __ jit/backend/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 241.45 seconds ========================== ++ 09:33:22 starting jit/backend/x86/test/test_rx86_64_auto_encoding.py [68 started in total] __ jit/backend/x86/test/test_runner.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 [c5fd4be40f30880] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3000 +0 48894D40488945484889555048895D584889756048897D684C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA00000008F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3 [c5fd4be41012200] jit-backend-dump} [c5fd4be41366880] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3090 +0 48894D40488945484889555048895D584889756048897D684C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA000000049BB486F3E6EF47F0000498B1B49C743F80000000049C7030000000048895D288F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3 [c5fd4be4145b080] jit-backend-dump} [c5fd4be41e03700] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3130 +0 48894D40488945484889555048895D584889756048897D684C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA0000000F20F1185A8000000F20F118DB0000000F20F1195B8000000F20F119DC0000000F20F11A5C8000000F20F11ADD0000000F20F11B5D8000000F20F11BDE0000000F2440F1185E8000000F2440F118DF0000000F2440F1195F8000000F2440F119D00010000F2440F11A508010000F2440F11AD10010000F2440F11B518010000488B7424104889EF4883EC0849BB486F3E6EF47F0000498B0B48894D28498B5BF849C743F80000000049C703000000004D8D9BC8506C0441FFD34889C5488B4D2848C745280000000049BB486F3E6EF47F000049890B49895BF84883C40848C7451800000000488B4D40488B4548488B5550488B5D58488B7560488B7D684C8B45704C8B4D784C8B95800000004C8BA5880000004C8BAD900000004C8BB5980000004C8BBDA0000000F20F1085A8000000F20F108DB0000000F20F1095B8000000F20F109DC0000000F20F10A5C8000000F20F10ADD0000000F20F10B5D8000000F20F10BDE0000000F2440F1085E8000000F2440F108DF0000000F2440F1095F8000000F2440F109D00010000F2440F10A508010000F2440F10AD10010000F2440F10B518010000C3 [c5fd4be420fd280] jit-backend-dump} [c5fd4be425b5680] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3330 +0 48894D40488945484889555048895D584889756048897D684C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA0000000F20F1185A8000000F20F118DB0000000F20F1195B8000000F20F119DC0000000F20F11A5C8000000F20F11ADD0000000F20F11B5D8000000F20F11BDE0000000F2440F1185E8000000F2440F118DF0000000F2440F1195F8000000F2440F119D00010000F2440F11A508010000F2440F11AD10010000F2440F11B5180100008F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3 [c5fd4be42740a80] jit-backend-dump} [c5fd4be42cbfc80] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3430 +0 48894D40488945484889555048895D584889756048897D684C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA0000000F20F1185A8000000F20F118DB0000000F20F1195B8000000F20F119DC0000000F20F11A5C8000000F20F11ADD0000000F20F11B5D8000000F20F11BDE0000000F2440F1185E8000000F2440F118DF0000000F2440F1195F8000000F2440F119D00010000F2440F11A508010000F2440F11AD10010000F2440F11B51801000049BB486F3E6EF47F0000498B1B49C743F80000000049C7030000000048895D288F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3 [c5fd4be42e75880] jit-backend-dump} [c5fd4be43070200] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3560 +0 49BB486F3E6EF47F0000498B0349C743F80000000049C703000000004889452848C74508000000004889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3 [c5fd4be43104d00] jit-backend-dump} [c5fd4be43391880] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c35c0 +0 48895D584C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA00000004883EC08FFD04883C40848C7451800000000488B4D40488B5550488B5D58488B7560488B7D684C8B45704C8B4D784C8B95800000004C8BA5880000004C8BAD900000004C8BB5980000004C8BBDA0000000C3 [c5fd4be43466e00] jit-backend-dump} [c5fd4be435d1900] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3650 +0 4C8945704C894D784C8995800000004883EC08FFD04883C40848C7451800000000488B4D40488B5550488B7560488B7D684C8B45704C8B4D784C8B9580000000C3 [c5fd4be43642980] jit-backend-dump} [c5fd4be43d6cb80] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c36a0 +0 48895D584C8945704C894D784C8995800000004C89A5880000004C89AD900000004C89B5980000004C89BDA0000000F20F1185A8000000F20F118DB0000000F20F1195B8000000F20F119DC0000000F20F11A5C8000000F20F11ADD0000000F20F11B5D8000000F20F11BDE0000000F2440F1185E8000000F2440F118DF0000000F2440F1195F8000000F2440F119D00010000F2440F11A508010000F2440F11AD10010000F2440F11B5180100004883EC08FFD04883C40848C7451800000000488B4D40488B5550488B5D58488B7560488B7D684C8B45704C8B4D784C8B95800000004C8BA5880000004C8BAD900000004C8BB5980000004C8BBDA0000000F20F1085A8000000F20F108DB0000000F20F1095B8000000F20F109DC0000000F20F10A5C8000000F20F10ADD0000000F20F10B5D8000000F20F10BDE0000000F2440F1085E8000000F2440F108DF0000000F2440F1095F8000000F2440F109D00010000F2440F10A508010000F2440F10AD10010000F2440F10B518010000C3 [c5fd4be43fc9700] jit-backend-dump} [c5fd4be445e6800] {jit-backend-dump BACKEND x86_64 SYS_EXECUTABLE ?? CODE_DUMP @7ff46c7c3830 +0 4C8945704C894D784C899580000000F20F1185A8000000F20F118DB0000000F20F1195B8000000F20F119DC0000000F20F11A5C8000000F20F11ADD0000000F20F11B5D8000000F20F11BDE0000000F2440F1185E8000000F2440F118DF0000000F2440F1195F8000000F2440F119D00010000F2440F11A508010000F2440F11AD10010000F2440F11B5180100004883EC08FFD04883C40848C7451800000000488B4D40488B5550488B7560488B7D684C8B45704C8B4D784C8B9580000000F20F1085A8000000F20F108DB0000000F20F1095B8000000F20F109DC0000000F20F10A5C8000000F20F10ADD0000000F20F10B5D8000000F20F10BDE0000000F2440F1085E8000000F2440F108DF0000000F2440F1095F8000000F2440F109D00010000F2440F10A508010000F2440F10AD10010000F2440F10B518010000C3 [c5fd4be447d3500] 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.....................ss...........................sssss....s....s....s.s. =================== 158 passed, 14 skipped in 134.65 seconds =================== ++ 09:34:26 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items jit/backend/x86/test/test_send.py ....................... ========================== 23 passed in 11.87 seconds ========================== ++ 09:34:40 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 2.66 seconds ====================== ++ 09:34:44 starting jit/backend/x86/test/test_string.py [71 started in total] __ jit/backend/x86/test/test_rx86_32_auto_encoding.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 137.83 seconds ==================== ++ 09:35:31 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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.04 seconds =========================== ++ 09:35:33 starting jit/backend/x86/test/test_tl.py [73 started in total] __ jit/backend/x86/test/test_string.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 48.84 seconds ===================== ++ 09:35:36 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.16 seconds ====================== ++ 09:35:40 starting jit/backend/x86/test/test_tracelimit.py [75 started in total] __ jit/backend/x86/test/test_tl.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_tl.py ..... =========================== 5 passed in 6.97 seconds =========================== ++ 09:35:41 starting jit/backend/x86/test/test_virtual.py [76 started in total] __ jit/backend/x86/test/test_rx86_64_auto_encoding.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 616 items jit/backend/x86/test/test_rx86_64_auto_encoding.py ..................................................s...................................................................................s..s....................................................................................................................s......................................................................................................................................................................................................................................................................................................................................................................... =================== 612 passed, 4 skipped in 153.69 seconds ==================== ++ 09:36:02 starting jit/backend/x86/test/test_virtualizable.py [77 started in total] __ jit/backend/x86/test/test_virtual.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items jit/backend/x86/test/test_virtual.py .................................................... ========================== 52 passed in 20.00 seconds ========================== ++ 09:36:05 starting jit/backend/x86/test/test_virtualref.py [78 started in total] __ jit/backend/llsupport/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 ....s....s............ 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 .. ================== 264 passed, 156 skipped in 407.39 seconds =================== ++ 09:36:07 starting jit/backend/x86/test/test_x86vector.py [79 started in total] __ jit/backend/x86/test/test_virtualref.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 8.61 seconds ===================== ++ 09:36:15 starting jit/backend/x86/test/test_zmath.py [80 started in total] __ jit/backend/x86/test/test_zmath.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zmath.py . =========================== 1 passed in 7.83 seconds =========================== ++ 09:36:26 starting jit/backend/x86/test/test_zrpy_gc.py [81 started in total] __ jit/backend/x86/test/test_virtualizable.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 23.59 seconds =============== ++ 09:36:29 starting jit/backend/x86/test/test_zrpy_gc_boehm.py [82 started in total] __ jit/backend/x86/test/test_tracelimit.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/backend/x86/test/test_tracelimit.py ..... ========================== 5 passed in 58.79 seconds =========================== ++ 09:36:46 starting jit/backend/x86/test/test_zrpy_releasegil.py [83 started in total] __ jit/backend/x86/test/test_zrpy_gc_boehm.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 268.61 seconds ========================== ++ 09:41:04 starting jit/backend/x86/test/test_zrpy_vecopt.py [84 started in total] __ jit/backend/x86/test/test_x86vector.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 94 items jit/backend/x86/test/test_x86vector.py .............................................................................................. ========================= 94 passed in 392.64 seconds ========================== ++ 09:42:44 starting jit/backend/x86/test/test_zrpy_vmprof.py [85 started in total] __ jit/backend/x86/test/test_zrpy_releasegil.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/backend/x86/test/test_zrpy_releasegil.py ... ========================== 3 passed in 377.06 seconds ========================== ++ 09:43:08 starting jit/backend/x86/test/test_ztranslation_basic.py [86 started in total] __ jit/backend/x86/test/test_zrpy_gc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit/backend/x86/test/test_zrpy_gc.py ................... ========================= 19 passed in 401.99 seconds ========================== ++ 09:43:17 starting jit/backend/x86/test/test_ztranslation_call_assembler.py [87 started in total] __ jit/backend/x86/test/test_zrpy_vecopt.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zrpy_vecopt.py . ========================== 1 passed in 154.61 seconds ========================== ++ 09:43:43 starting jit/backend/x86/test/test_ztranslation_external_exception.py [88 started in total] __ jit/backend/x86/test/test_ztranslation_call_assembler.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 262.86 seconds ========================== ++ 09:47:44 starting jit/backend/x86/test/test_ztranslation_jit_stats.py [89 started in total] __ jit/backend/x86/test/test_ztranslation_basic.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_ztranslation_basic.py . ========================== 1 passed in 273.30 seconds ========================== ++ 09:47:50 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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.01 seconds =========================== ++ 09:47:52 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 09:47:53 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 530 items jit/codewriter/test/test_assembler.py ...s.......... jit/codewriter/test/test_call.py .......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 .ssssssss 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 ............. ==================== 520 passed, 10 skipped in 6.12 seconds ==================== ++ 09:48:00 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/optimizeopt/test/test_costmodel.py ........... ========================== 11 passed in 0.66 seconds =========================== ++ 09:48:02 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 36 items jit/metainterp/optimizeopt/test/test_dependency.py .................................... ========================== 36 passed in 0.69 seconds =========================== ++ 09:48: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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/optimizeopt/test/test_guard.py ....... =========================== 7 passed in 0.64 seconds =========================== ++ 09:48:05 starting jit/metainterp/optimizeopt/test/test_intbound.py [96 started in total] __ jit/backend/x86/test/test_zrpy_vmprof.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/backend/x86/test/test_zrpy_vmprof.py . ========================== 1 passed in 341.34 seconds ========================== ++ 09:48:30 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/optimizeopt/test/test_intdiv.py ... =========================== 3 passed in 1.13 seconds =========================== ++ 09:48:33 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 2.00 seconds ===================== ++ 09:48:36 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items jit/metainterp/optimizeopt/test/test_optimizebridge.py .... =========================== 4 passed in 0.74 seconds =========================== ++ 09:48:38 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.37 seconds ===================== ++ 09:48:40 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 218 items jit/metainterp/optimizeopt/test/test_optimizeintbound.py .......................................................................................................................................................................................................................... ========================== 218 passed in 2.38 seconds ========================== ++ 09:48:44 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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............................ ==================== 410 passed, 7 xfailed in 5.71 seconds ===================== ++ 09:48:51 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/optimizeopt/test/test_rawbuffer.py ....... =========================== 7 passed in 0.56 seconds =========================== ++ 09:48:52 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items jit/metainterp/optimizeopt/test/test_schedule.py ................. ========================== 17 passed in 0.66 seconds =========================== ++ 09:48:54 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/metainterp/optimizeopt/test/test_short.py .. =========================== 2 passed in 0.55 seconds =========================== ++ 09:48:56 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit/metainterp/optimizeopt/test/test_unroll.py ............ ========================== 12 passed in 0.75 seconds =========================== ++ 09:48:58 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/optimizeopt/test/test_util.py ... =========================== 3 passed in 0.62 seconds =========================== ++ 09:48:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 72 items jit/metainterp/optimizeopt/test/test_vecopt.py ........................s............................................... ===================== 71 passed, 1 skipped in 0.96 seconds ===================== ++ 09:49:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.12 seconds ===================== ++ 09:49:03 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.64 seconds =========================== ++ 09:49:05 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.68 seconds =========================== ++ 09:49:06 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:49:07 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:49:08 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 09:49:10 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 333.54 seconds ========================== ++ 09:49:23 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.05 seconds ====================== ++ 09:49:25 starting jit/metainterp/test/test_bridgeopt.py [117 started in total] __ jit/metainterp/test/test_bridgeopt.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 5.70 seconds ===================== ++ 09:49:31 starting jit/metainterp/test/test_bytearray.py [118 started in total] __ jit/metainterp/test/test_bytearray.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.78 seconds ====================== ++ 09:49:34 starting jit/metainterp/test/test_call.py [119 started in total] __ jit/metainterp/test/test_call.py [116 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f786c510d90> 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 0x7f786c4d5d50> 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 [c5fd5382725c080] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53827378d00] {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 [c5fd5382738e500] jit-trace-done} [c5fd538273b3a80] {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 0x7f786cead0d0: 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>) [c5fd53827407e80] jit-log-noopt} [c5fd53827410f00] {jit-optimize [c5fd53827424f00] {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 0x7f786c580f90>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd538275f8b80] jit-log-intbounds} [c5fd5382763d500] {jit-log-exported-state [i10, i11] PureOp(i12 = int_gt(i10, 0/ci)) INP(i10 = int_add(i13, -2/ci)) INP(i11) [c5fd5382764ae00] jit-log-exported-state} [c5fd53827650200] jit-optimize} [c5fd53827660400] {jit-optimize [c5fd538276e5f00] {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 0x7f786c434350>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53827939d80] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(140155189153296)) [c5fd538279d9c80] jit-optimize} [c5fd538279e0780] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd538279eb180] jit-log-short-preamble} [c5fd53827a00d80] {jit-backend [c5fd53827a0ee00] {jit-log-compiling-loop [i13, i11] label(i13, i11, descr=TargetToken(140155190046544)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i13, -2) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0x7f786c580f90>) [i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(140155189153296)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i10, -2) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f786c434350>) [i19, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, i11, descr=TargetToken(140155189153296)) [c5fd53827a35e80] jit-log-compiling-loop} [c5fd53827a43400] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53827a49180] jit-mem-looptoken-alloc} [c5fd53827a5dc00] jit-backend} compiled new loop [c5fd53827a63d00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(140155190046544)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<Guard0x7f786c580f90>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i1, descr=TargetToken(140155189153296)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i3, -2) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0x7f786c434350>) [i7, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(140155189153296)) [c5fd53827a90080] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53827b3d980] jit-tracing} _______________ TestCall.test_cond_call_constant_in_optimizer_1 ________________ self = <rpython.jit.metainterp.test.test_call.TestCall object at 0x7f786c42f450> 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 0x7f786c319890> 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 [c5fd5382b92d100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5382ba44f80] {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 [c5fd5382ba59e00] jit-trace-done} [c5fd5382ba7ed00] {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 0x7f786cead0d0: 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>) [c5fd5382bac3b00] jit-log-noopt} [c5fd5382bacc980] {jit-optimize [c5fd5382badfa80] {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 0x7f786c43c890>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5382bcaa800] jit-log-intbounds} [c5fd5382bced600] {jit-log-exported-state [i10, i11] PureOp(i12 = int_gt(i10, 0/ci)) INP(i10 = int_add(i13, -2/ci)) INP(i11) [c5fd5382bcfb300] jit-log-exported-state} [c5fd5382bd00580] jit-optimize} [c5fd5382bd0fd00] {jit-optimize [c5fd5382bd92700] {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 0x7f786c3bd2d0>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5382bfe0680] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(140155188665808)) [c5fd5382c07e980] jit-optimize} [c5fd5382c085100] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd5382c08f900] jit-log-short-preamble} [c5fd5382c0a4b80] {jit-backend [c5fd5382c0b2400] {jit-log-compiling-loop [i13, i11] label(i13, i11, descr=TargetToken(140155188755216)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i13, -2) i12 = int_gt(i10, 0) guard_true(i12, descr=<Guard0x7f786c43c890>) [i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(140155188665808)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i10, -2) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f786c3bd2d0>) [i19, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, i11, descr=TargetToken(140155188665808)) [c5fd5382c0d9300] jit-log-compiling-loop} [c5fd5382c0e5c00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5382c0eb980] jit-mem-looptoken-alloc} [c5fd5382c100200] jit-backend} compiled new loop [c5fd5382c106580] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(140155188755216)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, -2) i5 = int_gt(i3, 0) guard_true(i5, descr=<Guard0x7f786c43c890>) [i3, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i1, descr=TargetToken(140155188665808)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i3, -2) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0x7f786c3bd2d0>) [i7, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(140155188665808)) [c5fd5382c132680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5382c1df080] 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 2.88 seconds ====================== ++ 09:49:38 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit/metainterp/test/test_compile.py .. =========================== 2 passed in 0.69 seconds =========================== ++ 09:49:40 starting jit/metainterp/test/test_counter.py [121 started in total] __ jit/metainterp/test/test_counter.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_counter.py ....... =========================== 7 passed in 2.69 seconds =========================== ++ 09:49:43 starting jit/metainterp/test/test_del.py [122 started in total] __ jit/metainterp/test/test_del.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f8a6aee8b90> 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 0x7f8a6ade75d0> 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 [c5fd539228d1700] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53925529200] {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 [c5fd5392553e380] jit-trace-done} [c5fd53925562980] {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 0x7f8a6ad6fa50: 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 0x7f8a6ad6fa50: 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>) [c5fd539255aa600] jit-log-noopt} [c5fd539255b8f00] {jit-optimize [c5fd5392564a500] {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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a6aad97d0>) [i0, p3] p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a6aad9790>) [i0, p3] i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0x7f8a6aaf0690>) [i0, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd539258ebe00] jit-log-intbounds} [c5fd53925927780] {jit-log-exported-state [i10, r11] INP(r11 = call_r(140232474686160/ci, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>))) INP(i10 = int_add(i12, -1/ci)) PureOp(i13 = int_gt(i10, 0/ci)) [c5fd5392593b600] jit-log-exported-state} [c5fd53925940b80] jit-optimize} [c5fd53925952100] {jit-optimize [c5fd539259b1a80] {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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a6ab03290>) [i4, p3] p6 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a6aad9710>) [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 0x7f8a6aad92d0>) [i4, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53925d4b280] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p3, descr=TargetToken(140232474855632)) [c5fd53925dd1c80] jit-optimize} [c5fd53925dd8a00] {jit-log-short-preamble [] label(i14, p15) jump() [c5fd53925de3200] jit-log-short-preamble} [c5fd53925e11080] {jit-backend [c5fd53925e1ef00] {jit-log-compiling-loop [i12, p16] label(i12, p16, descr=TargetToken(140232474792272)) 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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad97d0>) [i12, p11] p19 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad9790>) [i12, p11] i10 = int_add(i12, -1) i13 = int_gt(i10, 0) guard_true(i13, descr=<Guard0x7f8a6aaf0690>) [i12, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, p11, descr=TargetToken(140232474855632)) 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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6ab03290>) [i10, p23] p25 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad9710>) [i10, p23] i27 = int_add(i10, -1) i29 = int_gt(i27, 0) guard_true(i29, descr=<Guard0x7f8a6aad92d0>) [i10, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i27, p23, descr=TargetToken(140232474855632)) [c5fd53925e65a00] jit-log-compiling-loop} [c5fd53925e74e00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53925e7ad80] jit-mem-looptoken-alloc} [c5fd53925e9af80] jit-backend} compiled new loop [c5fd53925ea1500] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, p1] label(i0, p1, descr=TargetToken(140232474792272)) 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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad97d0>) [i0, p3] p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad9790>) [i0, p3] i7 = int_add(i0, -1) i9 = int_gt(i7, 0) guard_true(i9, descr=<Guard0x7f8a6aaf0690>) [i0, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, p3, descr=TargetToken(140232474855632)) 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 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6ab03290>) [i7, p11] p13 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0x7f8a6ad6fa50: EF=5>)) guard_no_exception(descr=<Guard0x7f8a6aad9710>) [i7, p11] i15 = int_add(i7, -1) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0x7f8a6aad92d0>) [i7, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, p11, descr=TargetToken(140232474855632)) [c5fd53925ee8d80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53926325700] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_del.py::TestLLtype::()::test_del_keep_obj ====================== 1 failed, 2 passed in 1.21 seconds ====================== ++ 09:49:46 starting jit/metainterp/test/test_dict.py [123 started in total] __ jit/metainterp/optimizeopt/test/test_intbound.py [120 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 133 items jit/metainterp/optimizeopt/test/test_intbound.py ..................................................................................................................................... ========================= 133 passed in 106.60 seconds ========================= ++ 09:49:54 starting jit/metainterp/test/test_exception.py [124 started in total] __ jit/metainterp/test/test_exception.py [121 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f0d85f9f780> 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 0x7f0d85f240d0> 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 [c5fd53a663a7680] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53a66453480] {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 [c5fd53a66467e80] jit-trace-done} [c5fd53a66485180] {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>) [c5fd53a664b7e00] jit-log-noopt} [c5fd53a664c0880] {jit-optimize [c5fd53a66525400] {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 0x7f0d85eb2610>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53a666e6580] jit-log-intbounds} [c5fd53a6671e200] {jit-log-exported-state [i6] INP(i6 = int_add(i7, -1/ci)) PureOp(i8 = int_gt(i6, 0/ci)) [c5fd53a6672bb00] jit-log-exported-state} [c5fd53a66730f00] jit-optimize} [c5fd53a66742680] {jit-optimize [c5fd53a6679db00] {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 0x7f0d85eb2690>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53a669c1300] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(139696058027536)) [c5fd53a66a3fe00] jit-optimize} [c5fd53a66a48100] {jit-log-short-preamble [] label(i9) jump() [c5fd53a66a52700] jit-log-short-preamble} [c5fd53a66a66d00] {jit-backend [c5fd53a66a74280] {jit-log-compiling-loop [i7] label(i7, descr=TargetToken(139696058083792)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i7, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f0d85eb2610>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i6, descr=TargetToken(139696058027536)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = int_add(i6, -1) i15 = int_gt(i13, 0) guard_true(i15, descr=<Guard0x7f0d85eb2690>) [i13] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i13, descr=TargetToken(139696058027536)) [c5fd53a66a99800] jit-log-compiling-loop} [c5fd53a66aa7280] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53a66aad080] jit-mem-looptoken-alloc} [c5fd53a66ac0900] jit-backend} compiled new loop [c5fd53a66ac6c80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(139696058083792)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f0d85eb2610>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(139696058027536)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f0d85eb2690>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(139696058027536)) [c5fd53a66af0c80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53a66b8c080] jit-tracing} =========================== short test summary info ============================ FAIL jit/metainterp/test/test_exception.py::TestLLtype::()::test_no_exception ===================== 1 failed, 31 passed in 4.48 seconds ====================== ++ 09:50:00 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_executor.py ....... =========================== 7 passed in 0.57 seconds =========================== ++ 09:50:01 starting jit/metainterp/test/test_fficall.py [126 started in total] __ jit/metainterp/test/test_fficall.py [123 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items jit/metainterp/test/test_fficall.py ...s........s.... ==================== 15 passed, 2 skipped in 11.25 seconds ===================== ++ 09:50:13 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit/metainterp/test/test_float.py .......... ========================== 10 passed in 1.55 seconds =========================== ++ 09:50:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.63 seconds =========================== ++ 09:50:18 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0.58 seconds ===================== ++ 09:50:19 starting jit/metainterp/test/test_history.py [130 started in total] __ jit/metainterp/test/test_history.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/metainterp/test/test_history.py ....... =========================== 7 passed in 4.24 seconds =========================== ++ 09:50:25 starting jit/metainterp/test/test_immutable.py [131 started in total] __ jit/metainterp/test/test_immutable.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items jit/metainterp/test/test_immutable.py ........ =========================== 8 passed in 3.19 seconds =========================== ++ 09:50:29 starting jit/metainterp/test/test_jitdriver.py [132 started in total] __ jit/metainterp/test/test_jitdriver.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 4.21 seconds ====================== ++ 09:50:35 starting jit/metainterp/test/test_jitiface.py [133 started in total] __ jit/metainterp/test/test_jitiface.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_jitiface.py ........... ========================== 11 passed in 2.32 seconds =========================== ++ 09:50:38 starting jit/metainterp/test/test_jitprof.py [134 started in total] __ jit/metainterp/test/test_jitprof.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.16 seconds ====================== ++ 09:50:41 starting jit/metainterp/test/test_list.py [135 started in total] __ jit/metainterp/test/test_list.py [132 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f5ddede1f50> 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 0x7f5ddec88450> 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 0x7f5ddec085d0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:16)f at 0x7f5ddec085d0>; 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 [c5fd53fd343dc80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53fd62c9580] {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 [c5fd53fd62def00] jit-trace-done} [c5fd53fd6300600] {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>) [c5fd53fd633ee00] jit-log-noopt} [c5fd53fd634da80] {jit-optimize [c5fd53fd63d6600] {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 0x7f5dde96a050>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53fd65c3880] jit-log-intbounds} [c5fd53fd65fe200] {jit-log-exported-state [i8] INP(i8 = int_add(i9, -1/ci)) PureOp(i10 = int_gt(i8, 0/ci)) [c5fd53fd660c080] jit-log-exported-state} [c5fd53fd6611500] jit-optimize} [c5fd53fd6624f00] {jit-optimize [c5fd53fd6681d80] {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 0x7f5dde96afd0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53fd68c8580] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140041143102672)) [c5fd53fd694cd00] jit-optimize} [c5fd53fd6954600] {jit-log-short-preamble [] label(i11) jump() [c5fd53fd695ee00] jit-log-short-preamble} [c5fd53fd6989380] {jit-backend [c5fd53fd699b880] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(140041143101392)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i9, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0x7f5dde96a050>) [i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, descr=TargetToken(140041143102672)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i15 = int_add(i8, -1) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0x7f5dde96afd0>) [i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, descr=TargetToken(140041143102672)) [c5fd53fd69c1880] jit-log-compiling-loop} [c5fd53fd69d1a00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53fd69d7980] jit-mem-looptoken-alloc} [c5fd53fd69f6600] jit-backend} compiled new loop [c5fd53fd69fe900] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140041143101392)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f5dde96a050>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140041143102672)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f5dde96afd0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140041143102672)) [c5fd53fd6a27380] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53fd6ad6d80] jit-tracing} ________________________ TestLLtype.test_virtual_resize ________________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0x7f5dde05d5a0> 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 0x7f5dddc10450> 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 0x7f5dddcb7810>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:214)f at 0x7f5dddcb7810>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0x7f5dddcc1b50>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0x7f5dddcc1b50>; 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 0x7f5dddb8ba90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:635)ll_pop_default__dum_nocheckConst_listPtr at 0x7f5dddb1d110>; 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 [c5fd5402e53b100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5402e65c600] {jit-tco removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [c5fd5402e663980] jit-tco} [c5fd5402e6dd080] {jit-tco removed frame ll_extend__listPtr_arrayPtr [c5fd5402e6e3980] jit-tco} (jitdriver: no get_printable_location) [c5fd5402eccec00] {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 [c5fd5402ece3480] jit-trace-done} [c5fd5402ed05500] {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 0x7f5dddbec2d0: 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 0x7f5dddca16d0: 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 0x7f5dddca16d0: 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 0x7f5dddca16d0: 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>) [c5fd5402edd0b00] jit-log-noopt} [c5fd5402eddaf00] {jit-optimize [c5fd5402edeef80] {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 0x7f5dddadbc10>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5402f07b500] jit-log-intbounds} [c5fd5402f0c1600] {jit-log-exported-state [i51, i52] INP(i52 = int_add(i53, 1/ci)) INP(i51 = int_add(i54, -1/ci)) PureOp(i55 = int_gt(i51, 0/ci)) [c5fd5402f0d0200] jit-log-exported-state} [c5fd5402f0d5880] jit-optimize} [c5fd5402f0e6600] {jit-optimize [c5fd5402f16c800] {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 0x7f5dddae6ed0>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5402f468f00] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, descr=TargetToken(140041127879952)) [c5fd5402f509d00] jit-optimize} [c5fd5402f510a80] {jit-log-short-preamble [] label(i56, i57) jump() [c5fd5402f51b600] jit-log-short-preamble} [c5fd5402f531980] {jit-backend [c5fd5402f53e500] {jit-log-compiling-loop [i54, i53] label(i54, i53, descr=TargetToken(140041130945168)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i54, -1) i52 = int_add(i53, 1) i55 = int_gt(i51, 0) guard_true(i55, descr=<Guard0x7f5dddadbc10>) [i51, i52] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, i52, descr=TargetToken(140041127879952)) 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=<Guard0x7f5dddae6ed0>) [i62, i64] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i62, i64, descr=TargetToken(140041127879952)) [c5fd5402f568880] jit-log-compiling-loop} [c5fd5402f576d00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5402f57ce80] jit-mem-looptoken-alloc} [c5fd5402f592e00] jit-backend} compiled new loop [c5fd5402f599000] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(140041130945168)) 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=<Guard0x7f5dddadbc10>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(140041127879952)) 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=<Guard0x7f5dddae6ed0>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(140041127879952)) [c5fd5402f5c8780] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5402f693000] jit-tracing} _______________________ TestLLtype.test_list_mul_virtual _______________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0x7f5ddd5ab870> 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 0x7f5ddd543390> 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 0x7f5ddd509050>; 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 [c5fd5404b795e80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5404b7e5200] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd5404b7eb980] jit-tco} [c5fd5404b857e00] {jit-tco removed frame Foo.__init__ [c5fd5404b85e700] jit-tco} (jitdriver: no get_printable_location) [c5fd5404b8d2300] {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 [c5fd5404b8e6100] jit-trace-done} [c5fd5404b902c80] {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>) [c5fd5404b942c00] jit-log-noopt} [c5fd5404b94b880] {jit-optimize [c5fd5404b96db00] {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 0x7f5ddd6dc850>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5404bb2df00] jit-log-intbounds} [c5fd5404bb63280] {jit-log-exported-state [i9] INP(i9 = int_add(i10, -1/ci)) PureOp(i11 = int_gt(i9, 0/ci)) [c5fd5404bb70b80] jit-log-exported-state} [c5fd5404bb75d80] jit-optimize} [c5fd5404bb86d00] {jit-optimize [c5fd5404bbe0a80] {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 0x7f5ddde59f50>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5404be0ff80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140041127249936)) [c5fd5404be8c800] jit-optimize} [c5fd5404be93300] {jit-log-short-preamble [] label(i12) jump() [c5fd5404be9d180] jit-log-short-preamble} [c5fd5404beb1000] {jit-backend [c5fd5404bebd900] {jit-log-compiling-loop [i10] label(i10, descr=TargetToken(140041130182480)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i10, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0x7f5ddd6dc850>) [i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, descr=TargetToken(140041127249936)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i9, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0x7f5ddde59f50>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i16, descr=TargetToken(140041127249936)) [c5fd5404bee3c80] jit-log-compiling-loop} [c5fd5404bef0f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5404bef6d00] jit-mem-looptoken-alloc} [c5fd5404bf0ab80] jit-backend} compiled new loop [c5fd5404bf10b00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140041130182480)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f5ddd6dc850>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140041127249936)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f5ddde59f50>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140041127249936)) [c5fd5404bf3ba80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5404bfbff80] jit-tracing} ___________________ TestLLtype.test_list_mul_virtual_nonzero ___________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0x7f5ddd7c0280> 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 0x7f5ddd3ad750> 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 0x7f5ddd41bc90>; 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 [c5fd54051ed9900] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd54051f35600] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd54051f3c180] jit-tco} [c5fd54051f4bd80] {jit-tco removed frame _ll_alloc_and_set_jit__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd54051f51b00] jit-tco} [c5fd54051f6d080] {jit-tco removed frame _ll_alloc_and_set_nonnull_look_inside_iff__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd54051f73200] jit-tco} [c5fd54052073200] {jit-tco removed frame Foo.__init__ [c5fd54052079b00] jit-tco} (jitdriver: no get_printable_location) [c5fd540520efc00] {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 [c5fd54052103c00] jit-trace-done} [c5fd54052120980] {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>) [c5fd5405217fc80] jit-log-noopt} [c5fd54052188b80] {jit-optimize [c5fd54052198900] {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 0x7f5dde516910>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5405236cb80] jit-log-intbounds} [c5fd540523a0980] {jit-log-exported-state [i21] INP(i21 = int_add(i22, -1/ci)) PureOp(i23 = int_gt(i21, 0/ci)) [c5fd540523ad080] jit-log-exported-state} [c5fd540523b2300] jit-optimize} [c5fd540523c1a80] {jit-optimize [c5fd5405241ba00] {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 0x7f5ddd44f510>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54052668400] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140041130182416)) [c5fd540526e4680] jit-optimize} [c5fd540526eb200] {jit-log-short-preamble [] label(i24) jump() [c5fd540526f5200] jit-log-short-preamble} [c5fd54052709480] {jit-backend [c5fd54052715f80] {jit-log-compiling-loop [i22] label(i22, descr=TargetToken(140041118946704)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i22, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0x7f5dde516910>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(140041130182416)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0x7f5ddd44f510>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(140041130182416)) [c5fd5405273b100] jit-log-compiling-loop} [c5fd54052748600] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5405274e380] jit-mem-looptoken-alloc} [c5fd54052762800] jit-backend} compiled new loop [c5fd54052768780] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140041118946704)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f5dde516910>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140041130182416)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f5ddd44f510>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140041130182416)) [c5fd54052791800] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54052817680] jit-tracing} __________________ TestLLtype.test_list_mul_unsigned_virtual ___________________ self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0x7f5dddc94fa0> 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 0x7f5ddd370290> 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 0x7f5ddd490e90>; 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 [c5fd5405853c200] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd5405858b580] {jit-tco removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr [c5fd54058591d80] jit-tco} [c5fd540585ff700] {jit-tco removed frame Foo.__init__ [c5fd54058606100] jit-tco} (jitdriver: no get_printable_location) [c5fd54058678c80] {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 [c5fd5405868cd00] jit-trace-done} [c5fd540586a9a00] {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>) [c5fd540586e9780] jit-log-noopt} [c5fd540586f2400] {jit-optimize [c5fd54058702400] {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 0x7f5ddd44efd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd540588bd380] jit-log-intbounds} [c5fd540588f1580] {jit-log-exported-state [i9] INP(i9 = int_add(i10, -1/ci)) PureOp(i11 = int_gt(i9, 0/ci)) [c5fd540588fdb00] jit-log-exported-state} [c5fd54058902b00] jit-optimize} [c5fd54058911f00] {jit-optimize [c5fd5405896d200] {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 0x7f5ddd146d10>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54058babd80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140041118947792)) [c5fd54058c28780] jit-optimize} [c5fd54058c2f500] {jit-log-short-preamble [] label(i12) jump() [c5fd54058c39500] jit-log-short-preamble} [c5fd54058c4d380] {jit-backend [c5fd54058c59e80] {jit-log-compiling-loop [i10] label(i10, descr=TargetToken(140041117854544)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i10, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0x7f5ddd44efd0>) [i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, descr=TargetToken(140041118947792)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i9, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0x7f5ddd146d10>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i16, descr=TargetToken(140041118947792)) [c5fd54058c7fc00] jit-log-compiling-loop} [c5fd54058c8d300] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54058c93080] jit-mem-looptoken-alloc} [c5fd54058ca6d00] jit-backend} compiled new loop [c5fd54058cace80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140041117854544)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f5ddd44efd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140041118947792)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f5ddd146d10>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140041118947792)) [c5fd54058cd5b00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54058d5c180] 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 8.00 seconds ================ ++ 09:50:51 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_llop.py ..... =========================== 5 passed in 1.98 seconds =========================== ++ 09:50:54 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit/metainterp/test/test_logger.py ................ ========================== 16 passed in 0.58 seconds =========================== ++ 09:50:56 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items jit/metainterp/test/test_longlong.py ssssssssssssss ========================== 14 skipped in 0.63 seconds ========================== ++ 09:50:58 starting jit/metainterp/test/test_loop.py [139 started in total] __ jit/metainterp/test/test_ajit.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f8a9b0aa050> 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 0x7f8a9b009710> 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 [c5fd5353c0f4400] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5353c1b0a00] {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 [c5fd5353c1c5800] jit-trace-done} [c5fd5353c1eb780] {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>) [c5fd5353c223800] jit-log-noopt} [c5fd5353c22d800] {jit-optimize [c5fd5353c2b7d00] {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 0x7f8a9af9d210>) [i0, i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5353c4ca300] jit-log-intbounds} [c5fd5353c520680] {jit-log-exported-state [i8, i9, i10] INP(i8) PureOp(i11 = int_gt(i9, 0/ci)) INP(i10 = int_add(i12, i8)) INP(i9 = int_add(i13, -1/ci)) [c5fd5353c530f80] jit-log-exported-state} [c5fd5353c536600] jit-optimize} [c5fd5353c547300] {jit-optimize [c5fd5353c5f8300] {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 0x7f8a9af9d1d0>) [i4, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5353c873580] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i8, i5, descr=TargetToken(140233282340304)) [c5fd5353c933980] jit-optimize} [c5fd5353c93a700] {jit-log-short-preamble [] label(i14, i15, i16) jump() [c5fd5353c945480] jit-log-short-preamble} [c5fd5353c95c000] {jit-backend [c5fd5353c968d00] {jit-log-compiling-loop [i8, i13, i12] label(i8, i13, i12, descr=TargetToken(140233282758992)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_add(i12, i8) i9 = int_add(i13, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0x7f8a9af9d210>) [i8, i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, i10, descr=TargetToken(140233282340304)) 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=<Guard0x7f8a9af9d1d0>) [i8, i21, i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i8, i21, i19, descr=TargetToken(140233282340304)) [c5fd5353c994c80] jit-log-compiling-loop} [c5fd5353c9a1d80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5353c9a7d00] jit-mem-looptoken-alloc} [c5fd5353c9be280] jit-backend} compiled new loop [c5fd5353c9c4600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(140233282758992)) 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=<Guard0x7f8a9af9d210>) [i0, i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i5, i3, descr=TargetToken(140233282340304)) 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=<Guard0x7f8a9af9d1d0>) [i0, i10, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i10, i8, descr=TargetToken(140233282340304)) [c5fd5353c9f7200] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5353ca93c80] jit-tracing} _____________________ TestLLtype.test_loop_invariant_mul1 ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a9acf4a00> 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 0x7f8a9ad1e3d0> 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 [c5fd535540fdc00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd535541d4b80] {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 [c5fd535541e9900] jit-trace-done} [c5fd5355420eb00] {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>) [c5fd53554249680] jit-log-noopt} [c5fd53554252a80] {jit-optimize [c5fd53554269680] {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 0x7f8a9acebed0>) [i6, i4, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53554498d80] jit-log-intbounds} [c5fd535544f0800] {jit-log-exported-state [i9, i10, i11] PureOp(i12 = int_mul(i11, i11)) INP(i10 = int_add(i13, i12)) PureOp(i14 = int_gt(i9, 0/ci)) INP(i9 = int_add(i15, -1/ci)) INP(i11) [c5fd53554502b00] jit-log-exported-state} [c5fd53554508500] jit-optimize} [c5fd53554519c00] {jit-optimize [c5fd535545cbf80] {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 0x7f8a9acebe90>) [i8, i5, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53554898600] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i5, i11, i4, descr=TargetToken(140233278972880)) [c5fd5355496f000] jit-optimize} [c5fd53554976100] {jit-log-short-preamble [] label(i16, i17, i18) i19 = int_mul(i18, i18) jump(i19) [c5fd53554983880] jit-log-short-preamble} [c5fd5355499be80] {jit-backend [c5fd535549a9780] {jit-log-compiling-loop [i15, i13, i11] label(i15, i13, i11, descr=TargetToken(140233279455056)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_mul(i11, i11) i10 = int_add(i13, i12) i9 = int_add(i15, -1) i14 = int_gt(i9, 0) guard_true(i14, descr=<Guard0x7f8a9acebed0>) [i9, i10, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, i10, i11, i12, descr=TargetToken(140233278972880)) 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=<Guard0x7f8a9acebe90>) [i24, i22, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, i22, i11, i12, descr=TargetToken(140233278972880)) [c5fd535549d7f80] jit-log-compiling-loop} [c5fd535549e6a00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd535549eca00] jit-mem-looptoken-alloc} [c5fd53554a05080] jit-backend} compiled new loop [c5fd53554a0b400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(140233279455056)) 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=<Guard0x7f8a9acebed0>) [i6, i4, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i6, i4, i2, i3, descr=TargetToken(140233278972880)) 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=<Guard0x7f8a9acebe90>) [i11, i9, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i11, i9, i2, i3, descr=TargetToken(140233278972880)) [c5fd53554a3de80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53554ad9a80] jit-tracing} ___________________ TestLLtype.test_loop_invariant_mul_ovf1 ____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a9ab92cd0> 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 0x7f8a9ac96190> 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 [c5fd5355b3d7800] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5355b4d7180] {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 [c5fd5355b4ec500] jit-trace-done} [c5fd5355b511900] {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>) [c5fd5355b555e80] jit-log-noopt} [c5fd5355b55ed80] {jit-optimize [c5fd5355b574f00] {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 0x7f8a9ab87bd0>) [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 0x7f8a9ab88e50>) [i0, i1, i2, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5355b8ada00] jit-log-intbounds} [c5fd5355b905100] {jit-log-exported-state [i12, i13, i14] INP(i12 = int_add(i15, -1/ci)) PureOp(i16 = int_gt(i12, 0/ci)) PureOp(i17 = int_mul_ovf(i14, i14)) INP(i14) INP(i13 = int_add(i18, i19)) [c5fd5355b916f80] jit-log-exported-state} [c5fd5355b91cb80] jit-optimize} [c5fd5355b92db00] {jit-optimize [c5fd5355b9de500] {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 0x7f8a9ab88e10>) [i11, i9, i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5355bdd9600] jit-log-intbounds} # i11: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i9, i14, i6, descr=TargetToken(140233277998352)) [c5fd5355bef4900] jit-optimize} [c5fd5355befba80] {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) [c5fd5355bf0f880] jit-log-short-preamble} [c5fd5355bf2c400] {jit-backend [c5fd5355bf38f00] {jit-log-compiling-loop [i15, i18, i14] label(i15, i18, i14, descr=TargetToken(140233279137360)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_lshift(i15, 1) i17 = int_mul_ovf(i14, i14) guard_no_overflow(descr=<Guard0x7f8a9ab87bd0>) [i15, i18, i14, i27] i19 = int_add(i17, i27) i13 = int_add(i18, i19) i12 = int_add(i15, -1) i16 = int_gt(i12, 0) guard_true(i16, descr=<Guard0x7f8a9ab88e50>) [i15, i18, i14, i27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, i13, i14, i17, descr=TargetToken(140233277998352)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i31 = int_lshift(i12, 1) i32 = int_add(i17, i31) i33 = int_add(i13, i32) i35 = int_add(i12, -1) i37 = int_gt(i35, 0) guard_true(i37, descr=<Guard0x7f8a9ab88e10>) [i35, i33, i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i35, i33, i14, i17, descr=TargetToken(140233277998352)) [c5fd5355bf76380] jit-log-compiling-loop} [c5fd5355bf84600] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5355bf8a780] jit-mem-looptoken-alloc} [c5fd5355bfa6300] jit-backend} compiled new loop [c5fd5355bfac680] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, i1, i2] label(i0, i1, i2, descr=TargetToken(140233279137360)) 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=<Guard0x7f8a9ab87bd0>) [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=<Guard0x7f8a9ab88e50>) [i0, i1, i2, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i9, i7, i2, i5, descr=TargetToken(140233277998352)) 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=<Guard0x7f8a9ab88e10>) [i17, i15, i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i17, i15, i2, i5, descr=TargetToken(140233277998352)) [c5fd5355bfeb280] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5355c08e000] jit-tracing} ____________ TestLLtype.test_loop_invariant_mul_bridge_maintaining3 ____________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a9abe4e60> 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 0x7f8a9ab1bbd0> 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 [c5fd5356d144980] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5356d2ab780] {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 [c5fd5356d2c0180] jit-trace-done} [c5fd5356d2f3b80] {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>) [c5fd5356d338500] jit-log-noopt} [c5fd5356d341380] {jit-optimize [c5fd5356d35ac00] {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 0x7f8a9aa77350>) [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 0x7f8a9aa77950>) [i0, i5, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5356d5ed500] jit-log-intbounds} [c5fd5356d653400] {jit-log-exported-state [i11, i12, i13, i14] INP(i13) INP(i14) INP(i11 = int_add(i15, -1/ci)) INP(i12 = int_add(i16, i17)) PureOp(i18 = int_gt(i11, 0/ci)) PureOp(i17 = int_mul(i13, i13)) [c5fd5356d666280] jit-log-exported-state} [c5fd5356d66bc80] jit-optimize} [c5fd5356d67d200] {jit-optimize [c5fd5356d755300] {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 0x7f8a9aa7cc90>) [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 0x7f8a9aa77910>) [i7, i6, i10, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5356da76b00] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, i6, i10, i8, i5, descr=TargetToken(140233276928720)) [c5fd5356db7e580] jit-optimize} [c5fd5356db85100] {jit-log-short-preamble [] label(i19, i20, i21, i22) i23 = int_mul(i21, i21) jump(i23) [c5fd5356db92a00] jit-log-short-preamble} [c5fd5356dbb1400] {jit-backend [c5fd5356dbbe700] {jit-log-compiling-loop [i15, i16, i13, i14] label(i15, i16, i13, i14, descr=TargetToken(140233278372816)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i17 = int_mul(i13, i13) i12 = int_add(i16, i17) i24 = int_lt(i15, i14) guard_false(i24, descr=<Guard0x7f8a9aa77350>) [i15, i12, i13, i14, i17] i11 = int_add(i15, -1) i18 = int_gt(i11, 0) guard_true(i18, descr=<Guard0x7f8a9aa77950>) [i15, i12, i13, i14, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i11, i12, i13, i14, i17, descr=TargetToken(140233276928720)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_add(i12, i17) i28 = int_lt(i11, i14) guard_false(i28, descr=<Guard0x7f8a9aa7cc90>) [i11, i27, i13, i14, i17] i30 = int_add(i11, -1) i32 = int_gt(i30, 0) guard_true(i32, descr=<Guard0x7f8a9aa77910>) [i11, i27, i13, i14, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i30, i27, i13, i14, i17, descr=TargetToken(140233276928720)) [c5fd5356dbfa200] jit-log-compiling-loop} [c5fd5356dc08d00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5356dc0ee00] jit-mem-looptoken-alloc} [c5fd5356dc2bf80] jit-backend} compiled new loop [c5fd5356dc32500] {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(140233278372816)) 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=<Guard0x7f8a9aa77350>) [i0, i5, i2, i3, i4] i8 = int_add(i0, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0x7f8a9aa77950>) [i0, i5, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i5, i2, i3, i4, descr=TargetToken(140233276928720)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i11 = int_add(i5, i4) i12 = int_lt(i8, i3) guard_false(i12, descr=<Guard0x7f8a9aa7cc90>) [i8, i11, i2, i3, i4] i14 = int_add(i8, -1) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0x7f8a9aa77910>) [i8, i11, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, i11, i2, i3, i4, descr=TargetToken(140233276928720)) [c5fd5356dc71280] jit-log-opt-loop} ContinueRunningNormally [c5fd5356dd88580] jit-tracing} [c5fd5356dea7f00] {jit-tracing (jitdriver: no get_printable_location) [c5fd5356dfd4780] {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 [c5fd5356dfe9580] jit-trace-done} [c5fd5356dffb280] {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>) [c5fd5356e03a080] jit-log-noopt} [c5fd5356e042500] {jit-optimize [c5fd5356e094400] {jit-log-intbounds [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a9abc7090>) [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 0x7f8a9abe30d0>) [i0, i1, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5356e321900] jit-log-intbounds} i11 = int_mul(i2, i2) # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i6, i2, i3, i11, descr=TargetToken(140233276928720)) [c5fd5356e3d5000] jit-optimize} [c5fd5356e3e3a80] {jit-backend [c5fd5356e3e9400] {jit-log-compiling-bridge [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9abc7090>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9abe30d0>) [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(140233276928720)) [c5fd5356e40a980] jit-log-compiling-bridge} [c5fd5356e419600] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd5356e420900] jit-mem-looptoken-alloc} [c5fd5356e432680] jit-backend} compiled new bridge [c5fd5356e439200] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9aa77350 with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9abc7090>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9abe30d0>) [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(140233276928720)) [c5fd5356e45ae80] jit-log-opt-bridge} [c5fd5356e45fd00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9aa77350 with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9abc7090>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9abe30d0>) [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(140233276928720)) [c5fd5356e47f900] jit-log-opt-bridge} [c5fd5356e4c1180] {jit-tracing (jitdriver: no get_printable_location) [c5fd5356e5ef900] {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 [c5fd5356e604b00] jit-trace-done} [c5fd5356e616800] {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>) [c5fd5356e655e00] jit-log-noopt} [c5fd5356e65e300] {jit-optimize [c5fd5356e6b0980] {jit-log-intbounds [i0, i1, i2, i3, i4] i5 = int_lt(i0, i3) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a9aa77290>) [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 0x7f8a9aa8d3d0>) [i0, i1, i2, i3, i4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5356e93a200] jit-log-intbounds} i11 = int_mul(i2, i2) # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i6, i2, i3, i11, descr=TargetToken(140233276928720)) [c5fd5356e9eac00] jit-optimize} [c5fd5356e9f8a80] {jit-backend [c5fd5356e9fe280] {jit-log-compiling-bridge [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9aa77290>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9aa8d3d0>) [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(140233276928720)) [c5fd5356ea1ee00] jit-log-compiling-bridge} [c5fd5356ea2cb00] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 1 [c5fd5356ea33c00] jit-mem-looptoken-alloc} [c5fd5356ea45100] jit-backend} compiled new bridge [c5fd5356ea4bb00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9aa7cc90 with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9aa77290>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9aa8d3d0>) [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(140233276928720)) [c5fd5356eb19800] jit-log-opt-bridge} [c5fd5356eb22080] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9aa7cc90 with 9 ops [i11, i12, i13, i14, i15] i16 = int_lt(i11, i14) guard_true(i16, descr=<Guard0x7f8a9aa77290>) [i11, i12, i13, i14, i15] i17 = int_add(i12, i15) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a9aa8d3d0>) [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(140233276928720)) [c5fd5356eb46480] jit-log-opt-bridge} DoneWithThisFrameInt [c5fd5356ec48780] jit-tracing} DoneWithThisFrameInt [c5fd5356ec50880] jit-tracing} ____________________ TestLLtype.test_loop_invariant_intbox _____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a9aa518c0> 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 0x7f8a9a6f1610> 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 [c5fd53590286b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53590371700] {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 [c5fd53590386a80] jit-trace-done} [c5fd535903ac280] {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>) [c5fd535903ed180] jit-log-noopt} [c5fd535903f6400] {jit-optimize [c5fd5359040cf00] {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 0x7f8a9a6cc4d0>) [i7, i5, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53590679b00] jit-log-intbounds} [c5fd535906cdb00] {jit-log-exported-state [i10, i11, r12] HeapOp(i13 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')), i14 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))) PureOp(i15 = int_mul(i13, i13)) INP(i11 = int_add(i16, i15)) PureOp(i17 = int_gt(i10, 0/ci)) INP(r12) INP(i10 = int_add(i18, -1/ci)) [c5fd535906e3600] jit-log-exported-state} [c5fd535906e9280] jit-optimize} [c5fd535906fa380] {jit-optimize [c5fd5359078b980] {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 0x7f8a9a6cc490>) [i8, i5, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53590a9c480] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, i5, p11, i4, descr=TargetToken(140233273068944)) [c5fd53590b80680] jit-optimize} [c5fd53590b87200] {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) [c5fd53590b9fb00] jit-log-short-preamble} [c5fd53590bb9100] {jit-backend [c5fd53590bc6000] {jit-log-compiling-loop [i18, i16, p12] label(i18, i16, p12, descr=TargetToken(140233273257552)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i13 = getfield_gc_i(p12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')) i15 = int_mul(i13, i13) i11 = int_add(i16, i15) i10 = int_add(i18, -1) i17 = int_gt(i10, 0) guard_true(i17, descr=<Guard0x7f8a9a6cc4d0>) [i10, i11, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, p12, i15, descr=TargetToken(140233273068944)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i27 = int_add(i11, i15) i29 = int_add(i10, -1) i31 = int_gt(i29, 0) guard_true(i31, descr=<Guard0x7f8a9a6cc490>) [i29, i27, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i29, i27, p12, i15, descr=TargetToken(140233273068944)) [c5fd53590bf8880] jit-log-compiling-loop} [c5fd53590c06380] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53590c0c500] jit-mem-looptoken-alloc} [c5fd53590c25380] jit-backend} compiled new loop [c5fd53590c2b900] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(140233273257552)) 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=<Guard0x7f8a9a6cc4d0>) [i7, i5, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, i5, p2, i4, descr=TargetToken(140233273068944)) 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=<Guard0x7f8a9a6cc490>) [i12, i10, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, i10, p2, i4, descr=TargetToken(140233273068944)) [c5fd53590c63180] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53590d08480] jit-tracing} ___________________ TestLLtype.test_constfold_call_elidable ____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a99c888c0> 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 0x7f8a99c10050> 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 [c5fd535bd5ba180] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd535bd66bf80] {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 [c5fd535bd681100] jit-trace-done} [c5fd535bd6a1480] {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>) [c5fd535bd6cf100] jit-log-noopt} [c5fd535bd6d7e00] {jit-optimize [c5fd535bd6e7c00] {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 0x7f8a99c46f90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535bd898000] jit-log-intbounds} [c5fd535bd8ce300] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -2/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd535bd8dae00] jit-log-exported-state} [c5fd535bd8e0400] jit-optimize} [c5fd535bd8f1380] {jit-optimize [c5fd535bd963a00] {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 0x7f8a99b69ed0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535bdba6900] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233261115472)) [c5fd535bdc27200] jit-optimize} [c5fd535bdc2df80] {jit-log-short-preamble [] label(i8) jump() [c5fd535bdc38500] jit-log-short-preamble} [c5fd535bdc4cb80] {jit-backend [c5fd535bdc5b400] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(140233261096784)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -2) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0x7f8a99c46f90>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(140233261115472)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -2) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0x7f8a99b69ed0>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(140233261115472)) [c5fd535bdc81780] jit-log-compiling-loop} [c5fd535bdc90780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd535bdc96700] jit-mem-looptoken-alloc} [c5fd535bdcab180] jit-backend} compiled new loop [c5fd535bdcb1700] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233261096784)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a99c46f90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233261115472)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -2) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a99b69ed0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233261115472)) [c5fd535bdcdc600] jit-log-opt-loop} DoneWithThisFrameInt [c5fd535bdd8a980] jit-tracing} __________________ TestLLtype.test_constfold_call_elidable_2 ___________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a99d9b9b0> 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 0x7f8a9a5fbcd0> 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 [c5fd535c646c400] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd535c6574100] {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 [c5fd535c6589280] jit-trace-done} [c5fd535c65a9880] {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>) [c5fd535c65df380] jit-log-noopt} [c5fd535c65e8280] {jit-optimize [c5fd535c65f7c00] {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 0x7f8a9a079bd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535c67b0c80] jit-log-intbounds} [c5fd535c67e6a00] {jit-log-exported-state [i7] PureOp(i8 = int_gt(i7, 0/ci)) INP(i7 = int_add(i9, -2/ci)) [c5fd535c67f3700] jit-log-exported-state} [c5fd535c67f8b80] jit-optimize} [c5fd535c6809300] {jit-optimize [c5fd535c6864c00] {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 0x7f8a99abfad0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535c6aadb00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233260420560)) [c5fd535c6b2a980] jit-optimize} [c5fd535c6b31880] {jit-log-short-preamble [] label(i10) jump() [c5fd535c6b3be80] jit-log-short-preamble} [c5fd535c6b50500] {jit-backend [c5fd535c6b5e380] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(140233251496656)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i9, -2) i8 = int_gt(i7, 0) guard_true(i8, descr=<Guard0x7f8a9a079bd0>) [i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, descr=TargetToken(140233260420560)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i14 = int_add(i7, -2) i16 = int_gt(i14, 0) guard_true(i16, descr=<Guard0x7f8a99abfad0>) [i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, descr=TargetToken(140233260420560)) [c5fd535c6b84080] jit-log-compiling-loop} [c5fd535c6b91980] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd535c6b97b00] jit-mem-looptoken-alloc} [c5fd535c6bac700] jit-backend} compiled new loop [c5fd535c6bb2f00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233251496656)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -2) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a9a079bd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233260420560)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -2) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a99abfad0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233260420560)) [c5fd535c6bde280] jit-log-opt-loop} DoneWithThisFrameInt [c5fd535c6c85d80] jit-tracing} _______________________ TestLLtype.test_elidable_raising _______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a990f6cd0> 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 0x7f8a992a5c90> 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 [c5fd535cf1e3b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd535cf29e580] {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 [c5fd535cf2b3580] jit-trace-done} [c5fd535cf2d3d80] {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>) [c5fd535cf300d80] jit-log-noopt} [c5fd535cf309a80] {jit-optimize [c5fd535cf319600] {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 0x7f8a9911ccd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535cf4c6d80] jit-log-intbounds} [c5fd535cf4fc300] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -5/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd535cf508e00] jit-log-exported-state} [c5fd535cf50e200] jit-optimize} [c5fd535cf51ef80] {jit-optimize [c5fd535d1aa8b80] {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 0x7f8a9912c810>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535d1ce9200] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233250256464)) [c5fd535d1d67180] jit-optimize} [c5fd535d1d6e100] {jit-log-short-preamble [] label(i8) jump() [c5fd535d1d78380] jit-log-short-preamble} [c5fd535d1d8c980] {jit-backend [c5fd535d1d9ac00] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(140233249615376)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -5) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0x7f8a9911ccd0>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(140233250256464)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -5) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0x7f8a9912c810>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(140233250256464)) [c5fd535d1dc0580] jit-log-compiling-loop} [c5fd535d1dd0580] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd535d1dd6700] jit-mem-looptoken-alloc} [c5fd535d1dea700] jit-backend} compiled new loop [c5fd535d1df0900] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233249615376)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a9911ccd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233250256464)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -5) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a9912c810>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233250256464)) [c5fd535d1e1b680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd535d1e8a600] jit-tracing} ______________________ TestLLtype.test_elidable_raising_2 ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a9a4ed6e0> 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 0x7f8a98f43310> 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 [c5fd535d7ef8880] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd535d7fe5b00] {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 [c5fd535d7ffa580] jit-trace-done} [c5fd535d801a500] {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 0x7f8a99094890: 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>) [c5fd535d8054700] jit-log-noopt} [c5fd535d805d180] {jit-optimize [c5fd535d806c980] {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 0x7f8a99a3bad0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535d8228b00] jit-log-intbounds} [c5fd535d825e080] {jit-log-exported-state [i8] INP(i8 = int_add(i9, -5/ci)) PureOp(i10 = int_gt(i8, 0/ci)) [c5fd535d826a800] jit-log-exported-state} [c5fd535d826fa00] jit-optimize} [c5fd535d827fd80] {jit-optimize [c5fd535d82db880] {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 0x7f8a99a41710>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd535d8533400] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233259856528)) [c5fd535d85aee80] jit-optimize} [c5fd535d85b5a00] {jit-log-short-preamble [] label(i11) jump() [c5fd535d85bfc00] jit-log-short-preamble} [c5fd535d85d3c80] {jit-backend [c5fd535d85e1780] {jit-log-compiling-loop [i9] label(i9, descr=TargetToken(140233248397776)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i9, -5) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0x7f8a99a3bad0>) [i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, descr=TargetToken(140233259856528)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i15 = int_add(i8, -5) i17 = int_gt(i15, 0) guard_true(i17, descr=<Guard0x7f8a99a41710>) [i15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i15, descr=TargetToken(140233259856528)) [c5fd535d8606b00] jit-log-compiling-loop} [c5fd535d8614000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd535d8619f80] jit-mem-looptoken-alloc} [c5fd535d862da00] jit-backend} compiled new loop [c5fd535d8633c00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233248397776)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -5) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a99a3bad0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233259856528)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -5) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a99a41710>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233259856528)) [c5fd535d865e500] jit-log-opt-loop} DoneWithThisFrameInt [c5fd535d86cc500] jit-tracing} ________________ TestLLtype.test_multiple_specialied_versions1 _________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a94badd70> 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 0x7f8a94b385d0> 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 0x7f8a94b38590>, <* 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 0x7f8a94b38590>, <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 0x7f8a94b38590>, <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 0x7f8a94afca50: 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 [c5fd53786634a00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd537867acb80] {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 [c5fd537867c1d00] jit-trace-done} [c5fd537867e6b00] {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>) [c5fd53786835b00] jit-log-noopt} [c5fd5378683fd00] {jit-optimize [c5fd53786856c00] {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 0x7f8a94b1e350>) [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 0x7f8a94c481d0>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53786ac7200] jit-log-intbounds} [c5fd53786b29280] {jit-log-exported-state [i12, r13, r14] PureOp(i15 = int_gt(i12, 0/ci)) INP(r13) INP(i12 = int_add(i16, -1/ci)) INP(i17 = int_add(i18, i19)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))) HeapOp(i19 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i20 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) [c5fd53786b3f800] jit-log-exported-state} [c5fd53786b45980] jit-optimize} [c5fd53786b57f00] {jit-optimize [c5fd53786be8d00] {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 0x7f8a94b224d0>) [i8, p11, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53786ed7300] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i5, i4, descr=TargetToken(140233180021392)) [c5fd53786fd9980] jit-optimize} [c5fd53786fe1480] {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) [c5fd53786ff9180] jit-log-short-preamble} [c5fd53787016080] {jit-backend [c5fd53787023d00] {jit-log-compiling-loop [i16, p13, p27] label(i16, p13, p27, descr=TargetToken(140233177044112)) 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=<Guard0x7f8a94b1e350>) [i16, p13, p27] i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i19 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i17 = int_add(i18, i19) i12 = int_add(i16, -1) i15 = int_gt(i12, 0) guard_true(i15, descr=<Guard0x7f8a94c481d0>) [i16, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i19, descr=TargetToken(140233180021392)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i31 = int_add(i17, i19) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8a94b224d0>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i19, descr=TargetToken(140233180021392)) [c5fd5378705b200] jit-log-compiling-loop} [c5fd5378706b180] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53787071380] jit-mem-looptoken-alloc} [c5fd5378708d480] jit-backend} compiled new loop [c5fd53787093c00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 18 ops [i0, p1, p2] label(i0, p1, p2, descr=TargetToken(140233177044112)) 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=<Guard0x7f8a94b1e350>) [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=<Guard0x7f8a94c481d0>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, p1, i6, i5, descr=TargetToken(140233180021392)) 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=<Guard0x7f8a94b224d0>) [i13, p1, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i13, p1, i11, i5, descr=TargetToken(140233180021392)) [c5fd537870cfb80] jit-log-opt-loop} DoneWithThisFrameRef [c5fd537871c1a80] jit-tracing} [c5fd5378729be80] {jit-tracing [c5fd53787383b80] {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 [c5fd53787399d00] jit-trace-done} [c5fd537873ac000] {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 0x7f8a94af1690>) [c5fd537873dec80] jit-log-noopt} [c5fd537873e7580] {jit-optimize [c5fd53787430700] {jit-log-intbounds [i0, p1, i2] i4 = int_gt(i0, 0) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a94ab9090>) [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 0x7f8a94af1690>) [c5fd537875a8100] jit-log-intbounds} [c5fd537875ad900] jit-optimize} [c5fd537875b9400] {jit-backend [c5fd537875bfc00] {jit-log-compiling-bridge [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ab9090>) [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 0x7f8a94af1690>) [c5fd537875d6b00] jit-log-compiling-bridge} [c5fd537875e4200] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd537875eb180] jit-mem-looptoken-alloc} [c5fd537875fa380] jit-backend} compiled new bridge [c5fd53787600900] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94b224d0 with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ab9090>) [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 0x7f8a94af1690>) [c5fd53787618980] jit-log-opt-bridge} [c5fd5378761d980] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94b224d0 with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ab9090>) [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 0x7f8a94af1690>) [c5fd53787634900] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5378763db80] jit-tracing} [c5fd5378788d600] {jit-tracing (jitdriver: no get_printable_location) [c5fd53787a34400] {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 [c5fd53787a4a380] jit-trace-done} [c5fd53787a5d200] {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>) [c5fd53787aa8f00] jit-log-noopt} [c5fd53787ab2900] {jit-optimize [c5fd53787aff580] {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 0x7f8a94ab96d0>) [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 0x7f8a94b0eb50>) [i0, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53787d33380] jit-log-intbounds} Retracing (1/5) [c5fd53787dd7e00] {jit-log-exported-state [i12, r13, r14] 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)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) INP(r13) [c5fd53787dedf80] jit-log-exported-state} [c5fd53787df3f80] jit-optimize} (jitdriver: no get_printable_location) [c5fd53787f1ee00] {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 [c5fd53787f33680] jit-trace-done} [c5fd53787f5de80] {jit-optimize [c5fd53787fef480] {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 0x7f8a94cc4110>) [i8, p11, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537882a7700] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i5, i4, descr=TargetToken(140233176563536)) [c5fd537883c1d00] jit-optimize} [c5fd537883c6f00] {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) [c5fd537883dd000] jit-log-short-preamble} [c5fd537883ed400] {jit-backend [c5fd537883f2a00] {jit-log-compiling-bridge [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0x7f8a94ab96d0>) [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=<Guard0x7f8a94b0eb50>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(140233176563536)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8a94cc4110>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(140233176563536)) [c5fd53788422180] jit-log-compiling-bridge} [c5fd53788430200] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 1 [c5fd53788437180] jit-mem-looptoken-alloc} [c5fd5378844f480] jit-backend} compiled new bridge [c5fd53788455d80] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94b1e350 with 15 ops [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0x7f8a94ab96d0>) [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=<Guard0x7f8a94b0eb50>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(140233176563536)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8a94cc4110>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(140233176563536)) [c5fd53788486f00] jit-log-opt-bridge} [c5fd5378848bd00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94b1e350 with 15 ops [i19, p13, p27] guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0x7f8a94ab96d0>) [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=<Guard0x7f8a94b0eb50>) [i19, p13, p27] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, p13, i17, i15, descr=TargetToken(140233176563536)) i31 = int_mul(i17, i15) i33 = int_add(i12, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8a94cc4110>) [i33, p13, i31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, p13, i31, i15, descr=TargetToken(140233176563536)) [c5fd537884ba180] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd5378859d200] jit-tracing} [c5fd5378866e800] {jit-tracing [c5fd5378874c500] {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 [c5fd53788761480] jit-trace-done} [c5fd53788772c00] {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 0x7f8a94af1690>) [c5fd537887a1000] jit-log-noopt} [c5fd537887a9f00] {jit-optimize [c5fd537887f0f80] {jit-log-intbounds [i0, p1, i2] i4 = int_gt(i0, 0) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a94ad0910>) [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 0x7f8a94af1690>) [c5fd53788947600] jit-log-intbounds} [c5fd5378894c800] jit-optimize} [c5fd53788958380] {jit-backend [c5fd5378895db00] {jit-log-compiling-bridge [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ad0910>) [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 0x7f8a94af1690>) [c5fd53788974480] jit-log-compiling-bridge} [c5fd53788981f80] {jit-mem-looptoken-alloc allocating Bridge # 3 of Loop # 1 [c5fd53788989080] jit-mem-looptoken-alloc} [c5fd53788997500] jit-backend} compiled new bridge [c5fd5378899da80] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94cc4110 with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ad0910>) [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 0x7f8a94af1690>) [c5fd537889b5780] jit-log-opt-bridge} [c5fd537889ba400] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94cc4110 with 6 ops [i7, p8, i9] i11 = int_gt(i7, 0) guard_false(i11, descr=<Guard0x7f8a94ad0910>) [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 0x7f8a94af1690>) [c5fd537889d1300] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd537889da180] jit-tracing} __________________ TestLLtype.test_multiple_specialied_zigzag __________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a946d4550> 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 0x7f8a94699d10> 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: EF=5>)] -> * GCREF hidden bh: live [57] -> 59 bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 0x7f8a94699ed0>, <* 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 0x7f8a94699ed0>, <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 0x7f8a94699ed0>, <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 0x7f8a945eb710: 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 [c5fd537c4678c00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd537c48ca200] {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 [c5fd537c48df400] jit-trace-done} [c5fd537c4904800] {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 0x7f8a9a4e5050: 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>) [c5fd537c4968b00] jit-log-noopt} [c5fd537c4971c00] {jit-optimize [c5fd537c4988d00] {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 0x7f8a94693bd0>) [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 0x7f8a94598d90>) [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 0x7f8a94598b90>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c4dd1200] jit-log-intbounds} [c5fd537c4e34b80] {jit-log-exported-state [i17, r18, r19] PureOp(i20 = int_gt(i17, 0/ci)) HeapOp(i21 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i22 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(r18) INP(r19 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) INP(i23 = int_mul(i24, i21)) INP(i17 = int_add(i25, -1/ci)) [c5fd537c4e4cc80] jit-log-exported-state} [c5fd537c4e53200] jit-optimize} [c5fd537c4e64900] {jit-optimize [c5fd537c4ef6980] {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 0x7f8a94645290>) [i3, i5, p7, i8] [c5fd537c5194b80] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)) was proven to always fail [c5fd537c519b380] jit-abort} [c5fd537c519f780] jit-log-intbounds} [c5fd537c51a4200] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd537c534b580] {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 [c5fd537c5360900] jit-trace-done} [c5fd537c5385d00] {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 0x7f8a9a4e5050: 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>) [c5fd537c53dd580] jit-log-noopt} [c5fd537c53e6200] {jit-optimize [c5fd537c53fcf00] {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 0x7f8a9463c3d0>) [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 0x7f8a9459c210>) [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 0x7f8a94693190>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c57bbd00] jit-log-intbounds} [c5fd537c581c400] {jit-log-exported-state [i42, r43, r44] INP(i45 = int_mul(i46, i47)) PureOp(i48 = int_gt(i42, 0/ci)) INP(i42 = int_add(i49, -1/ci)) INP(r43) INP(r44 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))) HeapOp(i47 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i50 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) [c5fd537c5836800] jit-log-exported-state} [c5fd537c583cf80] jit-optimize} [c5fd537c584e700] {jit-optimize [c5fd537c58df900] {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 0x7f8a945a6d50>) [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 0x7f8a94598c10>) [i3, i5, p7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c5d26700] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, p7, i10, i9, descr=TargetToken(140233171137424)) [c5fd537c5e1c280] jit-optimize} [c5fd537c5e23780] {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) [c5fd537c5e3b880] jit-log-short-preamble} [c5fd537c5e5aa00] {jit-backend [c5fd537c5e67980] {jit-log-compiling-loop [i49, p43, p57] label(i49, p43, p57, descr=TargetToken(140233171108112)) i59 = int_and(i49, 3) i60 = int_is_zero(i59) guard_false(i60, descr=<Guard0x7f8a9463c3d0>) [i49, i59, p43, p57] guard_class(p57, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0x7f8a9459c210>) [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) i48 = int_gt(i42, 0) guard_true(i48, descr=<Guard0x7f8a94693190>) [i49, i59, p43, p57] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i42, p43, i45, i47, descr=TargetToken(140233171137424)) i65 = int_and(i42, 3) i66 = int_is_zero(i65) guard_false(i66, descr=<Guard0x7f8a945a6d50>) [i42, i65, p43, i45] i67 = int_mul(i45, i47) i69 = int_add(i42, -1) i71 = int_gt(i69, 0) guard_true(i71, descr=<Guard0x7f8a94598c10>) [i42, i65, p43, i45] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i69, p43, i67, i47, descr=TargetToken(140233171137424)) [c5fd537c5eace80] jit-log-compiling-loop} [c5fd537c5ebb700] {jit-mem-looptoken-alloc allocating Loop # 2 [c5fd537c5ec1880] jit-mem-looptoken-alloc} [c5fd537c5ee2280] jit-backend} compiled new loop [c5fd537c5ee8600] {jit-log-opt-loop # Loop 2 ((jitdriver: no get_printable_location)) : loop with 22 ops [i0, p1, p2] label(i0, p1, p2, descr=TargetToken(140233171108112)) i4 = int_and(i0, 3) i5 = int_is_zero(i4) guard_false(i5, descr=<Guard0x7f8a9463c3d0>) [i0, i4, p1, p2] guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0x7f8a9459c210>) [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=<Guard0x7f8a94693190>) [i0, i4, p1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i11, p1, i9, i8, descr=TargetToken(140233171137424)) i15 = int_and(i11, 3) i16 = int_is_zero(i15) guard_false(i16, descr=<Guard0x7f8a945a6d50>) [i11, i15, p1, i9] i17 = int_mul(i9, i8) i19 = int_add(i11, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8a94598c10>) [i11, i15, p1, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, p1, i17, i8, descr=TargetToken(140233171137424)) [c5fd537c5f33f00] jit-log-opt-loop} ContinueRunningNormally [c5fd537c6142c80] jit-tracing} [c5fd537c6607800] {jit-tracing (jitdriver: no get_printable_location) [c5fd537c6868000] {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 [c5fd537c687da00] jit-trace-done} [c5fd537c688ff00] {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>) [c5fd537c68e7500] jit-log-noopt} [c5fd537c68f0000] {jit-optimize [c5fd537c693f700] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a946a5450>) [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 0x7f8a946456d0>) [i0, i1, p2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c6be4980] jit-log-intbounds} Retracing (1/5) [c5fd537c6c86780] {jit-log-exported-state [i14, r15, r16] HeapOp(i17 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i18 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))) INP(r16 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))) INP(i14 = int_add(i19, -1/ci)) PureOp(i20 = int_gt(i14, 0/ci)) INP(i21 = int_add(i22, i17)) INP(r15) [c5fd537c6c9cc80] jit-log-exported-state} [c5fd537c6ca2a80] jit-optimize} (jitdriver: no get_printable_location) [c5fd537c6e33a80] {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 [c5fd537c6e48480] jit-trace-done} [c5fd537c6e73000] {jit-optimize [c5fd537c6f04a80] {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 0x7f8a94546110>) [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 0x7f8a94531090>) [i3, i5, p7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c7363100] jit-log-intbounds} # i12: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i12, p7, i10, i9, descr=TargetToken(140233171140496)) [c5fd537c7467680] jit-optimize} [c5fd537c746c880] {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) [c5fd537c7484180] jit-log-short-preamble} [c5fd537c7496300] {jit-backend [c5fd537c749b880] {jit-log-compiling-bridge [i19, i29, p15, i22] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0x7f8a946a5450>) [i19, i29, p15, i22] i17 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = int_add(i22, i17) i14 = int_add(i19, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0x7f8a946456d0>) [i19, i29, p15, i22] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i21, i17, descr=TargetToken(140233171140496)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0x7f8a94546110>) [i14, i34, p15, i21] i36 = int_add(i21, i17) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0x7f8a94531090>) [i14, i34, p15, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i17, descr=TargetToken(140233171140496)) [c5fd537c74d1800] jit-log-compiling-bridge} [c5fd537c74dfc80] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 2 [c5fd537c74e6d80] jit-mem-looptoken-alloc} [c5fd537c7502900] jit-backend} compiled new bridge [c5fd537c7509880] {jit-log-opt-bridge # bridge out of Guard 0x7f8a945a6d50 with 18 ops [i19, i29, p15, i22] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0x7f8a946a5450>) [i19, i29, p15, i22] i17 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = int_add(i22, i17) i14 = int_add(i19, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0x7f8a946456d0>) [i19, i29, p15, i22] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i21, i17, descr=TargetToken(140233171140496)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0x7f8a94546110>) [i14, i34, p15, i21] i36 = int_add(i21, i17) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0x7f8a94531090>) [i14, i34, p15, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i17, descr=TargetToken(140233171140496)) [c5fd537c753fc00] jit-log-opt-bridge} [c5fd537c7544980] {jit-log-opt-bridge # bridge out of Guard 0x7f8a945a6d50 with 18 ops [i19, i29, p15, i22] i30 = int_is_zero(i29) guard_true(i30, descr=<Guard0x7f8a946a5450>) [i19, i29, p15, i22] i17 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')) i21 = int_add(i22, i17) i14 = int_add(i19, -1) i20 = int_gt(i14, 0) guard_true(i20, descr=<Guard0x7f8a946456d0>) [i19, i29, p15, i22] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, i21, i17, descr=TargetToken(140233171140496)) i34 = int_and(i14, 3) i35 = int_is_zero(i34) guard_false(i35, descr=<Guard0x7f8a94546110>) [i14, i34, p15, i21] i36 = int_add(i21, i17) i38 = int_add(i14, -1) i40 = int_gt(i38, 0) guard_true(i40, descr=<Guard0x7f8a94531090>) [i14, i34, p15, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i38, p15, i36, i17, descr=TargetToken(140233171140496)) [c5fd537c7579380] jit-log-opt-bridge} [c5fd537c75b8f00] {jit-tracing (jitdriver: no get_printable_location) [c5fd537c777e100] {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 [c5fd537c7793900] jit-trace-done} [c5fd537c77a5780] {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>) [c5fd537c780e800] jit-log-noopt} [c5fd537c7817000] {jit-optimize [c5fd537c7865800] {jit-log-intbounds [i0, i1, p2, p3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a9459f410>) [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 0x7f8a9459f950>) [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 0x7f8a94531d90>) [i0, i1, p2, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c7afa800] jit-log-intbounds} # i10: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i10, p2, i8, i7, descr=TargetToken(140233171140496)) [c5fd537c7bb5500] jit-optimize} [c5fd537c7bc5a80] {jit-backend [c5fd537c7bcb480] {jit-log-compiling-bridge [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9459f410>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0x7f8a9459f950>) [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=<Guard0x7f8a94531d90>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(140233171140496)) [c5fd537c7bf4e80] jit-log-compiling-bridge} [c5fd537c7c02900] {jit-mem-looptoken-alloc allocating Bridge # 2 of Loop # 2 [c5fd537c7c09a80] jit-mem-looptoken-alloc} [c5fd537c7c1ea00] jit-backend} compiled new bridge [c5fd537c7c25400] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9459c210 with 11 ops [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9459f410>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0x7f8a9459f950>) [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=<Guard0x7f8a94531d90>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(140233171140496)) [c5fd537c7c4fd80] jit-log-opt-bridge} [c5fd537c7c54b80] {jit-log-opt-bridge # bridge out of Guard 0x7f8a9459c210 with 11 ops [i14, i15, p16, p17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9459f410>) [i14, i15, p16, p17] guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0x7f8a9459f950>) [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=<Guard0x7f8a94531d90>) [i14, i15, p16, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i24, p16, i22, i21, descr=TargetToken(140233171140496)) [c5fd537c7c7c400] jit-log-opt-bridge} ContinueRunningNormally [c5fd537c7e74c80] jit-tracing} ContinueRunningNormally [c5fd537c7e7d700] jit-tracing} [c5fd537c812ee80] {jit-tracing (jitdriver: no get_printable_location) [c5fd537c8378380] {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 [c5fd537c838d380] jit-trace-done} [c5fd537c839f480] {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>) [c5fd537c83f5580] jit-log-noopt} [c5fd537c83fe000] {jit-optimize [c5fd537c844dd80] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a94598a90>) [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 0x7f8a9454a510>) [i0, i1, p2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd537c86d5100] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p2, i6, i5, descr=TargetToken(140233171137424)) [c5fd537c878d480] jit-optimize} [c5fd537c879b880] {jit-backend [c5fd537c87a1280] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0x7f8a94598a90>) [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=<Guard0x7f8a9454a510>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(140233171137424)) [c5fd537c87c1a00] jit-log-compiling-bridge} [c5fd537c87d0700] {jit-mem-looptoken-alloc allocating Bridge # 3 of Loop # 2 [c5fd537c87d7800] jit-mem-looptoken-alloc} [c5fd537c87e9900] jit-backend} compiled new bridge [c5fd537c87f0400] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94546110 with 9 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0x7f8a94598a90>) [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=<Guard0x7f8a9454a510>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(140233171137424)) [c5fd537c8811200] jit-log-opt-bridge} [c5fd537c8815e00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94546110 with 9 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_true(i18, descr=<Guard0x7f8a94598a90>) [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=<Guard0x7f8a9454a510>) [i14, i15, p16, i17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i22, p16, i20, i19, descr=TargetToken(140233171137424)) [c5fd537c8835d80] jit-log-opt-bridge} [c5fd537c892c100] {jit-tracing [c5fd537c8ae2100] {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 [c5fd537c8af7a80] jit-trace-done} [c5fd537c8b0b900] {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 0x7f8a945dded0>) [c5fd537c8b55680] jit-log-noopt} [c5fd537c8b5db80] {jit-optimize [c5fd537c8bc9f80] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a9463c1d0>) [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 0x7f8a9459f850>) [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 0x7f8a945dded0>) [c5fd537c8e6bf00] jit-log-intbounds} [c5fd537c8e71300] jit-optimize} [c5fd537c8e7f580] {jit-backend [c5fd537c8e84b80] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9463c1d0>) [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=<Guard0x7f8a9459f850>) [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 0x7f8a945dded0>) [c5fd537c8ea9980] jit-log-compiling-bridge} [c5fd537c8eb6e00] {jit-mem-looptoken-alloc allocating Bridge # 4 of Loop # 2 [c5fd537c8ebdf80] jit-mem-looptoken-alloc} [c5fd537c8ed3300] jit-backend} compiled new bridge [c5fd537c8eda080] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94598c10 with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9463c1d0>) [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=<Guard0x7f8a9459f850>) [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 0x7f8a945dded0>) [c5fd537c8efe100] jit-log-opt-bridge} [c5fd537c8f02f00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94598c10 with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a9463c1d0>) [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=<Guard0x7f8a9459f850>) [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 0x7f8a945dded0>) [c5fd537c8f25d80] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd537c8f2f600] jit-tracing} DoneWithThisFrameRef [c5fd537c8f36b80] jit-tracing} [c5fd537c9320480] {jit-tracing [c5fd537c94d7f80] {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 [c5fd537c94edf80] jit-trace-done} [c5fd537c94ffe00] {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 0x7f8a945dded0>) [c5fd537c9548c00] jit-log-noopt} [c5fd537c9551700] {jit-optimize [c5fd537c959f500] {jit-log-intbounds [i0, i1, p2, i3] i4 = int_is_zero(i1) guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f8a944ec1d0>) [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 0x7f8a94546510>) [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 0x7f8a945dded0>) [c5fd537c985e700] jit-log-intbounds} [c5fd537c9863d00] jit-optimize} [c5fd537c9871b80] {jit-backend [c5fd537c9877380] {jit-log-compiling-bridge [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a944ec1d0>) [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=<Guard0x7f8a94546510>) [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 0x7f8a945dded0>) [c5fd537c989bb80] jit-log-compiling-bridge} [c5fd537c98a9680] {jit-mem-looptoken-alloc allocating Bridge # 5 of Loop # 2 [c5fd537c98b0780] jit-mem-looptoken-alloc} [c5fd537c98c5200] jit-backend} compiled new bridge [c5fd537c98cbd00] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94531090 with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a944ec1d0>) [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=<Guard0x7f8a94546510>) [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 0x7f8a945dded0>) [c5fd537c98efb80] jit-log-opt-bridge} [c5fd537c98f4780] {jit-log-opt-bridge # bridge out of Guard 0x7f8a94531090 with 11 ops [i14, i15, p16, i17] i18 = int_is_zero(i15) guard_false(i18, descr=<Guard0x7f8a944ec1d0>) [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=<Guard0x7f8a94546510>) [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 0x7f8a945dded0>) [c5fd537c9917200] jit-log-opt-bridge} DoneWithThisFrameRef [c5fd537c9920c80] jit-tracing} ____________________ TestLLtype.test_reuse_elidable_result _____________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a8f154730> 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 0x7f8a8f14b9d0> 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 0x7f8a8f0ca810>, <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 0x7f8a8f0ca810>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0x7f8a9ae47190: EF=3>)] -> * GCREF hidden bh: live [45] -> 47 bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f8a8f0ca810>, <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 [c5fd53a338ff780] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53a33c05080] {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 [c5fd53a33c1a280] jit-trace-done} [c5fd53a33c3b980] {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 0x7f8a9ae47190: 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 0x7f8a9ae47190: 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>) [c5fd53a33c8c480] jit-log-noopt} [c5fd53a33c95500] {jit-optimize [c5fd53a33ca9f00] {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 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a8f07ed50>) [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 0x7f8a8f14bf50>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53a33fbac00] jit-log-intbounds} [c5fd53a34004900] {jit-log-exported-state [i14, i15] INP(i14 = int_add(i16, -1/ci)) PureOp(i17 = int_gt(i14, 0/ci)) INP(i15 = int_add(i18, i19)) [c5fd53a34013180] jit-log-exported-state} [c5fd53a34018d80] jit-optimize} [c5fd53a3402a680] {jit-optimize [c5fd53a340afd80] {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 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f8a8f07ed10>) [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 0x7f8a8f08b990>) [i2, i5, p4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53a3443f380] jit-log-intbounds} # i10: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i10, i8, descr=TargetToken(140233081950992)) [c5fd53a344dfe00] jit-optimize} [c5fd53a344e6b00] {jit-log-short-preamble [] label(i20, i21) jump() [c5fd53a344f1900] jit-log-short-preamble} [c5fd53a3450ef80] {jit-backend [c5fd53a3451bf00] {jit-log-compiling-loop [i16, i18] label(i16, i18, descr=TargetToken(140233082712848)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p23 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i16, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<Guard0x7f8a8f07ed50>) [i16, i18, p23] i24 = strlen(p23) i19 = int_add(i24, i24) i15 = int_add(i18, i19) i14 = int_add(i16, -1) i17 = int_gt(i14, 0) guard_true(i17, descr=<Guard0x7f8a8f14bf50>) [i16, i18, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, i15, descr=TargetToken(140233081950992)) 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 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<Guard0x7f8a8f07ed10>) [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=<Guard0x7f8a8f08b990>) [i14, i15, p28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i33, i31, descr=TargetToken(140233081950992)) [c5fd53a34560e00] jit-log-compiling-loop} [c5fd53a3456fc80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53a34575c80] jit-mem-looptoken-alloc} [c5fd53a34595600] jit-backend} compiled new loop [c5fd53a3459bb80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 23 ops [i0, i1] label(i0, i1, descr=TargetToken(140233082712848)) 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 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<Guard0x7f8a8f07ed50>) [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=<Guard0x7f8a8f14bf50>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i6, descr=TargetToken(140233081950992)) 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 0x7f8a9ae47190: EF=3>)) guard_no_exception(descr=<Guard0x7f8a8f07ed10>) [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=<Guard0x7f8a8f08b990>) [i8, i6, p12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i17, i15, descr=TargetToken(140233081950992)) [c5fd53a345e2680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53a34d83900] jit-tracing} __________________ TestLLtype.test_virtual_dict_constant_keys __________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a8e391d70> 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 0x7f8a8e2a2fd0> 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 / 832 blocks (12%) [rtyper] specializing: 200 / 839 blocks (23%) [rtyper] specializing: 300 / 839 blocks (35%) [rtyper] specializing: 400 / 841 blocks (47%) [rtyper] specializing: 500 / 841 blocks (59%) [rtyper] specializing: 600 / 850 blocks (70%) [rtyper] specializing: 700 / 850 blocks (82%) [rtyper] specializing: 800 / 850 blocks (94%) [rtyper] -=- specialized 850 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 0x7f8a8e736b50>; 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 0x7f8a8e993050>; 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 0x7f8a8e9b9250>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UINTLlT at 0x7f8a8e9ed9d0>; 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 0x7f8a8eaab6d0>; should have be removed [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 900 / 902 blocks (99%) [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 0x7f8a8dee4450>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0x7f8a8dee4850>; 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 0x7f8a8dea0f50>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UINTLlT at 0x7f8a8de7ab50>; 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 0x7f8a8de47b90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v7607___simple_call__function_ at 0x7f8a8ddeee90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0x7f8a8de23fd0>; should have be removed [jitcodewriter:info] There are 66 JitCode instances. [jitcodewriter:info] There are 202 -live- ops. Size of liveness is 152 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 23 effectinfos: [jitcodewriter] 5 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 19 bitstrings, mean length 1.0, max length 2 [c5fd53abe85cd80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd53abe967b00] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53abe96fe00] jit-tco} [c5fd53abe9b6b00] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd53abe9bd680] jit-tco} [c5fd53abe9d0f00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53abe9d7280] jit-tco} [c5fd53abea09780] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd53abea10280] jit-tco} [c5fd53abea98a80] {jit-tco removed frame ll_call_lookup_function__v7572___simple_call__function_ [c5fd53abeaa0100] jit-tco} [c5fd53abeab3000] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53abeab9380] jit-tco} [c5fd53abebbf900] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53abebc7800] jit-tco} [c5fd53abebdb880] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd53abebe1b80] jit-tco} [c5fd53abec28a80] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd53abec2f600] jit-tco} [c5fd53abee90c00] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53abee99700] jit-tco} [c5fd53abeee1300] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr [c5fd53abeee8280] jit-tco} [c5fd53abeefbb00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53abef01e80] jit-tco} [c5fd53abef21280] {jit-tco removed frame ll_call_lookup_function__v7572___simple_call__function_ [c5fd53abef27800] jit-tco} [c5fd53abef39b00] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53abef3fd00] jit-tco} [c5fd53abf07c180] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53abf084600] jit-tco} [c5fd53abf0c6e80] {jit-tco removed frame ll_dict_delitem__dicttablePtr_rpy_stringPtr [c5fd53abf0cda00] jit-tco} [c5fd53abf0e1280] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53abf0e7480] jit-tco} [c5fd53abf106080] {jit-tco removed frame ll_call_lookup_function__v7572___simple_call__function_ [c5fd53abf10c400] jit-tco} [c5fd53abf11e500] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53abf124300] jit-tco} [c5fd53abf1d0e80] {jit-tco removed frame ll_dict_delitem_with_hash__dicttablePtr_rpy_stringPtr_Signed [c5fd53abf1d8580] jit-tco} [c5fd53abf1eb400] {jit-tco removed frame _ll_dict_del_look_inside_iff__dicttablePtr_Signed_Signed [c5fd53abf1f1600] jit-tco} [c5fd53abf213100] {jit-tco removed frame ll_call_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed [c5fd53abf219680] jit-tco} [c5fd53abf241b00] {jit-tco removed frame ll_dict_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed_UCHARLlT [c5fd53abf247e80] jit-tco} (jitdriver: no get_printable_location) [c5fd53abf407d00] {jit-trace-done trace length: 386 number operations: 66 total snapshots: 6 snapshot data: 64 snapshot array data: 66 bigint consts: 6 4 float consts: 0 0 ref consts: 13 8 4 descrs: 1 [c5fd53abf41d480] jit-trace-done} [c5fd53abf43b880] {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, 4, 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 0x7f8a8de13f90: 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>) [c5fd53abf580e00] jit-log-noopt} [c5fd53abf58c580] {jit-optimize [c5fd53abf59f800] {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 0x7f8a8dde88d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53abf868c00] jit-log-intbounds} [c5fd53abf8a0500] {jit-log-exported-state [i77] INP(i77 = int_add(i78, -1/ci)) PureOp(i79 = int_gt(i77, 0/ci)) [c5fd53abf8ada00] jit-log-exported-state} [c5fd53abf8b3200] jit-optimize} [c5fd53abf8c5a80] {jit-optimize [c5fd53abf925d80] {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 0x7f8a8dd74150>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53abfc6df00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233061909200)) [c5fd53abfcf1700] jit-optimize} [c5fd53abfcf9d80] {jit-log-short-preamble [] label(i80) jump() [c5fd53abfd04900] jit-log-short-preamble} [c5fd53abfd19980] {jit-backend [c5fd53abfd27a00] {jit-log-compiling-loop [i78] label(i78, descr=TargetToken(140233062161872)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i77 = int_add(i78, -1) i79 = int_gt(i77, 0) guard_true(i79, descr=<Guard0x7f8a8dde88d0>) [i77] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i77, descr=TargetToken(140233061909200)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i84 = int_add(i77, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0x7f8a8dd74150>) [i84] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i84, descr=TargetToken(140233061909200)) [c5fd53abfd4e300] jit-log-compiling-loop} [c5fd53abfd5e100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53abfd64280] jit-mem-looptoken-alloc} [c5fd53abfd79a00] jit-backend} compiled new loop [c5fd53abfd80000] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233062161872)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a8dde88d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233061909200)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a8dd74150>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233061909200)) [c5fd53abfdaa980] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53abfe4f400] jit-tracing} ______________________ TestLLtype.test_virtual_opaque_ptr ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a8e8a03c0> 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 0x7f8a8d578790> 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 0x7f8a8dcd4b50>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really__v7868___simple_call__function_ at 0x7f8a8dcebbd0>; 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 [c5fd53acaa22780] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd53acab12d00] {jit-tco removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [c5fd53acab1a600] jit-tco} [c5fd53acabc2980] {jit-tco removed frame g_look_inside_iff [c5fd53acabc9700] jit-tco} [c5fd53acabd1000] {jit-tco removed frame g__v7859___simple_call__function_ [c5fd53acabd6d80] jit-tco} [c5fd53acabe9880] {jit-tco removed frame ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed [c5fd53acabefa00] jit-tco} (jitdriver: no get_printable_location) [c5fd53acac57e00] {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 [c5fd53acac6ca80] jit-trace-done} [c5fd53acac8bc00] {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>) [c5fd53acacdfe00] jit-log-noopt} [c5fd53acace9080] {jit-optimize [c5fd53acacf8e80] {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 0x7f8a8d628890>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53acaeca980] jit-log-intbounds} [c5fd53acaeff180] {jit-log-exported-state [i16] INP(i16 = int_add(i17, -1/ci)) PureOp(i18 = int_gt(i16, 0/ci)) [c5fd53acaf0ba80] jit-log-exported-state} [c5fd53acaf10c80] jit-optimize} [c5fd53acaf21400] {jit-optimize [c5fd53acaf7b580] {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 0x7f8a8d46d990>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53acb1bc600] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233052445712)) [c5fd53acb23cc80] jit-optimize} [c5fd53acb243a00] {jit-log-short-preamble [] label(i19) jump() [c5fd53acb24de80] jit-log-short-preamble} [c5fd53acb262400] {jit-backend [c5fd53acb26f380] {jit-log-compiling-loop [i17] label(i17, descr=TargetToken(140233053670480)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i16 = int_add(i17, -1) i18 = int_gt(i16, 0) guard_true(i18, descr=<Guard0x7f8a8d628890>) [i16] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i16, descr=TargetToken(140233052445712)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i23 = int_add(i16, -1) i25 = int_gt(i23, 0) guard_true(i25, descr=<Guard0x7f8a8d46d990>) [i23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i23, descr=TargetToken(140233052445712)) [c5fd53acb295680] jit-log-compiling-loop} [c5fd53acb2a3100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53acb2a9100] jit-mem-looptoken-alloc} [c5fd53acb2bcf00] jit-backend} compiled new loop [c5fd53acb2c3100] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233053670480)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a8d628890>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233052445712)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a8d46d990>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233052445712)) [c5fd53acb2ec700] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53acb388b80] jit-tracing} _____________________ TestLLtype.test_virtual_opaque_dict ______________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a8eaeaf00> 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 0x7f8a8d91a690> 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 / 768 blocks (13%) [rtyper] specializing: 200 / 768 blocks (26%) [rtyper] specializing: 300 / 768 blocks (39%) [rtyper] specializing: 400 / 773 blocks (51%) [rtyper] specializing: 500 / 779 blocks (64%) [rtyper] specializing: 600 / 784 blocks (76%) [rtyper] specializing: 700 / 786 blocks (89%) [rtyper] -=- specialized 786 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] specializing: 800 / 800 blocks (100%) [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:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UCHARLlT at 0x7f8a8d8b7ed0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0x7f8a8d8bcdd0>; 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 0x7f8a8d882c50>; 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 0x7f8a8d88e7d0>; 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 0x7f8a8d88e490>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UINTLlT at 0x7f8a8d8aa910>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UINTLlT at 0x7f8a8d8a3310>; 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 0x7f8a8d841dd0>; 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 0x7f8a8d8aaa10>; 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__v7988___simple_call__function_ at 0x7f8a8d801550>; 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 0x7f8a8d821510>; 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 0x7f8a8d8214d0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0x7f8a8d7b5610>; should have be removed [jitcodewriter:info] There are 57 JitCode instances. [jitcodewriter:info] There are 168 -live- ops. Size of liveness is 136 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 23 effectinfos: [jitcodewriter] 6 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 20 bitstrings, mean length 1.0, max length 2 [c5fd53afa9fd800] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd53afab5f000] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53afab67500] jit-tco} [c5fd53afabad000] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd53afabb3f80] jit-tco} [c5fd53afabc7400] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53afabcd600] jit-tco} [c5fd53afabff480] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd53afac05a00] jit-tco} [c5fd53afac93600] {jit-tco removed frame ll_call_lookup_function__v7955___simple_call__function_ [c5fd53afac9a500] jit-tco} [c5fd53afacacc00] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53afacb2d80] jit-tco} [c5fd53afadc1000] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53afadc8700] jit-tco} [c5fd53afaddb000] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd53afade1380] jit-tco} [c5fd53afae2c080] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd53afae32c00] jit-tco} [c5fd53afb0bd880] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53afb0c5180] jit-tco} [c5fd53afb10ae80] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed [c5fd53afb111e00] jit-tco} [c5fd53afb124c80] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53afb12b000] jit-tco} [c5fd53afb14ac80] {jit-tco removed frame ll_call_lookup_function__v7955___simple_call__function_ [c5fd53afb151380] jit-tco} [c5fd53afb163280] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53afb169480] jit-tco} [c5fd53afb27ff80] {jit-tco removed frame ll_hash_recomputed__arrayPtr_dicttablePtr_Signed [c5fd53afb287080] jit-tco} [c5fd53afb35da80] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53afb364b80] jit-tco} [c5fd53afb376e80] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed [c5fd53afb37d080] jit-tco} [c5fd53afb4f2100] {jit-tco removed frame g_look_inside_iff [c5fd53afb4f9400] jit-tco} [c5fd53afb526c80] {jit-tco removed frame ll_strhash__rpy_stringPtr [c5fd53afb52d600] jit-tco} [c5fd53afb579a80] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr [c5fd53afb580680] jit-tco} [c5fd53afb593500] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed [c5fd53afb599700] jit-tco} [c5fd53afb5b9400] {jit-tco removed frame ll_call_lookup_function__v7955___simple_call__function_ [c5fd53afb5bfa00] jit-tco} [c5fd53afb5d1900] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT [c5fd53afb5d7680] jit-tco} (jitdriver: no get_printable_location) [c5fd53afb74d300] {jit-trace-done trace length: 441 number operations: 75 total snapshots: 9 snapshot data: 92 snapshot array data: 108 bigint consts: 8 4 float consts: 0 0 ref consts: 15 10 4 descrs: 1 [c5fd53afb762180] jit-trace-done} [c5fd53afb77fe00] {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, 4, 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 0x7f8a8d825590: 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>) [c5fd53afb8cff00] jit-log-noopt} [c5fd53afb8da280] {jit-optimize [c5fd53afb8eae80] {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 0x7f8a8d78a910>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53afbbef580] jit-log-intbounds} [c5fd53afbc24d80] {jit-log-exported-state [i86] INP(i86 = int_add(i87, -1/ci)) PureOp(i88 = int_gt(i86, 0/ci)) [c5fd53afbc31c80] jit-log-exported-state} [c5fd53afbc37080] jit-optimize} [c5fd53afbc49100] {jit-optimize [c5fd53afbca8e80] {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 0x7f8a8d795490>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53afc019280] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140233055754000)) [c5fd53afc09b680] jit-optimize} [c5fd53afc0a2a00] {jit-log-short-preamble [] label(i89) jump() [c5fd53afc0ad180] jit-log-short-preamble} [c5fd53afc0c1b80] {jit-backend [c5fd53afc0cf480] {jit-log-compiling-loop [i87] label(i87, descr=TargetToken(140233055949840)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i86 = int_add(i87, -1) i88 = int_gt(i86, 0) guard_true(i88, descr=<Guard0x7f8a8d78a910>) [i86] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i86, descr=TargetToken(140233055754000)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i93 = int_add(i86, -1) i95 = int_gt(i93, 0) guard_true(i95, descr=<Guard0x7f8a8d795490>) [i93] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i93, descr=TargetToken(140233055754000)) [c5fd53afc0f6780] jit-log-compiling-loop} [c5fd53afc105980] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53afc10bd80] jit-mem-looptoken-alloc} [c5fd53afc120d80] jit-backend} compiled new loop [c5fd53afc127300] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140233055949840)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8a8d78a910>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140233055754000)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8a8d795490>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140233055754000)) [c5fd53afc150f00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53afc1f5980] jit-tracing} _________________________ TestLLtype.test_not_in_trace _________________________ self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0x7f8a8c2d62d0> 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 0x7f8a8c238390> 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 0x7f8a8c2382d0>, <* 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 [c5fd53b728fc700] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd53b729c9200] {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 [c5fd53b729ddc80] jit-trace-done} [c5fd53b72a04180] {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>) [c5fd53b72a38580] jit-log-noopt} [c5fd53b72a41680] {jit-optimize [c5fd53b72a58900] {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 0x7f8a8c20d390>) [i4, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53b72c15280] jit-log-intbounds} [c5fd53b72c5b180] {jit-log-exported-state [i7, i8, r9] INP(r9) PureOp(i10 = int_ge(i7, 0/ci)) INP(i7 = int_add(i11, -1/ci)) INP(i8) [c5fd53b72c6a800] jit-log-exported-state} [c5fd53b72c6fb80] jit-optimize} [c5fd53b72c7fb80] {jit-optimize [c5fd53b72cffc80] {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 0x7f8a8c20d350>) [i5, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53b72f44380] jit-log-intbounds} # i5: (0 <= 0b0?...?) IntBound.nonnegative() jump(i5, i8, p9, descr=TargetToken(140233033205200)) [c5fd53b72fe4a00] jit-optimize} [c5fd53b72feb380] {jit-log-short-preamble [] label(i12, i13, p14) jump() [c5fd53b72ff6380] jit-log-short-preamble} [c5fd53b73015f00] {jit-backend [c5fd53b73037a00] {jit-log-compiling-loop [i11, i8, p9] label(i11, i8, p9, descr=TargetToken(140233033411664)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i11, -1) i10 = int_ge(i7, 0) guard_true(i10, descr=<Guard0x7f8a8c20d390>) [i7, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i7, i8, p9, descr=TargetToken(140233033205200)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i18 = int_add(i7, -1) i20 = int_ge(i18, 0) guard_true(i20, descr=<Guard0x7f8a8c20d350>) [i18, i8, p9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i18, i8, p9, descr=TargetToken(140233033205200)) [c5fd53b73061c00] jit-log-compiling-loop} [c5fd53b73071000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53b73077180] jit-mem-looptoken-alloc} [c5fd53b7308cb00] jit-backend} compiled new loop [c5fd53b73092f00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(140233033411664)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i4 = int_add(i0, -1) i6 = int_ge(i4, 0) guard_true(i6, descr=<Guard0x7f8a8c20d390>) [i4, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, i1, p2, descr=TargetToken(140233033205200)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i4, -1) i10 = int_ge(i8, 0) guard_true(i10, descr=<Guard0x7f8a8c20d350>) [i8, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i8, i1, p2, descr=TargetToken(140233033205200)) [c5fd53b730c0600] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53b7318b980] 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 103.35 seconds ============== ++ 09:50:58 starting jit/metainterp/test/test_loop_unroll.py [140 started in total] __ jit/metainterp/test/test_dict.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f0029e0aeb0> 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 0x7f00293bff50> 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 0x7f00293bfe90>, <* 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 0x7f00293bfe90>, SizeDescr(<GcStruct Interior { ptr, index }>)] -> * GCREF hidden bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')] bh: setfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <* GCREF hidden>, 0, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')] bh: getfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')] -> * GCREF hidden bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')] -> 0 bh: getinteriorfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <* 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 0x7f00293bfe90>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0x7f0029374190: EF=3>)] -> * GCREF hidden bh: live [94] -> 96 bh: new_with_vtable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, 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 0x7f00293bfe90>, <JitCode 'Wrapper.__init__'>, [<* GCREF hidden>, <* GCREF hidden>]] bh: live [107] -> 109 bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0x7f00293bfe90>, <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 / 859 blocks (11%) [rtyper] specializing: 200 / 859 blocks (23%) [rtyper] specializing: 300 / 864 blocks (34%) [rtyper] specializing: 400 / 864 blocks (46%) [rtyper] specializing: 500 / 868 blocks (57%) [rtyper] specializing: 600 / 875 blocks (68%) [rtyper] specializing: 700 / 877 blocks (79%) [rtyper] specializing: 800 / 877 blocks (91%) [rtyper] -=- specialized 877 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 900 / 908 blocks (99%) [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [backendopt:inlining] inlined 26 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__v3394___simple_call__function_ at 0x7f00293ae3d0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3394___simple_call__function_ at 0x7f00293ae3d0>; 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:1035)ll_dict_lookup__v3398___simple_call__function_ at 0x7f00293a8a50>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3398___simple_call__function_ at 0x7f00293a8a50>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3404___simple_call__function_ at 0x7f002931e9d0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3404___simple_call__function_ at 0x7f002931e9d0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3406___simple_call__function_ at 0x7f00292bfcd0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3406___simple_call__function_ at 0x7f00292bfcd0>; 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__v3426___simple_call__function_ at 0x7f00292d9a90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0x7f00292a0410>; should have be removed [jitcodewriter:info] There are 43 JitCode instances. [jitcodewriter:info] There are 192 -live- ops. Size of liveness is 175 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 23 effectinfos: [jitcodewriter] 5 descrs for arrays [jitcodewriter] 15 descrs for fields [jitcodewriter] 3 descrs for interiorfields [jitcodewriter] -> 20 bitstrings, mean length 1.1, max length 2 [c5fd53bebfdce80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd53bec2a5c80] {jit-tco removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd53bec2ada00] jit-tco} [c5fd53bec2c2b80] {jit-tco removed frame hash_func [c5fd53bec2c9100] jit-tco} [c5fd53bec388580] {jit-tco removed frame ll_dict_setitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed [c5fd53bec38f880] jit-tco} [c5fd53bec3a2f80] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed [c5fd53bec3aa100] jit-tco} [c5fd53bec3dae00] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd53bec3e1580] jit-tco} [c5fd53bec466280] {jit-tco removed frame ll_call_lookup_function__v3391___simple_call__function_ [c5fd53bec46d000] jit-tco} [c5fd53bec57fa80] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed [c5fd53bec586f80] jit-tco} [c5fd53bec782680] {jit-tco removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd53bec78b900] jit-tco} [c5fd53bec7b0700] {jit-tco removed frame hash_func [c5fd53bec7b7080] jit-tco} [c5fd53bec86ab80] {jit-tco removed frame ll_dict_getitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr [c5fd53bec871c80] jit-tco} (jitdriver: no get_printable_location) [c5fd53beca82980] {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 [c5fd53beca98780] jit-trace-done} [c5fd53becabb200] {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, 4, 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 0x7f0029374190: 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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: EF=5 OS=4>)) guard_no_exception() call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: 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 0x7f00292ee150: EF=2>)) i36 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: 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>) [c5fd53becbb4c00] jit-log-noopt} [c5fd53becbbf400] {jit-optimize [c5fd53becbd5800] {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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f00291f3310>) [i0, p3] i5 = int_add(i0, -1) guard_nonnull(p3, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0x7f00292049d0>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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 0x7f0029204a90>) [p9, p12, i8, i5, i17] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f0029206d10>) [p9, p12] i22 = strhash(p3) i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f002924c350>) [p9, i25] i27 = int_ge(i25, 0) guard_true(i27, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0x7f002920c4d0>) [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 0x7f002920c490>) [p9, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53bed333780] jit-log-intbounds} [c5fd53bed384880] {jit-log-exported-state [i44, r45] PureOp(i46 = int_gt(i44, 0/ci)) HeapOp(r47 = 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'))) INP(i44 = getinteriorfield_gc_i(r47, i49, 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 }>))) [c5fd53bed39c500] jit-log-exported-state} [c5fd53bed3a4600] jit-optimize} [c5fd53bed3b8a80] {jit-optimize [c5fd53bed424500] {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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f0029213350>) [i2, p4] i6 = int_add(i2, -1) guard_nonnull(p4, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0x7f0029204950>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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 0x7f00291fde10>) [p10, p13, i9, i6, i18] # i6: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1) call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f0029217390>) [p10, p13] i23 = strhash(p4) i26 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f002924c650>) [p10, i26] i28 = int_ge(i26, 0) guard_true(i28, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0x7f0029217b50>) [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 0x7f002920ca50>) [p10, i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53bedbd4500] jit-log-intbounds} # i30: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i30, p10, descr=TargetToken(139638666788624)) [c5fd53bedc70700] jit-optimize} [c5fd53bedc78080] {jit-log-short-preamble [] label(i50, p51) jump() [c5fd53bedc83200] jit-log-short-preamble} [c5fd53bedcc7d80] {jit-backend [c5fd53bedcd6c00] {jit-log-compiling-loop [i52, p53] label(i52, p53, descr=TargetToken(139638667053328)) 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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<Guard0x7f00291f3310>) [i52, p55] i57 = int_add(i52, -1) guard_nonnull(p55, descr=<Guard0x7f00292049d0>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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=<Guard0x7f0029204a90>) [p45, p63, i60, i57, i68] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<Guard0x7f0029206d10>) [p45, p63] i73 = strhash(p55) i49 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<Guard0x7f002924c350>) [p45, i49] i77 = int_ge(i49, 0) guard_true(i77, descr=<Guard0x7f002920c4d0>) [p45, i49] p47 = 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(p47, i49, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')) i46 = int_gt(i44, 0) guard_true(i46, descr=<Guard0x7f002920c490>) [p45, i49] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i44, p45, descr=TargetToken(139638666788624)) 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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<Guard0x7f0029213350>) [i44, p80] i82 = int_add(i44, -1) guard_nonnull(p80, descr=<Guard0x7f0029204950>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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=<Guard0x7f00291fde10>) [p86, p89, i85, i82, i94] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<Guard0x7f0029217390>) [p86, p89] i99 = strhash(p80) i102 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<Guard0x7f002924c650>) [p86, i102] i104 = int_ge(i102, 0) guard_true(i104, descr=<Guard0x7f0029217b50>) [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=<Guard0x7f002920ca50>) [p86, i102] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i106, p86, descr=TargetToken(139638666788624)) [c5fd53beddd0080] jit-log-compiling-loop} [c5fd53bedde1780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53bedde7d00] jit-mem-looptoken-alloc} [c5fd53bedf18e00] jit-backend} compiled new loop [c5fd53bedf24d80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 65 ops [i0, p1] label(i0, p1, descr=TargetToken(139638667053328)) 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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<Guard0x7f00291f3310>) [i0, p3] i5 = int_add(i0, -1) guard_nonnull(p3, descr=<Guard0x7f00292049d0>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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=<Guard0x7f0029204a90>) [p9, p12, i8, i5, i17] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<Guard0x7f0029206d10>) [p9, p12] i22 = strhash(p3) i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<Guard0x7f002924c350>) [p9, i25] i27 = int_ge(i25, 0) guard_true(i27, descr=<Guard0x7f002920c4d0>) [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=<Guard0x7f002920c490>) [p9, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i29, p9, descr=TargetToken(139638666788624)) 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 0x7f0029374190: EF=3>)) guard_no_exception(descr=<Guard0x7f0029213350>) [i29, p33] i35 = int_add(i29, -1) guard_nonnull(p33, descr=<Guard0x7f0029204950>) [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 0x7f00292ee150: 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__v3416___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 0x7f00293a8990: 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=<Guard0x7f00291fde10>) [p39, p42, i38, i35, i47] call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3433___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 0x7f002927aed0: EF=5>)) guard_no_exception(descr=<Guard0x7f0029217390>) [p39, p42] i52 = strhash(p33) i55 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3415___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 0x7f0029390a10: EF=5 OS=4>)) guard_no_exception(descr=<Guard0x7f002924c650>) [p39, i55] i57 = int_ge(i55, 0) guard_true(i57, descr=<Guard0x7f0029217b50>) [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=<Guard0x7f002920ca50>) [p39, i55] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, p39, descr=TargetToken(139638666788624)) [c5fd53bee026880] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53c088e0200] jit-tracing} ____________________ TestLLtype.test_unrolling_of_dict_iter ____________________ self = <rpython.jit.metainterp.test.test_dict.TestLLtype instance at 0x7f002928c960> 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 0x7f0028e2e190> 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 / 684 blocks (14%) [rtyper] specializing: 200 / 686 blocks (29%) [rtyper] specializing: 300 / 696 blocks (43%) [rtyper] specializing: 400 / 700 blocks (57%) [rtyper] specializing: 500 / 700 blocks (71%) [rtyper] specializing: 600 / 702 blocks (85%) [rtyper] specializing: 700 / 702 blocks (99%) [rtyper] -=- specialized 702 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 29 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__v3782___simple_call__function_ at 0x7f0028dcee90>; 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__v3822___simple_call__function_ at 0x7f0028d79d10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3794___simple_call__function_ at 0x7f0028d4ded0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3794___simple_call__function_ at 0x7f0028d4ded0>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3791___simple_call__function_ at 0x7f0028d4df10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3791___simple_call__function_ at 0x7f0028d4df10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3796___simple_call__function_ at 0x7f0028cfaf10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3796___simple_call__function_ at 0x7f0028cfaf10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3800___simple_call__function_ at 0x7f0028d11b10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3800___simple_call__function_ at 0x7f0028d11b10>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0x7f0028d264d0>; should have be removed [jitcodewriter:info] There are 39 JitCode instances. [jitcodewriter:info] There are 127 -live- ops. Size of liveness is 116 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 14 effectinfos: [jitcodewriter] 5 descrs for arrays [jitcodewriter] 14 descrs for fields [jitcodewriter] 2 descrs for interiorfields [jitcodewriter] -> 20 bitstrings, mean length 1.0, max length 2 [c5fd53c37c19280] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) [c5fd53c37c60580] {jit-tco removed frame newdict [c5fd53c37c66f00] jit-tco} [c5fd53c37d1fc00] {jit-tco removed frame ll_dict_setitem__dicttablePtr_Signed_Signed [c5fd53c37d26d80] jit-tco} [c5fd53c37d39e00] {jit-tco removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_Signed_Signed_Signed [c5fd53c37d40000] jit-tco} [c5fd53c37d71880] {jit-tco removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr [c5fd53c37d78200] jit-tco} [c5fd53c37e01500] {jit-tco removed frame ll_call_lookup_function__v3788___simple_call__function_ [c5fd53c37e09600] jit-tco} [c5fd53c37e1bf00] {jit-tco removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_Signed_Signed_Signed_UCHARLlT [c5fd53c37e22080] jit-tco} [c5fd53c37f13a00] {jit-tco removed frame ll_dict_setitem_with_hash__dicttablePtr_Signed_Signed_Signed [c5fd53c37f1ad00] jit-tco} [c5fd53c37f2d800] {jit-tco removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_Signed_Signed_Signed_Signed [c5fd53c37f33a00] jit-tco} [c5fd53c37f7a080] {jit-tco removed frame ll_dict_grow_look_inside_iff__dicttablePtr [c5fd53c37f80e00] jit-tco} [c5fd53c38230800] {jit-tco removed frame _ll_dictnext_look_inside_iff__dictiterPtr [c5fd53c38238a80] jit-tco} [c5fd53c38342c80] {jit-tco removed frame _ll_dictnext_look_inside_iff__dictiterPtr [c5fd53c38349f80] jit-tco} (jitdriver: no get_printable_location) [c5fd53c38402700] {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 [c5fd53c38417500] jit-trace-done} [c5fd53c38435b80] {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, 4, 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 0x7f0028d99f10: 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>) [c5fd53c38523c00] jit-log-noopt} [c5fd53c3852e000] {jit-optimize [c5fd53c3853eb80] {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 0x7f0028c75990>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53c387a7500] jit-log-intbounds} [c5fd53c387dc880] {jit-log-exported-state [i51] INP(i51 = int_add(i52, -1/ci)) PureOp(i53 = int_gt(i51, 0/ci)) [c5fd53c387e9380] jit-log-exported-state} [c5fd53c387ee580] jit-optimize} [c5fd53c387ff500] {jit-optimize [c5fd53c3885c180] {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 0x7f0028c7ce10>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd53c38b36180] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(139638661386896)) [c5fd53c38bb4880] jit-optimize} [c5fd53c38bbb600] {jit-log-short-preamble [] label(i54) jump() [c5fd53c38bc5a00] jit-log-short-preamble} [c5fd53c38bda400] {jit-backend [c5fd53c38be7500] {jit-log-compiling-loop [i52] label(i52, descr=TargetToken(139638666936400)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i52, -1) i53 = int_gt(i51, 0) guard_true(i53, descr=<Guard0x7f0028c75990>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(139638661386896)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0x7f0028c7ce10>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(139638661386896)) [c5fd53c38c0e400] jit-log-compiling-loop} [c5fd53c38c1be80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd53c38c21e80] jit-mem-looptoken-alloc} [c5fd53c38c35700] jit-backend} compiled new loop [c5fd53c38c3b900] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(139638666936400)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f0028c75990>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(139638661386896)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f0028c7ce10>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(139638661386896)) [c5fd53c38c66680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd53c38d09380] 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 75.96 seconds ================ ++ 09:51:06 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 16.04 seconds ===================== ++ 09:51:16 starting jit/metainterp/test/test_math.py [142 started in total] __ jit/metainterp/test/test_math.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_math.py . =========================== 1 passed in 1.23 seconds =========================== ++ 09:51:18 starting jit/metainterp/test/test_memmgr.py [143 started in total] __ jit/metainterp/test/test_loop.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 18.16 seconds ===================== ++ 09:51:18 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items jit/metainterp/test/test_opencoder.py ........... ========================== 11 passed in 0.78 seconds =========================== ++ 09:51:20 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0.61 seconds ====================== ++ 09:51:22 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.59 seconds ===================== ++ 09:51:26 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items jit/metainterp/test/test_rawmem.py ........ =========================== 8 passed in 1.68 seconds =========================== ++ 09:51:28 starting jit/metainterp/test/test_recursive.py [148 started in total] __ jit/backend/x86/test/test_ztranslation_jit_stats.py [145 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 245.38 seconds ===================== ++ 09:51:57 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items jit/metainterp/test/test_resoperation.py ............... ========================== 15 passed in 0.57 seconds =========================== ++ 09:51:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.04 seconds ===================== ++ 09:52:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_memmgr.py . ========================== 1 passed in 38.02 seconds =========================== ++ 09:52:02 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_resumecode.py ..... =========================== 5 passed in 2.80 seconds =========================== ++ 09:52:04 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit/metainterp/test/test_slist.py ...... =========================== 6 passed in 2.24 seconds =========================== ++ 09:52:08 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f40fbe38e10> 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 0x7f40fbd052d0> 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 0x7f40fbc76990>; 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 [c5fd5494dadd400] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54950ecf580] {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 [c5fd54950ee5e80] jit-trace-done} [c5fd54950f09e80] {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>) [c5fd54950f3c980] jit-log-noopt} [c5fd54950f4b200] {jit-optimize [c5fd54950fcd580] {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 0x7f40fb9e91d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549511a5280] jit-log-intbounds} [c5fd549511e4080] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -1/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd549511f2300] jit-log-exported-state} [c5fd549511f7900] jit-optimize} [c5fd54951208c80] {jit-optimize [c5fd54951267a00] {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 0x7f40fb9e9190>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54951495000] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(139917075686416)) [c5fd54951514480] jit-optimize} [c5fd5495151b680] {jit-log-short-preamble [] label(i8) jump() [c5fd54951525e00] jit-log-short-preamble} [c5fd5495154cb00] {jit-backend [c5fd5495155f280] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(139917076045328)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0x7f40fb9e91d0>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(139917075686416)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0x7f40fb9e9190>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(139917075686416)) [c5fd54951585d80] jit-log-compiling-loop} [c5fd54951594200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54951599f80] jit-mem-looptoken-alloc} [c5fd549515aed80] jit-backend} compiled new loop [c5fd549515b5100] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(139917076045328)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f40fb9e91d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(139917075686416)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f40fb9e9190>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(139917075686416)) [c5fd549515dfe80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549516cae80] jit-tracing} _________________ TestLLtype.test_send_to_single_target_method _________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0x7f40fb8bd190> 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 0x7f40fb6a3790> 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 0x7f40fb6a3410>, <* 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 [c5fd54958ed8680] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54958fe4b80] {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 [c5fd54958ffa580] jit-trace-done} [c5fd5495901a700] {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 0x7f40fb9323d0: 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>) [c5fd5495905d980] jit-log-noopt} [c5fd54959066400] {jit-optimize [c5fd54959079500] {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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f40fb7fefd0>) [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 0x7f40fb806f50>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549592ba500] jit-log-intbounds} [c5fd54959305080] {jit-log-exported-state [i10, i11] PureOp(i12 = int_gt(i11, 0/ci)) INP(i10) INP(i11 = int_add(i13, -1/ci)) [c5fd54959312d00] jit-log-exported-state} [c5fd54959318300] jit-optimize} [c5fd54959328100] {jit-optimize [c5fd549593add80] {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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0x7f40fb7fef90>) [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 0x7f40fb806f10>) [i3, i5, p4] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5495966e500] jit-log-intbounds} # i9: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, i9, descr=TargetToken(139917074179280)) [c5fd54959713780] jit-optimize} [c5fd5495971a500] {jit-log-short-preamble [] label(i14, i15) jump() [c5fd54959724d00] jit-log-short-preamble} [c5fd54959741c00] {jit-backend [c5fd5495974e700] {jit-log-compiling-loop [i10, i13] label(i10, i13, descr=TargetToken(139917074099536)) 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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<Guard0x7f40fb7fefd0>) [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=<Guard0x7f40fb806f50>) [i10, i13, p17] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i10, i11, descr=TargetToken(139917074179280)) 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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<Guard0x7f40fb7fef90>) [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=<Guard0x7f40fb806f10>) [i10, i11, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i27, descr=TargetToken(139917074179280)) [c5fd54959790b80] jit-log-compiling-loop} [c5fd5495979f000] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd549597a5000] jit-mem-looptoken-alloc} [c5fd549597c3800] jit-backend} compiled new loop [c5fd549597ca000] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops [i0, i1] label(i0, i1, descr=TargetToken(139917074099536)) 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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<Guard0x7f40fb7fefd0>) [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=<Guard0x7f40fb806f50>) [i0, i1, p3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i7, descr=TargetToken(139917074179280)) 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 0x7f40fb9323d0: EF=5>)) guard_no_exception(descr=<Guard0x7f40fb7fef90>) [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=<Guard0x7f40fb806f10>) [i0, i7, p11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i15, descr=TargetToken(139917074179280)) [c5fd5495980f880] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54959ba4700] jit-tracing} __________________ TestLLtype.test_red_send_to_green_receiver __________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0x7f40fb7fe810> 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 0x7f40fb71d0d0> 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 0x7f40fb717810>; 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 [c5fd5495eeeeb00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5495efd1280] {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 [c5fd5495efe6a00] jit-trace-done} [c5fd5495f00aa00] {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>) [c5fd5495f03f000] jit-log-noopt} [c5fd5495f047a80] {jit-optimize [c5fd5495f05a380] {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 0x7f40fb795690>) [i5, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5495f270a80] jit-log-intbounds} [c5fd5495f2b7300] {jit-log-exported-state [i8, i9] INP(i9) PureOp(i10 = int_gt(i8, 0/ci)) INP(i8 = int_add(i11, -1/ci)) PureOp(i12 = int_add(i9, 146/ci)) [c5fd5495f2c7500] jit-log-exported-state} [c5fd5495f2cc900] jit-optimize} [c5fd5495f2dc500] {jit-optimize [c5fd5495f362700] {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 0x7f40fb795650>) [i4, i7, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5495f6a1800] jit-log-intbounds} # i4: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i4, i7, i8, descr=TargetToken(139917073640592)) [c5fd5495f779d80] jit-optimize} [c5fd5495f780a80] {jit-log-short-preamble [] label(i13, i14) i16 = int_add(i14, 146) jump(i16) [c5fd5495f78e380] jit-log-short-preamble} [c5fd5495f7a4500] {jit-backend [c5fd5495f7b2180] {jit-log-compiling-loop [i11, i9] label(i11, i9, descr=TargetToken(139917073641168)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i9, 146) i8 = int_add(i11, -1) i10 = int_gt(i8, 0) guard_true(i10, descr=<Guard0x7f40fb795690>) [i8, i9, i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, i12, descr=TargetToken(139917073640592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i20 = int_add(i8, -1) i22 = int_gt(i20, 0) guard_true(i22, descr=<Guard0x7f40fb795650>) [i20, i9, i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i9, i12, descr=TargetToken(139917073640592)) [c5fd5495f7db780] jit-log-compiling-loop} [c5fd5495f7e8e80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5495f7eec80] jit-mem-looptoken-alloc} [c5fd5495f804c00] jit-backend} compiled new loop [c5fd5495f80af80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 14 ops [i0, i1] label(i0, i1, descr=TargetToken(139917073641168)) 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=<Guard0x7f40fb795690>) [i5, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i1, i3, descr=TargetToken(139917073640592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i5, -1) i11 = int_gt(i9, 0) guard_true(i11, descr=<Guard0x7f40fb795650>) [i9, i1, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i1, i3, descr=TargetToken(139917073640592)) [c5fd5495f838e00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5495f919d80] jit-tracing} _____________________ TestLLtype.test_oosend_guard_failure _____________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0x7f40fb069c90> 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 0x7f40faec7050> 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 0x7f40faf551d0>, <* 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 0x7f40faf551d0>, <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 0x7f40faf551d0>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0x7f40faf22190: 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 0x7f40faec7390>, <* 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 0x7f40faec7390>, <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 0x7f40faec7390>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0x7f40fae02110: 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 [c5fd549c486ce80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd549c49cf080] {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 [c5fd549c49e4480] jit-trace-done} [c5fd549c4a08480] {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>) [c5fd549c4a51880] jit-log-noopt} [c5fd549c4a5a380] {jit-optimize [c5fd549c4a70680] {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 0x7f40faec0710>) [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 0x7f40faec7b50>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c4cba000] jit-log-intbounds} [c5fd549c4d34280] {jit-log-exported-state [i12, i13, r14] INP(i13 = int_add(i15, -1/ci)) PureOp(i16 = int_gt(i13, 0/ci)) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i12) INP(i17 = int_add(i18, 100/ci)) [c5fd549c4d47200] jit-log-exported-state} [c5fd549c4d4cb80] jit-optimize} [c5fd549c4d5c780] {jit-optimize [c5fd549c4e0e300] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c4e2cd80] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd549c4e32700] jit-abort} [c5fd549c4e36980] jit-log-intbounds} [c5fd549c4e3ae00] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd549c4f59200] {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 [c5fd549c4f6e200] jit-trace-done} [c5fd549c4f91c00] {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>) [c5fd549c4fd5480] jit-log-noopt} [c5fd549c4fdcf80] {jit-optimize [c5fd549c4ff2d00] {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 0x7f40faecbb10>) [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 0x7f40faec7b10>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c5224980] jit-log-intbounds} [c5fd549c528c780] {jit-log-exported-state [i31, i32, r33] INP(i34 = int_add(i35, 1/ci)) INP(i31) PureOp(i36 = int_gt(i32, 0/ci)) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i32 = int_add(i37, -1/ci)) [c5fd549c529ea80] jit-log-exported-state} [c5fd549c52a4280] jit-optimize} [c5fd549c52b3680] {jit-optimize [c5fd549c5361b80] {jit-log-intbounds [i0, i1, p2] [c5fd549c5372700] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd549c5377f00] jit-abort} [c5fd549c537c180] jit-log-intbounds} [c5fd549c5380600] jit-optimize} cancelled, tracing more... [c5fd549c538f200] {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 [c5fd549c53a3a80] jit-trace-done} [c5fd549c53c7880] {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>) [c5fd549c542e300] jit-log-noopt} [c5fd549c5435e80] {jit-optimize [c5fd549c544b200] {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 0x7f40faffbad0>) [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 0x7f40faec7ad0>) [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 0x7f40faed4910>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c57fec00] jit-log-intbounds} [c5fd549c5867400] {jit-log-exported-state [i59, i60, r61] INP(i62 = int_add(i63, 101/ci)) INP(i59) PureOp(i64 = int_gt(i60, 0/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i60 = int_add(i65, -2/ci)) [c5fd549c5879a80] jit-log-exported-state} [c5fd549c587f700] jit-optimize} [c5fd549c588f080] {jit-optimize [c5fd549c593d600] {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 0x7f40faed4d10>) [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 0x7f40faed4a10>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c5dc0880] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(139917064517264)) [c5fd549c5eb0400] jit-optimize} [c5fd549c5eb7380] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd549c5ec2b00] jit-log-short-preamble} [c5fd549c5ee5400] {jit-backend [c5fd549c5ef2100] {jit-log-compiling-loop [i59, i65, p70] label(i59, i65, p70, descr=TargetToken(139917065698960)) 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=<Guard0x7f40faffbad0>) [i59, i65, p70] i63 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i73 = int_add(i63, 100) i75 = int_add(i65, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0x7f40faec7ad0>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i62 = int_add(i63, 101) i60 = int_add(i65, -2) i64 = int_gt(i60, 0) guard_true(i64, descr=<Guard0x7f40faed4910>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i62, descr=TargetToken(139917064517264)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i62, 100) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0x7f40faed4d10>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i62, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0x7f40faed4a10>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(139917064517264)) [c5fd549c5f3ed00] jit-log-compiling-loop} [c5fd549c5f4da00] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd549c5f53980] jit-mem-looptoken-alloc} [c5fd549c5f74e80] jit-backend} compiled new loop [c5fd549c5f7b200] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(139917065698960)) 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=<Guard0x7f40faffbad0>) [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=<Guard0x7f40faec7ad0>) [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=<Guard0x7f40faed4910>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(139917064517264)) 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=<Guard0x7f40faed4d10>) [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=<Guard0x7f40faed4a10>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(139917064517264)) [c5fd549c5fcc700] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549c615a000] 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 [c5fd549c83c3f00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd549c852f200] {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 [c5fd549c8544d80] jit-trace-done} [c5fd549c856a100] {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>) [c5fd549c85b5e00] jit-log-noopt} [c5fd549c85bec80] {jit-optimize [c5fd549c85d6980] {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 0x7f40fae24350>) [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 0x7f40fae28610>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c882bc80] jit-log-intbounds} [c5fd549c889bb80] {jit-log-exported-state [i12, i13, r14] PureOp(i15 = int_gt(i13, 0/ci)) INP(i12) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i13 = int_add(i16, -1/ci)) INP(i17 = int_add(i18, 1/ci)) [c5fd549c88aec00] jit-log-exported-state} [c5fd549c88b4980] jit-optimize} [c5fd549c88c6a80] {jit-optimize [c5fd549c8979d80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c899b500] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd549c89a1e80] jit-abort} [c5fd549c89a6b00] jit-log-intbounds} [c5fd549c89ab300] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd549c8ada480] {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 [c5fd549c8aef480] jit-trace-done} [c5fd549c8b14a00] {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>) [c5fd549c8b59000] jit-log-noopt} [c5fd549c8b61280] {jit-optimize [c5fd549c8b77c00] {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 0x7f40fae2e5d0>) [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 0x7f40fae285d0>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c8dcbf00] jit-log-intbounds} [c5fd549c8e35a80] {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 }>))) PureOp(i34 = int_gt(i32, 0/ci)) INP(i31) INP(i35 = int_add(i36, 100/ci)) INP(i32 = int_add(i37, -1/ci)) [c5fd549c8e48180] jit-log-exported-state} [c5fd549c8e4db80] jit-optimize} [c5fd549c8e5e100] {jit-optimize [c5fd549c8f0ce00] {jit-log-intbounds [i0, i1, p2] [c5fd549c8f1ef00] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd549c8f24680] jit-abort} [c5fd549c8f28580] jit-log-intbounds} [c5fd549c8f2c980] jit-optimize} cancelled, tracing more... [c5fd549c8f3c580] {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 [c5fd549c8f50a00] jit-trace-done} [c5fd549c8f77100] {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>) [c5fd549c8fe0880] jit-log-noopt} [c5fd549c8fe8780] {jit-optimize [c5fd549c8ffe180] {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 0x7f40faffb990>) [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 0x7f40fae28590>) [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 0x7f40fae28090>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c93ca400] jit-log-intbounds} [c5fd549c9438d80] {jit-log-exported-state [i59, i60, r61] PureOp(i62 = int_gt(i60, 0/ci)) INP(i60 = int_add(i63, -2/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i59) INP(i64 = int_add(i65, 101/ci)) [c5fd549c944b480] jit-log-exported-state} [c5fd549c9451200] jit-optimize} [c5fd549c9462380] {jit-optimize [c5fd549c9512a00] {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 0x7f40fae36dd0>) [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 0x7f40fae3b410>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549c99b7380] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(139917063809040)) [c5fd549c9aa2b00] jit-optimize} [c5fd549c9aa9a80] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd549c9ab4c00] jit-log-short-preamble} [c5fd549c9ad7900] {jit-backend [c5fd549c9ae4a00] {jit-log-compiling-loop [i59, i63, p70] label(i59, i63, p70, descr=TargetToken(139917063808144)) 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=<Guard0x7f40faffb990>) [i59, i63, p70] i65 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i73 = int_add(i65, 1) i75 = int_add(i63, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0x7f40fae28590>) [i59, i63, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i64 = int_add(i65, 101) i60 = int_add(i63, -2) i62 = int_gt(i60, 0) guard_true(i62, descr=<Guard0x7f40fae28090>) [i59, i63, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i64, descr=TargetToken(139917063809040)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i64, 1) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0x7f40fae36dd0>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i64, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0x7f40fae3b410>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(139917063809040)) [c5fd549c9b31c00] jit-log-compiling-loop} [c5fd549c9b40080] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd549c9b45e00] jit-mem-looptoken-alloc} [c5fd549c9b67180] jit-backend} compiled new loop [c5fd549c9b6d180] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(139917063808144)) 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=<Guard0x7f40faffb990>) [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=<Guard0x7f40fae28590>) [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=<Guard0x7f40fae28090>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(139917063809040)) 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=<Guard0x7f40fae36dd0>) [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=<Guard0x7f40fae3b410>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(139917063809040)) [c5fd549c9bbd680] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549c9d4d680] jit-tracing} ____________________ TestLLtype.test_oosend_guard_failure_2 ____________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0x7f40faedb4d0> 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 0x7f40fad8f990> 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 0x7f40fad0d390>, <* 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 0x7f40fad0d390>, <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 0x7f40fad0d390>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0x7f40fab6d310: 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 0x7f40fad8fc90>, <* 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 0x7f40fad8fc90>, <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 0x7f40fad8fc90>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0x7f40fac8d1d0: 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 [c5fd549cd734c80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd549cd89da80] {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 [c5fd549cd8b2e00] jit-trace-done} [c5fd549cd8d7b80] {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>) [c5fd549cd921f00] jit-log-noopt} [c5fd549cd92b000] {jit-optimize [c5fd549cd941b00] {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 0x7f40fad8f990>) [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 0x7f40fad97e10>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549cdb8d700] jit-log-intbounds} [c5fd549cdbfb780] {jit-log-exported-state [i12, i13, r14] PureOp(i15 = int_gt(i13, 0/ci)) INP(i13 = int_add(i16, -1/ci)) INP(i12) INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i17 = int_add(i18, 100/ci)) [c5fd549cdc0e400] jit-log-exported-state} [c5fd549cdc13d80] jit-optimize} [c5fd549cdc23c00] {jit-optimize [c5fd549cdcd2c80] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549cdcf1300] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd549cdcf6d00] jit-abort} [c5fd549cdcfad00] jit-log-intbounds} [c5fd549cdcfef80] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd549cde24300] {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 [c5fd549cde39500] jit-trace-done} [c5fd549cde5d300] {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>) [c5fd549cde9fd80] jit-log-noopt} [c5fd549cdea7880] {jit-optimize [c5fd549cdebce00] {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 0x7f40fad9add0>) [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 0x7f40fad97dd0>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549ce0f1b00] jit-log-intbounds} [c5fd549ce16ef80] {jit-log-exported-state [i31, i32, r33] INP(i34 = int_add(i35, 1/ci)) PureOp(i36 = int_gt(i32, 0/ci)) INP(i31) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i32 = int_add(i37, -1/ci)) [c5fd549ce181480] jit-log-exported-state} [c5fd549ce186c80] jit-optimize} [c5fd549ce196400] {jit-optimize [c5fd549ce244500] {jit-log-intbounds [i0, i1, p2] [c5fd549ce255480] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd549ce25ac80] jit-abort} [c5fd549ce25eb00] jit-log-intbounds} [c5fd549ce262d80] jit-optimize} cancelled, tracing more... [c5fd549ce271e00] {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 [c5fd549ce286600] jit-trace-done} [c5fd549ce2aac00] {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>) [c5fd549ce310b00] jit-log-noopt} [c5fd549ce318280] {jit-optimize [c5fd549ce32c800] {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 0x7f40faedab50>) [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 0x7f40fad97d90>) [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 0x7f40fada4bd0>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549ce6d9100] jit-log-intbounds} [c5fd549ce748c00] {jit-log-exported-state [i59, i60, r61] INP(i62 = int_add(i63, 101/ci)) INP(i59) PureOp(i64 = int_gt(i60, 0/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i60 = int_add(i65, -2/ci)) [c5fd549ce75b100] jit-log-exported-state} [c5fd549ce760d00] jit-optimize} [c5fd549ce771280] {jit-optimize [c5fd549ce81f580] {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 0x7f40fadaa610>) [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 0x7f40fadaac10>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549ceca5900] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(139917063340176)) [c5fd549ced92a00] jit-optimize} [c5fd549ced99700] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd549ceda4b00] jit-log-short-preamble} [c5fd549cedc6a00] {jit-backend [c5fd549cedd3100] {jit-log-compiling-loop [i59, i65, p70] label(i59, i65, p70, descr=TargetToken(139917063135120)) 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=<Guard0x7f40faedab50>) [i59, i65, p70] i63 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y')) i73 = int_add(i63, 100) i75 = int_add(i65, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0x7f40fad97d90>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i62 = int_add(i63, 101) i60 = int_add(i65, -2) i64 = int_gt(i60, 0) guard_true(i64, descr=<Guard0x7f40fada4bd0>) [i59, i65, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i62, descr=TargetToken(139917063340176)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i62, 100) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0x7f40fadaa610>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i62, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0x7f40fadaac10>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(139917063340176)) [c5fd549cee1ff80] jit-log-compiling-loop} [c5fd549cee2e400] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd549cee34400] jit-mem-looptoken-alloc} [c5fd549cee67c80] jit-backend} compiled new loop [c5fd549cee6ed80] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(139917063135120)) 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=<Guard0x7f40faedab50>) [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=<Guard0x7f40fad97d90>) [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=<Guard0x7f40fada4bd0>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(139917063340176)) 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=<Guard0x7f40fadaa610>) [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=<Guard0x7f40fadaac10>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(139917063340176)) [c5fd549ceec1f80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549cf057600] 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 [c5fd549d10e2300] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd549d1263680] {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 [c5fd549d1278c80] jit-trace-done} [c5fd549d129da80] {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>) [c5fd549d12e8180] jit-log-noopt} [c5fd549d12f1080] {jit-optimize [c5fd549d1307f80] {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 0x7f40facb24d0>) [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 0x7f40facb7790>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d155b700] jit-log-intbounds} [c5fd549d15c9d00] {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 }>))) PureOp(i17 = int_gt(i13, 0/ci)) INP(i12) INP(i13 = int_add(i18, -1/ci)) [c5fd549d15dd900] jit-log-exported-state} [c5fd549d15e3480] jit-optimize} [c5fd549d15f4080] {jit-optimize [c5fd549d16a6a00] {jit-log-intbounds [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d16c6f80] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail [c5fd549d16ccb80] jit-abort} [c5fd549d16d0d80] jit-log-intbounds} [c5fd549d16d5400] jit-optimize} cancelled, tracing more... (jitdriver: no get_printable_location) [c5fd549d1800d00] {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 [c5fd549d1816100] jit-trace-done} [c5fd549d1839f00] {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>) [c5fd549d187c180] jit-log-noopt} [c5fd549d1883d00] {jit-optimize [c5fd549d1899000] {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 0x7f40facbd750>) [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 0x7f40facb7750>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d1acef00] jit-log-intbounds} [c5fd549d1b3aa00] {jit-log-exported-state [i31, i32, r33] INP(i32 = int_add(i34, -1/ci)) INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) PureOp(i35 = int_gt(i32, 0/ci)) INP(i31) INP(i36 = int_add(i37, 100/ci)) [c5fd549d1b4d080] jit-log-exported-state} [c5fd549d1b52a80] jit-optimize} [c5fd549d1b62c80] {jit-optimize [c5fd549d1c22900] {jit-log-intbounds [i0, i1, p2] [c5fd549d1c34600] {jit-abort A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail [c5fd549d1c39e00] jit-abort} [c5fd549d1c3de00] jit-log-intbounds} [c5fd549d1c42280] jit-optimize} cancelled, tracing more... [c5fd549d1c52080] {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 [c5fd549d1c66e80] jit-trace-done} [c5fd549d1c8c600] {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>) [c5fd549d1cf4c00] jit-log-noopt} [c5fd549d1cfc900] {jit-optimize [c5fd549d1d11100] {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 0x7f40fadb6610>) [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 0x7f40facb7710>) [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 0x7f40fac45550>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d20c3f80] jit-log-intbounds} [c5fd549d2132780] {jit-log-exported-state [i59, i60, r61] INP(i59) PureOp(i62 = int_gt(i60, 0/ci)) INP(i60 = int_add(i63, -2/ci)) INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))) INP(i64 = int_add(i65, 101/ci)) [c5fd549d2145200] jit-log-exported-state} [c5fd549d214b000] jit-optimize} [c5fd549d215bf80] {jit-optimize [c5fd549d220bf80] {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 0x7f40facb7110>) [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 0x7f40facb7f90>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d2695180] jit-log-intbounds} # i15: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i15, i13, descr=TargetToken(139917061852944)) [c5fd549d2781500] jit-optimize} [c5fd549d2788080] {jit-log-short-preamble [] label(i66, i67, i68, p69) jump() [c5fd549d2793600] jit-log-short-preamble} [c5fd549d27b4f00] {jit-backend [c5fd549d27c1a00] {jit-log-compiling-loop [i59, i63, p70] label(i59, i63, p70, descr=TargetToken(139917062297104)) 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=<Guard0x7f40fadb6610>) [i59, i63, p70] i65 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x')) i73 = int_add(i65, 1) i75 = int_add(i63, -1) i77 = int_gt(i75, 0) guard_true(i77, descr=<Guard0x7f40facb7710>) [i59, i63, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i64 = int_add(i65, 101) i60 = int_add(i63, -2) i62 = int_gt(i60, 0) guard_true(i62, descr=<Guard0x7f40fac45550>) [i59, i63, p70] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i59, i60, i64, descr=TargetToken(139917061852944)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i82 = int_add(i64, 1) i84 = int_add(i60, -1) i86 = int_gt(i84, 0) guard_true(i86, descr=<Guard0x7f40facb7110>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i88 = int_add(i64, 101) i90 = int_add(i60, -2) i92 = int_gt(i90, 0) guard_true(i92, descr=<Guard0x7f40facb7f90>) [i59, i84, i82] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i59, i90, i88, descr=TargetToken(139917061852944)) [c5fd549d2811380] jit-log-compiling-loop} [c5fd549d281f280] {jit-mem-looptoken-alloc allocating Loop # 3 [c5fd549d2825200] jit-mem-looptoken-alloc} [c5fd549d2845d80] jit-backend} compiled new loop [c5fd549d284c180] {jit-log-opt-loop # Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(139917062297104)) 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=<Guard0x7f40fadb6610>) [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=<Guard0x7f40facb7710>) [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=<Guard0x7f40fac45550>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i14, i12, descr=TargetToken(139917061852944)) 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=<Guard0x7f40facb7110>) [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=<Guard0x7f40facb7f90>) [i0, i20, i18] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i26, i24, descr=TargetToken(139917061852944)) [c5fd549d289b500] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549d2a2d200] jit-tracing} ________________ TestLLtype.test_oosend_different_initial_class ________________ self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0x7f40facdf310> 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 0x7f40faacc290> 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 0x7f40faacc4d0>, <* 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 0x7f40faacc4d0>, <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 0x7f40faacc4d0>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0x7f40fab29750: 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 [c5fd549d631b600] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd549d6497000] {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 [c5fd549d64ac780] jit-trace-done} [c5fd549d64d1980] {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>) [c5fd549d652ab80] jit-log-noopt} [c5fd549d6533c00] {jit-optimize [c5fd549d6549f80] {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 0x7f40fab9ded0>) [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 0x7f40fab93490>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d679f800] jit-log-intbounds} [c5fd549d680f880] {jit-log-exported-state [i12, i13, r14] INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))) INP(i12) INP(i15 = int_lshift(i16, 1/ci)) PureOp(i17 = int_gt(i13, 0/ci)) INP(i13 = int_add(i18, -1/ci)) [c5fd549d6822580] jit-log-exported-state} [c5fd549d6827f80] jit-optimize} [c5fd549d6838d00] {jit-optimize [c5fd549d68fab00] {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 0x7f40fab93450>) [i11, i8, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd549d6bb2b80] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i11, i8, i5, descr=TargetToken(139917061102480)) [c5fd549d6caba00] jit-optimize} [c5fd549d6cb2f00] {jit-log-short-preamble [] label(i19, i20, i21, p22) jump() [c5fd549d6cbe880] jit-log-short-preamble} [c5fd549d6cd8e80] {jit-backend [c5fd549d6ce6500] {jit-log-compiling-loop [i12, i18, p23] label(i12, i18, p23, descr=TargetToken(139917061118544)) 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=<Guard0x7f40fab9ded0>) [i12, i18, 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(i18, -1) i17 = int_gt(i13, 0) guard_true(i17, descr=<Guard0x7f40fab93490>) [i12, i18, p23] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i12, i13, i15, descr=TargetToken(139917061102480)) 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=<Guard0x7f40fab93450>) [i12, i31, i29] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, i31, i29, descr=TargetToken(139917061102480)) [c5fd549d6d1d600] jit-log-compiling-loop} [c5fd549d6d2c480] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd549d6d32400] jit-mem-looptoken-alloc} [c5fd549d6d4c000] jit-backend} compiled new loop [c5fd549d6d52400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1, p2] label(i0, i1, p2, descr=TargetToken(139917061118544)) 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=<Guard0x7f40fab9ded0>) [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=<Guard0x7f40fab93490>) [i0, i1, p2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i0, i8, i6, descr=TargetToken(139917061102480)) 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=<Guard0x7f40fab93450>) [i0, i14, i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i0, i14, i12, descr=TargetToken(139917061102480)) [c5fd549d6d8bc00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd549d6f51580] 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 7.40 seconds ====================== ++ 09:52:11 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit/metainterp/test/test_support.py . =========================== 1 passed in 0.07 seconds =========================== ++ 09:52:12 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit/metainterp/test/test_threadlocal.py ... =========================== 3 passed in 0.99 seconds =========================== ++ 09:52:13 starting jit/metainterp/test/test_tl.py [157 started in total] __ jit/metainterp/test/test_recursive.py [154 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 46.69 seconds ===================== ++ 09:52:20 starting jit/metainterp/test/test_tlc.py [158 started in total] __ jit/metainterp/test/test_tl.py [155 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f5ca2ee4b40> 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 0x7f5ca2ca5210> 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 0x7f5ca2d41090>, <* 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 [c5fd54ab82c5980] {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) [c5fd54ab9667b80] {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 [c5fd54ab9681580] jit-trace-done} [c5fd54ab9717e00] {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>) [c5fd54ab97fdc00] jit-log-noopt} [c5fd54ab9809f00] {jit-optimize [c5fd54ab9871100] {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 0x7f5ca2eadf10>) [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 0x7f5ca2b0a690>) [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)') [c5fd54ab9cfe000] jit-log-intbounds} [c5fd54ab9f0cf80] {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(r42) INP(i47) INP(i46) INP(i65) INP(i50) INP(i51) INP(i52) INP(i53) INP(i54) INP(i55) INP(i56) INP(i57) INP(i49) INP(i59) INP(i60) INP(i61) INP(i62) INP(i63) INP(i64) INP(i43 = int_mul(i66, i67)) INP(i48) INP(i44 = int_add(i67, -1/ci)) INP(i45) INP(i58) INP(i41) [c5fd54ab9f3bd80] jit-log-exported-state} [c5fd54ab9f44480] jit-optimize} [c5fd54ab9f59800] {jit-optimize [c5fd54aba3a0180] {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 0x7f5ca2b0a610>) [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)') [c5fd54aba7f5080] 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(140035842914192)) [c5fd54abac50780] jit-optimize} [c5fd54abac59600] {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() [c5fd54abac6bd80] jit-log-short-preamble} [c5fd54abad1ae00] {jit-backend [c5fd54abad2f480] {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(140035845298384)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i93, 2, descr=<Guard0x7f5ca2eadf10>) [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=<Guard0x7f5ca2b0a690>) [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(140035842914192)) 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=<Guard0x7f5ca2b0a610>) [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(140035842914192)) [c5fd54abadf0400] jit-log-compiling-loop} [c5fd54abae01780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54abae07f00] jit-mem-looptoken-alloc} [c5fd54abae63080] jit-backend} compiled new loop [c5fd54abae6a500] {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(140035845298384)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 2, descr=<Guard0x7f5ca2eadf10>) [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=<Guard0x7f5ca2b0a690>) [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(140035842914192)) 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=<Guard0x7f5ca2b0a610>) [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(140035842914192)) [c5fd54abaf2cb00] jit-log-opt-loop} ContinueRunningNormally [c5fd54abb1e6e80] jit-tracing} _____________________________ TestLLtype.test_tl_2 _____________________________ self = <rpython.jit.metainterp.test.test_tl.TestLLtype instance at 0x7f5ca2c29500> 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 0x7f5ca28d3410> 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 0x7f5ca2a72590>, <* 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 [c5fd54acd3e9f00] {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) [c5fd54acdd32480] {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 [c5fd54acdd47680] jit-trace-done} [c5fd54acddb5080] {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>) [c5fd54acde59300] jit-log-noopt} [c5fd54acde62980] {jit-optimize [c5fd54acdeaa880] {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 0x7f5ca2801fd0>) [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 0x7f5ca27b62d0>) [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)') [c5fd54ace1ece00] jit-log-intbounds} [c5fd54ace382800] {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(i44) INP(i36) INP(i45) PureOp(i47 = int_le(i33, 1/ci)) INP(i38) INP(i37) INP(r32) INP(i31) INP(i43) INP(i39) INP(i35) INP(i40) INP(i46) INP(i41) INP(i42) INP(i33 = int_add(i48, -1/ci)) INP(i34) [c5fd54ace3a4e80] jit-log-exported-state} [c5fd54ace3ab400] jit-optimize} [c5fd54ace3bdb80] {jit-optimize [c5fd54ace670800] {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 0x7f5ca27b6350>) [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)') [c5fd54acea06000] 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(140035839232144)) [c5fd54aced1a100] jit-optimize} [c5fd54aced21200] {jit-log-short-preamble [] label(i49, p50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64) jump() [c5fd54aced2fd00] jit-log-short-preamble} [c5fd54acedac500] {jit-backend [c5fd54acedbea00] {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(140035840023248)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i65, 1, descr=<Guard0x7f5ca2801fd0>) [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=<Guard0x7f5ca27b62d0>) [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(140035839232144)) 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=<Guard0x7f5ca27b6350>) [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(140035839232144)) [c5fd54acee46c00] jit-log-compiling-loop} [c5fd54acee55600] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54acee5b800] jit-mem-looptoken-alloc} [c5fd54aceea7a80] jit-backend} compiled new loop [c5fd54aceeaeb80] {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(140035840023248)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_value(i2, 1, descr=<Guard0x7f5ca2801fd0>) [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=<Guard0x7f5ca27b62d0>) [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(140035839232144)) 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=<Guard0x7f5ca27b6350>) [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(140035839232144)) [c5fd54acef39080] jit-log-opt-loop} ContinueRunningNormally [c5fd54acf157280] 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 6.27 seconds ====================== ++ 09:52:22 starting jit/metainterp/test/test_tracelimit.py [159 started in total] __ jit/metainterp/test/test_tlc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.45 seconds ====================== ++ 09:52:24 starting jit/metainterp/test/test_tracingopts.py [160 started in total] __ jit/metainterp/test/test_tracingopts.py [157 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 9.00 seconds ===================== ++ 09:52:34 starting jit/metainterp/test/test_virtual.py [161 started in total] __ jit/metainterp/test/test_string.py [158 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f8dae0618c0> 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 0x7f8dadf05590> 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 0x7f8dadf05550>, <* 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 0x7f8dadf05550>, <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 0x7f8daf901d90: 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 0x7f8dadf05550>, <* 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 0x7f8dadf05550>, <* 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 [c5fd54a8e7c0880] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54a8e8e0f80] {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 [c5fd54a8e8f6900] jit-trace-done} [c5fd54a8e919580] {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 0x7f8dadf38610>) 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>) [c5fd54a8e956c00] jit-log-noopt} [c5fd54a8e95ff00] {jit-optimize [c5fd54a8e974100] {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 0x7f8dade84590>) [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 0x7f8dade85590>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54a8eb4db80] jit-log-intbounds} [c5fd54a91516f80] {jit-log-exported-state [i8, i9] INP(i9 = int_add(i10, 1/ci)) INP(i8 = int_add(i11, -1/ci)) PureOp(i12 = int_is_true(i8)) [c5fd54a91527b00] jit-log-exported-state} [c5fd54a9152d900] jit-optimize} [c5fd54a91541300] {jit-optimize [c5fd54a915a9180] {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 0x7f8dade84910>) [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 0x7f8daded3f90>) [i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54a9176cb80] jit-log-intbounds} jump(i7, i5, descr=TargetToken(140246485120912)) [c5fd54a917d2b00] jit-optimize} [c5fd54a917d9880] {jit-log-short-preamble [] label(i13, i14) jump() [c5fd54a917e4000] jit-log-short-preamble} [c5fd54a917fbe80] {jit-backend [c5fd54a91808a00] {jit-log-compiling-loop [i11, i10] label(i11, i10, descr=TargetToken(140246484796752)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8dade84590>) [i11, i10] i9 = int_add(i10, 1) i8 = int_add(i11, -1) i12 = int_is_true(i8) guard_true(i12, descr=<Guard0x7f8dade85590>) [i11, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(140246485120912)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8dade84910>) [i8, i9] i18 = int_add(i9, 1) i20 = int_add(i8, -1) i21 = int_is_true(i20) guard_true(i21, descr=<Guard0x7f8daded3f90>) [i8, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i18, descr=TargetToken(140246485120912)) [c5fd54a9183a700] jit-log-compiling-loop} [c5fd54a91847f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54a9184dd80] jit-mem-looptoken-alloc} [c5fd54a91866800] jit-backend} compiled new loop [c5fd54a9186c980] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1] label(i0, i1, descr=TargetToken(140246484796752)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8dade84590>) [i0, i1] i3 = int_add(i1, 1) i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<Guard0x7f8dade85590>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i3, descr=TargetToken(140246485120912)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8dade84910>) [i5, i3] i8 = int_add(i3, 1) i10 = int_add(i5, -1) i11 = int_is_true(i10) guard_true(i11, descr=<Guard0x7f8daded3f90>) [i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i8, descr=TargetToken(140246485120912)) [c5fd54a918a1300] jit-log-opt-loop} [c5fd54a91991700] {jit-invalidate-quasi-immutable fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1 [c5fd54a9199a200] jit-invalidate-quasi-immutable} DoneWithThisFrameInt [c5fd54a919b3480] jit-tracing} _____________________ TestLLtype.test_stringbuilder_create _____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dad68f870> 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 0x7f8dad5c39d0> 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 [c5fd54accc93100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54accf9aa80] {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 [c5fd54accfafb00] jit-trace-done} [c5fd54accfcc200] {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 0x7f8dad54f390: 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 0x7f8dad53f810: 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>) [c5fd54acd03d280] jit-log-noopt} [c5fd54acd047280] {jit-optimize [c5fd54acd056e80] {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 0x7f8dad56c4d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54acd25a880] jit-log-intbounds} [c5fd54acd28e880] {jit-log-exported-state [i21] INP(i21 = int_add(i22, -1/ci)) PureOp(i23 = int_gt(i21, 0/ci)) [c5fd54acd29b400] jit-log-exported-state} [c5fd54acd2a0400] jit-optimize} [c5fd54acd2af600] {jit-optimize [c5fd54acd31d000] {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 0x7f8dad56cbd0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54acd592a00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246475263376)) [c5fd54acd60f800] jit-optimize} [c5fd54acd616380] {jit-log-short-preamble [] label(i24) jump() [c5fd54acd620780] jit-log-short-preamble} [c5fd54acd634400] {jit-backend [c5fd54acd640580] {jit-log-compiling-loop [i22] label(i22, descr=TargetToken(140246475238800)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i22, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0x7f8dad56c4d0>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(140246475263376)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0x7f8dad56cbd0>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(140246475263376)) [c5fd54acd666480] jit-log-compiling-loop} [c5fd54acd673200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54acd679180] jit-mem-looptoken-alloc} [c5fd54acd68d200] jit-backend} compiled new loop [c5fd54acd693780] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246475238800)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dad56c4d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246475263376)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dad56cbd0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246475263376)) [c5fd54acd6bd100] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54acd75b280] jit-tracing} __________________ TestLLtype.test_stringbuilder_append_char ___________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dad664500> 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 0x7f8dad387d50> 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 22 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 [c5fd54ad61faf80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54ad65aed80] {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 [c5fd54ad65c3f80] jit-trace-done} [c5fd54ad65e1000] {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 0x7f8dad567c10: 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>) [c5fd54ad6672880] jit-log-noopt} [c5fd54ad667ba80] {jit-optimize [c5fd54ad668d200] {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 0x7f8dad52ba50>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ad6964300] jit-log-intbounds} [c5fd54ad6997f00] {jit-log-exported-state [i32] INP(i32 = int_add(i33, -1/ci)) PureOp(i34 = int_gt(i32, 0/ci)) [c5fd54ad69a4880] jit-log-exported-state} [c5fd54ad69a9c00] jit-optimize} [c5fd54ad69b9680] {jit-optimize [c5fd54ad6a13980] {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 0x7f8dad532c90>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ad6cb1080] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246475025616)) [c5fd54ad6d2c180] jit-optimize} [c5fd54ad6d33080] {jit-log-short-preamble [] label(i35) jump() [c5fd54ad6d3d480] jit-log-short-preamble} [c5fd54ad6d51b00] {jit-backend [c5fd54ad6d5e000] {jit-log-compiling-loop [i33] label(i33, descr=TargetToken(140246474974352)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i32 = int_add(i33, -1) i34 = int_gt(i32, 0) guard_true(i34, descr=<Guard0x7f8dad52ba50>) [i32] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i32, descr=TargetToken(140246475025616)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i32, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0x7f8dad532c90>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i39, descr=TargetToken(140246475025616)) [c5fd54ad6d83d80] jit-log-compiling-loop} [c5fd54ad6d90c80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54ad6d97600] jit-mem-looptoken-alloc} [c5fd54ad6dab280] jit-backend} compiled new loop [c5fd54ad6db1400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246474974352)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dad52ba50>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246475025616)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dad532c90>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246475025616)) [c5fd54ad6ddb600] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54ad6e78b80] jit-tracing} ____________________ TestLLtype.test_stringbuilder_append_1 ____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dad3aeaa0> 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 0x7f8dad49e250> 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 / 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 22 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 [c5fd54ae4af2800] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54ae4ea7580] {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 [c5fd54ae4ebcb00] jit-trace-done} [c5fd54ae4ed9480] {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 0x7f8dad462910: 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>) [c5fd54ae4f63f00] jit-log-noopt} [c5fd54ae4f6cb80] {jit-optimize [c5fd54ae4f7cb80] {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 0x7f8dad2e8ad0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ae51b9580] jit-log-intbounds} [c5fd54ae51ed780] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd54ae51f9f00] jit-log-exported-state} [c5fd54ae51fef00] jit-optimize} [c5fd54ae520df00] {jit-optimize [c5fd54ae5267c80] {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 0x7f8dad2efd10>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ae54ff000] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246472654160)) [c5fd54ae5578580] jit-optimize} [c5fd54ae557f080] {jit-log-short-preamble [] label(i36) jump() [c5fd54ae5589300] jit-log-short-preamble} [c5fd54ae559cd80] {jit-backend [c5fd54ae55ab400] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(140246472594960)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8dad2e8ad0>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(140246472654160)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0x7f8dad2efd10>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(140246472654160)) [c5fd54ae55d3680] jit-log-compiling-loop} [c5fd54ae55e0380] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54ae55e6380] jit-mem-looptoken-alloc} [c5fd54ae55fbb00] jit-backend} compiled new loop [c5fd54ae5603e00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246472594960)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dad2e8ad0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246472654160)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dad2efd10>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246472654160)) [c5fd54ae562f700] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54ae5707600] jit-tracing} ____________________ TestLLtype.test_stringbuilder_append_2 ____________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dad98b4b0> 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 0x7f8dace1a790> 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 [c5fd54af68c2580] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54af6cd4780] {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 [c5fd54af6ce9f00] jit-trace-done} [c5fd54af6d07400] {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 0x7f8dad1f3310: 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>) [c5fd54af6da0e80] jit-log-noopt} [c5fd54af6daa180] {jit-optimize [c5fd54af6db9f00] {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 0x7f8dad129790>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54af7009d80] jit-log-intbounds} [c5fd54af703e980] {jit-log-exported-state [i39] INP(i39 = int_add(i40, -1/ci)) PureOp(i41 = int_gt(i39, 0/ci)) [c5fd54af704b280] jit-log-exported-state} [c5fd54af7050700] jit-optimize} [c5fd54af7060a80] {jit-optimize [c5fd54af70bb180] {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 0x7f8dad1329d0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54af739b500] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246470830608)) [c5fd54af742cd80] jit-optimize} [c5fd54af7433680] {jit-log-short-preamble [] label(i42) jump() [c5fd54af743d880] jit-log-short-preamble} [c5fd54af7451b00] {jit-backend [c5fd54af745e480] {jit-log-compiling-loop [i40] label(i40, descr=TargetToken(140246470784208)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i40, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0x7f8dad129790>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i39, descr=TargetToken(140246470830608)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = int_add(i39, -1) i48 = int_gt(i46, 0) guard_true(i48, descr=<Guard0x7f8dad1329d0>) [i46] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i46, descr=TargetToken(140246470830608)) [c5fd54af7484f80] jit-log-compiling-loop} [c5fd54af7492200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54af7498000] jit-mem-looptoken-alloc} [c5fd54af74ac480] jit-backend} compiled new loop [c5fd54af74b2580] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246470784208)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dad129790>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246470830608)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dad1329d0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246470830608)) [c5fd54af74dc000] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54af7579580] jit-tracing} __________________ TestLLtype.test_stringbuilder_append_empty __________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dace450f0> 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 0x7f8dacf87cd0> 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 19 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 [c5fd54b04e93f80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54b0515d980] {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 [c5fd54b05172900] jit-trace-done} [c5fd54b0518f200] {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 0x7f8dacf64950: 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>) [c5fd54b051fa500] jit-log-noopt} [c5fd54b05203780] {jit-optimize [c5fd54b05213780] {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 0x7f8dace93950>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b0540f880] jit-log-intbounds} [c5fd54b05443600] {jit-log-exported-state [i19] PureOp(i20 = int_gt(i19, 0/ci)) INP(i19 = int_add(i21, -1/ci)) [c5fd54b05451100] jit-log-exported-state} [c5fd54b05456580] jit-optimize} [c5fd54b05465b80] {jit-optimize [c5fd54b054beb00] {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 0x7f8dace999d0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b05716c80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246468107024)) [c5fd54b05791f80] jit-optimize} [c5fd54b05798880] {jit-log-short-preamble [] label(i22) jump() [c5fd54b057a2d00] jit-log-short-preamble} [c5fd54b057b6780] {jit-backend [c5fd54b057c2080] {jit-log-compiling-loop [i21] label(i21, descr=TargetToken(140246468027408)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i21, -1) i20 = int_gt(i19, 0) guard_true(i20, descr=<Guard0x7f8dace93950>) [i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i19, descr=TargetToken(140246468107024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i26 = int_add(i19, -1) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0x7f8dace999d0>) [i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i26, descr=TargetToken(140246468107024)) [c5fd54b057e7480] jit-log-compiling-loop} [c5fd54b057f3980] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54b057f9980] jit-mem-looptoken-alloc} [c5fd54b0580d400] jit-backend} compiled new loop [c5fd54b05813580] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246468027408)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dace93950>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246468107024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dace999d0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246468107024)) [c5fd54b0583d380] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54b058d7e80] jit-tracing} _________________ TestLLtype.test_stringbuilder_append_slice_2 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dac66f690> 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 0x7f8dac4ca210> 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 / 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] 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 [c5fd54b46c77b80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54b47032b00] {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 [c5fd54b47047f00] jit-trace-done} [c5fd54b47065380] {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 0x7f8dac48f250: 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>) [c5fd54b470f2380] jit-log-noopt} [c5fd54b470fb400] {jit-optimize [c5fd54b4710b600] {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 0x7f8dac40f210>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b47349780] jit-log-intbounds} [c5fd54b4737cf80] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd54b47389900] jit-log-exported-state} [c5fd54b4738e900] jit-optimize} [c5fd54b4739e300] {jit-optimize [c5fd54b473f7a80] {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 0x7f8dac416390>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b47691700] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246457057040)) [c5fd54b4770b600] jit-optimize} [c5fd54b47711d80] {jit-log-short-preamble [] label(i36) jump() [c5fd54b4771c180] jit-log-short-preamble} [c5fd54b47730400] {jit-backend [c5fd54b4773c700] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(140246456995024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8dac40f210>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(140246457057040)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0x7f8dac416390>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(140246457057040)) [c5fd54b47762280] jit-log-compiling-loop} [c5fd54b4776ea00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54b47774c00] jit-mem-looptoken-alloc} [c5fd54b47788400] jit-backend} compiled new loop [c5fd54b4778e580] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246456995024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dac40f210>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246457057040)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dac416390>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246457057040)) [c5fd54b477b8000] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54b47855b80] jit-tracing} _____________ TestLLtype.test_stringbuilder_append_multiple_char_1 _____________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dac403190> 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 0x7f8dac2aa610> 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 [c5fd54b51ffda00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54b5249ec80] {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 [c5fd54b524b4280] jit-trace-done} [c5fd54b524d1d80] {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 0x7f8dac12cd50: 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>) [c5fd54b52586f80] jit-log-noopt} [c5fd54b52590a00] {jit-optimize [c5fd54b525a2580] {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 0x7f8dac201fd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b52840200] jit-log-intbounds} [c5fd54b52874f80] {jit-log-exported-state [i51] INP(i51 = int_add(i52, -1/ci)) PureOp(i53 = int_gt(i51, 0/ci)) [c5fd54b52881900] jit-log-exported-state} [c5fd54b52886b00] jit-optimize} [c5fd54b52897680] {jit-optimize [c5fd54b528f0c00] {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 0x7f8dac20c310>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54b52be3280] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246454919120)) [c5fd54b52c5f680] jit-optimize} [c5fd54b52c66600] {jit-log-short-preamble [] label(i54) jump() [c5fd54b52c70c00] jit-log-short-preamble} [c5fd54b52c84e80] {jit-backend [c5fd54b52c91b00] {jit-log-compiling-loop [i52] label(i52, descr=TargetToken(140246454860432)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i52, -1) i53 = int_gt(i51, 0) guard_true(i53, descr=<Guard0x7f8dac201fd0>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(140246454919120)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0x7f8dac20c310>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(140246454919120)) [c5fd54b52cb7700] jit-log-compiling-loop} [c5fd54b52cc5380] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54b52ccb180] jit-mem-looptoken-alloc} [c5fd54b52cdef80] jit-backend} compiled new loop [c5fd54b52ce5180] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246454860432)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8dac201fd0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246454919120)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8dac20c310>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246454919120)) [c5fd54b52d0e580] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54b52dae400] jit-tracing} _________________________ TestLLtype.test_shrink_array _________________________ self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0x7f8dabb6ba00> 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 0x7f8dab9d2610> 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 / 233 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 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 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 [c5fd54bae63d600] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54baea53480] {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 [c5fd54baea68880] jit-trace-done} [c5fd54baea8a180] {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 0x7f8dab999690: 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>) [c5fd54baeb1cd00] jit-log-noopt} [c5fd54baeb25f80] {jit-optimize [c5fd54baeb39880] {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 0x7f8dab913610>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54baedb0980] jit-log-intbounds} [c5fd54baedf4780] {jit-log-exported-state [i37, i38] INP(i38 = int_add(i39, -1/ci)) INP(i37 = int_add(i40, 8/ci)) PureOp(i41 = int_ge(i38, 0/ci)) [c5fd54baee03800] jit-log-exported-state} [c5fd54baee08800] jit-optimize} [c5fd54baee18a00] {jit-optimize [c5fd54baee96b00] {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 0x7f8dab9135d0>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54baf17bb00] jit-log-intbounds} # i7: (0 <= 0b0?...?) IntBound.nonnegative() jump(i4, i7, descr=TargetToken(140246445564368)) [c5fd54baf217300] jit-optimize} [c5fd54baf21dc80] {jit-log-short-preamble [] label(i42, i43) jump() [c5fd54baf228680] jit-log-short-preamble} [c5fd54baf23ea00] {jit-backend [c5fd54baf24ad80] {jit-log-compiling-loop [i40, i39] label(i40, i39, descr=TargetToken(140246445498960)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i37 = int_add(i40, 8) i38 = int_add(i39, -1) i41 = int_ge(i38, 0) guard_true(i41, descr=<Guard0x7f8dab913610>) [i37, i38] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i37, i38, descr=TargetToken(140246445564368)) 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=<Guard0x7f8dab9135d0>) [i48, i50] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, i50, descr=TargetToken(140246445564368)) [c5fd54baf276080] jit-log-compiling-loop} [c5fd54baf282e00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54baf288d80] jit-mem-looptoken-alloc} [c5fd54baf29e900] jit-backend} compiled new loop [c5fd54baf2a4d00] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(140246445498960)) 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=<Guard0x7f8dab913610>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(140246445564368)) 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=<Guard0x7f8dab9135d0>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(140246445564368)) [c5fd54baf2d4a80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54baf380c80] jit-tracing} _____________ TestLLtypeUnicode.test_string_compare_quasiimmutable _____________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8daa09c320> 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 0x7f8daa058290> 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 0x7f8daa058250>, <* 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 0x7f8daa058250>, <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 0x7f8dad53f810: 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 0x7f8daa058250>, <* 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 0x7f8daa058250>, <* 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 [c5fd54c5914e100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54c59281380] {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 [c5fd54c59296380] jit-trace-done} [c5fd54c592b6f00] {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 0x7f8daa0837d0>) 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>) [c5fd54c592ef900] jit-log-noopt} [c5fd54c592f8780] {jit-optimize [c5fd54c5930c000] {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 0x7f8daaa71350>) [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 0x7f8da9f7c690>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54c594e8f00] jit-log-intbounds} [c5fd54c5951f800] {jit-log-exported-state [i8, i9] INP(i8 = int_add(i10, -1/ci)) PureOp(i11 = int_is_true(i8)) INP(i9 = int_add(i12, 1/ci)) [c5fd54c5952e080] jit-log-exported-state} [c5fd54c59533480] jit-optimize} [c5fd54c59546d00] {jit-optimize [c5fd54c595add80] {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 0x7f8da9f7c810>) [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 0x7f8da9f7c650>) [i2, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54c5976a480] jit-log-intbounds} jump(i7, i5, descr=TargetToken(140246418729936)) [c5fd54c597cf200] jit-optimize} [c5fd54c597d5d80] {jit-log-short-preamble [] label(i13, i14) jump() [c5fd54c597e0380] jit-log-short-preamble} [c5fd54c597f8080] {jit-backend [c5fd54c59804800] {jit-log-compiling-loop [i10, i12] label(i10, i12, descr=TargetToken(140246419192592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8daaa71350>) [i10, i12] i9 = int_add(i12, 1) i8 = int_add(i10, -1) i11 = int_is_true(i8) guard_true(i11, descr=<Guard0x7f8da9f7c690>) [i10, i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(140246418729936)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8da9f7c810>) [i8, i9] i18 = int_add(i9, 1) i20 = int_add(i8, -1) i21 = int_is_true(i20) guard_true(i21, descr=<Guard0x7f8da9f7c650>) [i8, i9] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i20, i18, descr=TargetToken(140246418729936)) [c5fd54c59835100] jit-log-compiling-loop} [c5fd54c59842580] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54c59848580] jit-mem-looptoken-alloc} [c5fd54c59860c80] jit-backend} compiled new loop [c5fd54c59867200] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops [i0, i1] label(i0, i1, descr=TargetToken(140246419192592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8daaa71350>) [i0, i1] i3 = int_add(i1, 1) i5 = int_add(i0, -1) i6 = int_is_true(i5) guard_true(i6, descr=<Guard0x7f8da9f7c690>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i3, descr=TargetToken(140246418729936)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_not_invalidated(descr=<Guard0x7f8da9f7c810>) [i5, i3] i8 = int_add(i3, 1) i10 = int_add(i5, -1) i11 = int_is_true(i10) guard_true(i11, descr=<Guard0x7f8da9f7c650>) [i5, i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, i8, descr=TargetToken(140246418729936)) [c5fd54c5989b780] jit-log-opt-loop} [c5fd54c5998a600] {jit-invalidate-quasi-immutable fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1 [c5fd54c59993080] jit-invalidate-quasi-immutable} DoneWithThisFrameInt [c5fd54c599abf00] jit-tracing} _________________ TestLLtypeUnicode.test_stringbuilder_create __________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da986a0f0> 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 0x7f8da979a110> 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 [c5fd54c991e6800] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54c994fbe80] {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 [c5fd54c99511280] jit-trace-done} [c5fd54c9952e700] {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 0x7f8da96f6fd0: 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 0x7f8dad53f810: 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>) [c5fd54c995a2280] jit-log-noopt} [c5fd54c995ac500] {jit-optimize [c5fd54c995bbf00] {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 0x7f8da972f3d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54c997d4100] jit-log-intbounds} [c5fd54c99808900] {jit-log-exported-state [i21] INP(i21 = int_add(i22, -1/ci)) PureOp(i23 = int_gt(i21, 0/ci)) [c5fd54c99815c00] jit-log-exported-state} [c5fd54c9981af80] jit-optimize} [c5fd54c9982ad80] {jit-optimize [c5fd54c99886480] {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 0x7f8da97354d0>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54c99b0c080] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246410024592)) [c5fd54c99b89e00] jit-optimize} [c5fd54c99b90980] {jit-log-short-preamble [] label(i24) jump() [c5fd54c99b9af80] jit-log-short-preamble} [c5fd54c99baf180] {jit-backend [c5fd54c99bbbf00] {jit-log-compiling-loop [i22] label(i22, descr=TargetToken(140246409985168)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i22, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0x7f8da972f3d0>) [i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i21, descr=TargetToken(140246410024592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i28 = int_add(i21, -1) i30 = int_gt(i28, 0) guard_true(i30, descr=<Guard0x7f8da97354d0>) [i28] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i28, descr=TargetToken(140246410024592)) [c5fd54c99be1280] jit-log-compiling-loop} [c5fd54c99bee780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54c99bf4580] jit-mem-looptoken-alloc} [c5fd54c99c07b80] jit-backend} compiled new loop [c5fd54c99c0db80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246409985168)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da972f3d0>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246410024592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da97354d0>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246410024592)) [c5fd54c99c37380] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54c99cd4b80] jit-tracing} _______________ TestLLtypeUnicode.test_stringbuilder_append_char _______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da976bcd0> 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 0x7f8da93503d0> 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 22 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 [c5fd54ca28f6a00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54ca2cb5580] {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 [c5fd54ca2cca900] jit-trace-done} [c5fd54ca2ce8180] {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 0x7f8da955a050: 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>) [c5fd54ca2d78a80] jit-log-noopt} [c5fd54ca2d81d00] {jit-optimize [c5fd54ca2d92e00] {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 0x7f8da9410e90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ca3069580] jit-log-intbounds} [c5fd54ca309db80] {jit-log-exported-state [i32] INP(i32 = int_add(i33, -1/ci)) PureOp(i34 = int_gt(i32, 0/ci)) [c5fd54ca30aa280] jit-log-exported-state} [c5fd54ca30af480] jit-optimize} [c5fd54ca30bf280] {jit-optimize [c5fd54ca3118c00] {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 0x7f8da941e150>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ca33b7080] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246406765904)) [c5fd54ca3434100] jit-optimize} [c5fd54ca343ac00] {jit-log-short-preamble [] label(i35) jump() [c5fd54ca3445000] jit-log-short-preamble} [c5fd54ca3458c80] {jit-backend [c5fd54ca3465580] {jit-log-compiling-loop [i33] label(i33, descr=TargetToken(140246406728400)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i32 = int_add(i33, -1) i34 = int_gt(i32, 0) guard_true(i34, descr=<Guard0x7f8da9410e90>) [i32] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i32, descr=TargetToken(140246406765904)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i32, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0x7f8da941e150>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i39, descr=TargetToken(140246406765904)) [c5fd54ca348ab80] jit-log-compiling-loop} [c5fd54ca3498400] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54ca349e400] jit-mem-looptoken-alloc} [c5fd54ca34b2200] jit-backend} compiled new loop [c5fd54ca34b8400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246406728400)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da9410e90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246406765904)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da941e150>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246406765904)) [c5fd54ca34e2000] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54ca3581e80] jit-tracing} ________________ TestLLtypeUnicode.test_stringbuilder_append_1 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da941df00> 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 0x7f8da93e1d10> 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 / 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 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 [c5fd54cb135b200] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54cb171a580] {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 [c5fd54cb1730300] jit-trace-done} [c5fd54cb174df80] {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 0x7f8da9640250: 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>) [c5fd54cb17daf80] jit-log-noopt} [c5fd54cb17e4d80] {jit-optimize [c5fd54cb17f5580] {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 0x7f8da9629450>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cb1a42180] jit-log-intbounds} [c5fd54cb1a77e80] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd54cb1a84600] jit-log-exported-state} [c5fd54cb1a89980] jit-optimize} [c5fd54cb1a9b500] {jit-optimize [c5fd54cb1af7780] {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 0x7f8da9630650>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cb1d9dd00] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246408954320)) [c5fd54cb1e1ab80] jit-optimize} [c5fd54cb1e21700] {jit-log-short-preamble [] label(i36) jump() [c5fd54cb1e2bb00] jit-log-short-preamble} [c5fd54cb1e3fb00] {jit-backend [c5fd54cb1e4c600] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(140246408917136)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8da9629450>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(140246408954320)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0x7f8da9630650>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(140246408954320)) [c5fd54cb1e72f00] jit-log-compiling-loop} [c5fd54cb1e80200] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54cb1e86200] jit-mem-looptoken-alloc} [c5fd54cb1e9a600] jit-backend} compiled new loop [c5fd54cb1ea0600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246408917136)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da9629450>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246408954320)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da9630650>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246408954320)) [c5fd54cb1ec9e00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54cb1f67f00] jit-tracing} ________________ TestLLtypeUnicode.test_stringbuilder_append_2 _________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da91a2820> 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 0x7f8da9377310> 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 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 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 [c5fd54cbffe7680] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54cc03fbf00] {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 [c5fd54cc0410f00] jit-trace-done} [c5fd54cc042e180] {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 0x7f8da9303450: 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>) [c5fd54cc04c8500] jit-log-noopt} [c5fd54cc04d1700] {jit-optimize [c5fd54cc04e1100] {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 0x7f8da9236e90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cc073d900] jit-log-intbounds} [c5fd54cc0771f00] {jit-log-exported-state [i39] INP(i39 = int_add(i40, -1/ci)) PureOp(i41 = int_gt(i39, 0/ci)) [c5fd54cc077e200] jit-log-exported-state} [c5fd54cc0783400] jit-optimize} [c5fd54cc0793000] {jit-optimize [c5fd54cc07ee500] {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 0x7f8da9240150>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cc0aa7980] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246404807248)) [c5fd54cc0b24980] jit-optimize} [c5fd54cc0b2b480] {jit-log-short-preamble [] label(i42) jump() [c5fd54cc0b35680] jit-log-short-preamble} [c5fd54cc0b49d00] {jit-backend [c5fd54cc0b56480] {jit-log-compiling-loop [i40] label(i40, descr=TargetToken(140246405520272)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i39 = int_add(i40, -1) i41 = int_gt(i39, 0) guard_true(i41, descr=<Guard0x7f8da9236e90>) [i39] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i39, descr=TargetToken(140246404807248)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = int_add(i39, -1) i48 = int_gt(i46, 0) guard_true(i48, descr=<Guard0x7f8da9240150>) [i46] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i46, descr=TargetToken(140246404807248)) [c5fd54cc0b7ba00] jit-log-compiling-loop} [c5fd54cc0b88e80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54cc0b8ee80] jit-mem-looptoken-alloc} [c5fd54cc0ba2900] jit-backend} compiled new loop [c5fd54cc0ba8a80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246405520272)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da9236e90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246404807248)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da9240150>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246404807248)) [c5fd54cc0bd2100] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54cc0c70800] jit-tracing} ______________ TestLLtypeUnicode.test_stringbuilder_append_empty _______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da918dc30> 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 0x7f8da8d92d10> 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 / 236 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 [c5fd54cd6994f80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54cd6c57c80] {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 [c5fd54cd6c6c880] jit-trace-done} [c5fd54cd6c88b80] {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 0x7f8da8f230d0: 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>) [c5fd54cd6cf4280] jit-log-noopt} [c5fd54cd6cfd100] {jit-optimize [c5fd54cd6d0c700] {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 0x7f8da9090450>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cd6f0bb00] jit-log-intbounds} [c5fd54cd6f40680] {jit-log-exported-state [i19] INP(i19 = int_add(i20, -1/ci)) PureOp(i21 = int_gt(i19, 0/ci)) [c5fd54cd6f4dd80] jit-log-exported-state} [c5fd54cd6f53100] jit-optimize} [c5fd54cd6f62f80] {jit-optimize [c5fd54cd6fbf180] {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 0x7f8da9098510>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54cd721b200] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246403089808)) [c5fd54cd7297080] jit-optimize} [c5fd54cd729d780] {jit-log-short-preamble [] label(i22) jump() [c5fd54cd72a7800] jit-log-short-preamble} [c5fd54cd72bae80] {jit-backend [c5fd54cd72c6e00] {jit-log-compiling-loop [i20] label(i20, descr=TargetToken(140246404785744)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i20, -1) i21 = int_gt(i19, 0) guard_true(i21, descr=<Guard0x7f8da9090450>) [i19] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i19, descr=TargetToken(140246403089808)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i26 = int_add(i19, -1) i28 = int_gt(i26, 0) guard_true(i28, descr=<Guard0x7f8da9098510>) [i26] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i26, descr=TargetToken(140246403089808)) [c5fd54cd72ec780] jit-log-compiling-loop} [c5fd54cd72f9280] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54cd72ff280] jit-mem-looptoken-alloc} [c5fd54cd7313280] jit-backend} compiled new loop [c5fd54cd7319400] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246404785744)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da9090450>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246403089808)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da9098510>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246403089808)) [c5fd54cd7343400] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54cd73de480] jit-tracing} _____________ TestLLtypeUnicode.test_stringbuilder_append_slice_2 ______________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da8878d70> 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 0x7f8da869af90> 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 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 [c5fd54d15297080] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54d1565d200] {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 [c5fd54d15672f80] jit-trace-done} [c5fd54d15691580] {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 0x7f8da8673110: 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>) [c5fd54d15721e00] jit-log-noopt} [c5fd54d1572b280] {jit-optimize [c5fd54d1573b680] {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 0x7f8da85e4890>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d1598a180] jit-log-intbounds} [c5fd54d159c0480] {jit-log-exported-state [i33] INP(i33 = int_add(i34, -1/ci)) PureOp(i35 = int_gt(i33, 0/ci)) [c5fd54d159cd180] jit-log-exported-state} [c5fd54d159d2600] jit-optimize} [c5fd54d159e3580] {jit-optimize [c5fd54d15a3f800] {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 0x7f8da85eaa10>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d15ceca80] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246391892560)) [c5fd54d15d6a880] jit-optimize} [c5fd54d15d71800] {jit-log-short-preamble [] label(i36) jump() [c5fd54d15d7be00] jit-log-short-preamble} [c5fd54d15d90200] {jit-backend [c5fd54d15d9cd80] {jit-log-compiling-loop [i34] label(i34, descr=TargetToken(140246391862352)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i33 = int_add(i34, -1) i35 = int_gt(i33, 0) guard_true(i35, descr=<Guard0x7f8da85e4890>) [i33] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i33, descr=TargetToken(140246391892560)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i40 = int_add(i33, -1) i42 = int_gt(i40, 0) guard_true(i42, descr=<Guard0x7f8da85eaa10>) [i40] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i40, descr=TargetToken(140246391892560)) [c5fd54d15dc2900] jit-log-compiling-loop} [c5fd54d15dd0780] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54d15dd6900] jit-mem-looptoken-alloc} [c5fd54d15deb100] jit-backend} compiled new loop [c5fd54d15df1480] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246391862352)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da85e4890>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246391892560)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da85eaa10>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246391892560)) [c5fd54d15e1b480] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54d15ebc300] jit-tracing} _________ TestLLtypeUnicode.test_stringbuilder_append_multiple_char_1 __________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da87a8dc0> 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 0x7f8da842db50> 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 [c5fd54d20778580] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54d20c11980] {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 [c5fd54d20c26d80] jit-trace-done} [c5fd54d20c45000] {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 0x7f8da854c610: 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>) [c5fd54d20cf9e80] jit-log-noopt} [c5fd54d20d03280] {jit-optimize [c5fd54d20d12e80] {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 0x7f8da8514210>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d20f9df00] jit-log-intbounds} [c5fd54d20fd4b80] {jit-log-exported-state [i51] INP(i51 = int_add(i52, -1/ci)) PureOp(i53 = int_gt(i51, 0/ci)) [c5fd54d20fe1880] jit-log-exported-state} [c5fd54d20fe6880] jit-optimize} [c5fd54d20ff6e80] {jit-optimize [c5fd54d21053900] {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 0x7f8da851b550>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d21352880] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(140246391042256)) [c5fd54d213d3f00] jit-optimize} [c5fd54d213dc780] {jit-log-short-preamble [] label(i54) jump() [c5fd54d213e7180] jit-log-short-preamble} [c5fd54d213fcd00] {jit-backend [c5fd54d2140a780] {jit-log-compiling-loop [i52] label(i52, descr=TargetToken(140246391004624)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i51 = int_add(i52, -1) i53 = int_gt(i51, 0) guard_true(i53, descr=<Guard0x7f8da8514210>) [i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i51, descr=TargetToken(140246391042256)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i58 = int_add(i51, -1) i60 = int_gt(i58, 0) guard_true(i60, descr=<Guard0x7f8da851b550>) [i58] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i58, descr=TargetToken(140246391042256)) [c5fd54d21430d00] jit-log-compiling-loop} [c5fd54d21440880] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54d21446a80] jit-mem-looptoken-alloc} [c5fd54d2145ba80] jit-backend} compiled new loop [c5fd54d21462000] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(140246391004624)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f8da8514210>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(140246391042256)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f8da851b550>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(140246391042256)) [c5fd54d2148c200] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54d21538200] jit-tracing} _____________________ TestLLtypeUnicode.test_shrink_array ______________________ self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0x7f8da7d58f00> 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 0x7f8da7e354d0> 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 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 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 [c5fd54d810d3b00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54d814ebc80] {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 [c5fd54d81501200] jit-trace-done} [c5fd54d81523100] {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 0x7f8da7b9fdd0: 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>) [c5fd54d815b7000] jit-log-noopt} [c5fd54d815c0880] {jit-optimize [c5fd54d815d4100] {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 0x7f8da7b0ce90>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d8184ef00] jit-log-intbounds} [c5fd54d81893500] {jit-log-exported-state [i37, i38] INP(i38 = int_add(i39, -1/ci)) INP(i37 = int_add(i40, 8/ci)) PureOp(i41 = int_ge(i38, 0/ci)) [c5fd54d818a2700] jit-log-exported-state} [c5fd54d818a7b80] jit-optimize} [c5fd54d818b8300] {jit-optimize [c5fd54d81937c00] {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 0x7f8da7b0ce50>) [i4, i7] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54d81c26780] jit-log-intbounds} # i7: (0 <= 0b0?...?) IntBound.nonnegative() jump(i4, i7, descr=TargetToken(140246380536720)) [c5fd54d81cc2c00] jit-optimize} [c5fd54d81cca680] {jit-log-short-preamble [] label(i42, i43) jump() [c5fd54d81cd5680] jit-log-short-preamble} [c5fd54d81ceba00] {jit-backend [c5fd54d81cf8a80] {jit-log-compiling-loop [i40, i39] label(i40, i39, descr=TargetToken(140246380476752)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i37 = int_add(i40, 8) i38 = int_add(i39, -1) i41 = int_ge(i38, 0) guard_true(i41, descr=<Guard0x7f8da7b0ce90>) [i37, i38] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i37, i38, descr=TargetToken(140246380536720)) 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=<Guard0x7f8da7b0ce50>) [i48, i50] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, i50, descr=TargetToken(140246380536720)) [c5fd54d81d24a00] jit-log-compiling-loop} [c5fd54d81d32300] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54d81d38480] jit-mem-looptoken-alloc} [c5fd54d81d4e000] jit-backend} compiled new loop [c5fd54d81d54b80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(140246380476752)) 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=<Guard0x7f8da7b0ce90>) [i3, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i5, descr=TargetToken(140246380536720)) 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=<Guard0x7f8da7b0ce50>) [i9, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i11, descr=TargetToken(140246380536720)) [c5fd54d81d84b00] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54d81e32480] 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 36.27 seconds =============== ++ 09:52:46 starting jit/metainterp/test/test_virtualizable.py [162 started in total] __ jit/metainterp/test/test_virtualizable.py [159 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f1a68e32c10> 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 0x7f1a6877d7d0> 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 0x7f1a6877d650>, <* 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 0x7f1a6875ef90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0x7f1a6875ef90>; should have be removed [jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0x7f1a6875ef90>; 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 [c5fd54ff3363600] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd54ff3508c00] {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 [c5fd54ff351e400] jit-trace-done} [c5fd54ff354f300] {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>) [c5fd54ff359d780] jit-log-noopt} [c5fd54ff35a5f80] {jit-optimize [c5fd54ff35c5a00] {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 0x7f1a6802b6d0>) [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 0x7f1a6802ba10>) [p1, i2, i3, i4, i5, i0] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ff3837180] jit-log-intbounds} [c5fd54ff38d5480] {jit-log-exported-state [i17, r18, 1/ci, i19, i20, i21] INP(i19 = int_mul(i20, 3/ci)) INP(i17 = int_add(i22, -1/ci)) INP(r18) PureOp(i23 = int_gt(i17, 0/ci)) PureOp(i24 = same_as_i(i19)) INP(i20) INP(i21) [c5fd54ff38eb480] jit-log-exported-state} [c5fd54ff38f1200] jit-optimize} [c5fd54ff3901c00] {jit-optimize [c5fd54ff39e3180] {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 0x7f1a68029410>) [p11, i12, i13, i14, i8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd54ff3c72d00] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i8, p11, i12, i13, i14, i12, descr=TargetToken(139751390956880)) [c5fd54ff3dace80] jit-optimize} [c5fd54ff3db3a00] {jit-log-short-preamble [] label(i25, p26, i27, i28, i29) i31 = int_mul(i28, 3) jump(i31) [c5fd54ff3dc2480] jit-log-short-preamble} [c5fd54ff3e03b80] {jit-backend [c5fd54ff3e11800] {jit-log-compiling-loop [i22, 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(i22, p18, i32, i35, i37, i39, descr=TargetToken(139751390811024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i41 = int_ge(i32, 0) guard_value(i32, 1, descr=<Guard0x7f1a6802b6d0>) [p18, i32, i35, i37, i39, i22] i43 = int_mul(i37, 3) i17 = int_add(i22, -1) i23 = int_gt(i17, 0) guard_true(i23, descr=<Guard0x7f1a6802ba10>) [p18, i32, i35, i37, i39, i22] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i46 = same_as_i(i43) label(i17, p18, i43, i37, i39, i46, descr=TargetToken(139751390956880)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i48 = int_add(i17, -1) i50 = int_gt(i48, 0) guard_true(i50, descr=<Guard0x7f1a68029410>) [p18, i46, i37, i39, i48] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i48, p18, i46, i37, i39, i46, descr=TargetToken(139751390956880)) [c5fd54ff3e57f80] jit-log-compiling-loop} [c5fd54ff3e65800] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd54ff3e6b800] jit-mem-looptoken-alloc} [c5fd54ff3e8e800] jit-backend} compiled new loop [c5fd54ff3e94d80] {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(139751390811024)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i11 = int_ge(i2, 0) guard_value(i2, 1, descr=<Guard0x7f1a6802b6d0>) [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=<Guard0x7f1a6802ba10>) [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(139751390956880)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i21 = int_add(i16, -1) i23 = int_gt(i21, 0) guard_true(i23, descr=<Guard0x7f1a68029410>) [p1, i19, i7, i9, i21] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i21, p1, i19, i7, i9, i19, descr=TargetToken(139751390956880)) [c5fd54ff3edd800] jit-log-opt-loop} DoneWithThisFrameInt [c5fd54ff4143e00] 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 18.72 seconds ================ ++ 09:53:06 starting jit/metainterp/test/test_virtualref.py [163 started in total] __ jit/metainterp/test/test_virtual.py [160 done in total, somefailed=False] __ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 133 items jit/metainterp/test/test_virtual.py ..................................................................................................................................... ========================= 133 passed in 28.44 seconds ========================== ++ 09:53:07 starting jit/metainterp/test/test_warmspot.py [164 started in total] __ jit/metainterp/test/test_loop_unroll_disopt.py [161 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 114.86 seconds =================== ++ 09:53:09 starting jit/metainterp/test/test_warmstate.py [165 started in total] __ jit/metainterp/test/test_warmstate.py [162 done in total, somefailed=False] [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items jit/metainterp/test/test_warmstate.py ......... =========================== 9 passed in 0.79 seconds =========================== ++ 09:53:11 starting jit/metainterp/test/test_zvector.py [166 started in total] __ jit/metainterp/test/test_warmspot.py [163 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f3a7b55f140> 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 0x7f3a7b51cbd0> 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 [c5fd550f558da80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd550f562d900] {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 [c5fd550f5642500] jit-trace-done} [c5fd550f5663a00] {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>) [c5fd550f5693800] jit-log-noopt} [c5fd550f569c680] {jit-optimize [c5fd550f56b0100] {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 0x7f3a7b477f10>) [i0, i1] i4 = int_add(i0, 1) # i4 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd550f580ea00] jit-log-intbounds} [c5fd550f5855b00] {jit-log-exported-state [i5, i6] INP(i5 = int_add(i7, 1/ci)) INP(i6) [c5fd550f5861c00] jit-log-exported-state} [c5fd550f5867200] jit-optimize} [c5fd550f5878180] {jit-optimize [c5fd550f58dc900] {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 0x7f3a7b477ed0>) [i2, i3] i6 = int_add(i2, 1) # i6 -> (?) IntBound.unbounded() debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd550f5a2f500] jit-log-intbounds} jump(i6, i3, descr=TargetToken(139889153137872)) [c5fd550f5a95d80] jit-optimize} [c5fd550f5a9c900] {jit-log-short-preamble [] label(i8, i9) jump() [c5fd550f5aa7100] jit-log-short-preamble} [c5fd550f5abb900] {jit-backend [c5fd550f5ac7e80] {jit-log-compiling-loop [i7, i6] label(i7, i6, descr=TargetToken(139889153113424)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i10 = int_gt(i7, i6) guard_false(i10, descr=<Guard0x7f3a7b477f10>) [i7, i6] i5 = int_add(i7, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, i6, descr=TargetToken(139889153137872)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_gt(i5, i6) guard_false(i12, descr=<Guard0x7f3a7b477ed0>) [i5, i6] i14 = int_add(i5, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i14, i6, descr=TargetToken(139889153137872)) [c5fd550f5aeeb80] jit-log-compiling-loop} [c5fd550f5afc400] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd550f5b02400] jit-mem-looptoken-alloc} [c5fd550f5b16a00] jit-backend} compiled new loop [c5fd550f5b1cd80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0, i1] label(i0, i1, descr=TargetToken(139889153113424)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_gt(i0, i1) guard_false(i2, descr=<Guard0x7f3a7b477f10>) [i0, i1] i4 = int_add(i0, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, i1, descr=TargetToken(139889153137872)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_gt(i4, i1) guard_false(i5, descr=<Guard0x7f3a7b477ed0>) [i4, i1] i7 = int_add(i4, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i7, i1, descr=TargetToken(139889153137872)) [c5fd550f5b49c80] jit-log-opt-loop} ContinueRunningNormally [c5fd550f5c23900] jit-tracing} [c5fd550f5d3f600] {jit-tracing (jitdriver: no get_printable_location) [c5fd550f5e21b00] {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 [c5fd550f5e36700] jit-trace-done} [c5fd550f5e48800] {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>) [c5fd550f5e7d780] jit-log-noopt} [c5fd550f5e86880] {jit-optimize [c5fd550f5ec7580] {jit-log-intbounds [i0, i1] i2 = int_gt(i0, i1) guard_true(i2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f3a7b48f510>) [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 0x7f3a7b477850>) [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd550f60e3000] jit-log-intbounds} # i4: (0 <= 0b0?...?) IntBound.nonnegative() jump(0, i4, descr=TargetToken(139889153137872)) [c5fd550f615eb00] jit-optimize} [c5fd550f616b200] {jit-backend [c5fd550f6170800] {jit-log-compiling-bridge [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0x7f3a7b48f510>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0x7f3a7b477850>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(139889153137872)) [c5fd550f618b380] jit-log-compiling-bridge} [c5fd550f6199600] {jit-mem-looptoken-alloc allocating Bridge # 1 of Loop # 1 [c5fd550f61a0980] jit-mem-looptoken-alloc} [c5fd550f61afa00] jit-backend} compiled new bridge [c5fd550f61b6300] {jit-log-opt-bridge # bridge out of Guard 0x7f3a7b477ed0 with 7 ops [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0x7f3a7b48f510>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0x7f3a7b477850>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(139889153137872)) [c5fd550f61d1480] jit-log-opt-bridge} [c5fd550f61d5f00] {jit-log-opt-bridge # bridge out of Guard 0x7f3a7b477ed0 with 7 ops [i9, i10] i11 = int_gt(i9, i10) guard_true(i11, descr=<Guard0x7f3a7b48f510>) [i9, i10] i13 = int_add(i10, -1) i15 = int_lt(i13, 0) guard_false(i15, descr=<Guard0x7f3a7b477850>) [i9, i10] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(0, i13, descr=TargetToken(139889153137872)) [c5fd550f61f0700] jit-log-opt-bridge} DoneWithThisFrameInt [c5fd550f6475100] jit-tracing} _______________________ TestLLWarmspot.test_simple_loop ________________________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0x7f3a7afc3910> 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 0x7f3a7af9f3d0> 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 [c5fd55107ee1c00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd55107f68c00] {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 [c5fd55107f7d400] jit-trace-done} [c5fd55107f9ac80] {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>) [c5fd55107fc6d80] jit-log-noopt} [c5fd55107fcf880] {jit-optimize [c5fd55107fdf080] {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 0x7f3a7aef6a90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5510817ae00] jit-log-intbounds} [c5fd551081b0600] {jit-log-exported-state [i5] INP(i5 = int_add(i6, -1/ci)) PureOp(i7 = int_gt(i5, 0/ci)) [c5fd551081bd680] jit-log-exported-state} [c5fd551081c2900] jit-optimize} [c5fd551081d2280] {jit-optimize [c5fd5510822c480] {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 0x7f3a7aef6a50>) [i3] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5510843d300] jit-log-intbounds} # i3: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i3, descr=TargetToken(139889147366160)) [c5fd551084bad00] jit-optimize} [c5fd551084c1a80] {jit-log-short-preamble [] label(i8) jump() [c5fd551084cbe80] jit-log-short-preamble} [c5fd551084e0280] {jit-backend [c5fd551084ecb80] {jit-log-compiling-loop [i6] label(i6, descr=TargetToken(139889148792592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i5 = int_add(i6, -1) i7 = int_gt(i5, 0) guard_true(i7, descr=<Guard0x7f3a7aef6a90>) [i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i5, descr=TargetToken(139889147366160)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i5, -1) i14 = int_gt(i12, 0) guard_true(i14, descr=<Guard0x7f3a7aef6a50>) [i12] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i12, descr=TargetToken(139889147366160)) [c5fd55108512d00] jit-log-compiling-loop} [c5fd55108520f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd55108526f80] jit-mem-looptoken-alloc} [c5fd55108550380] jit-backend} compiled new loop [c5fd55108558600] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops [i0] label(i0, descr=TargetToken(139889148792592)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i2 = int_add(i0, -1) i4 = int_gt(i2, 0) guard_true(i4, descr=<Guard0x7f3a7aef6a90>) [i2] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i2, descr=TargetToken(139889147366160)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i6 = int_add(i2, -1) i8 = int_gt(i6, 0) guard_true(i8, descr=<Guard0x7f3a7aef6a50>) [i6] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i6, descr=TargetToken(139889147366160)) [c5fd55108583b80] jit-log-opt-loop} DoneWithThisFrameVoid [c5fd55108617b00] jit-tracing} ___________________ TestLLWarmspot.test_loop_automatic_reds ____________________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0x7f3a7b999f50> 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 0x7f3a7aef6310> 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 [c5fd55111b39a80] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd55111c58080] {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 [c5fd55111c6d280] jit-trace-done} [c5fd55111ca2200] {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(i4, 1) i9 = int_add(i3, 1) i11 = int_add(i5, 2) i13 = int_add(i2, 3) i15 = int_add(i0, 4) i17 = int_add(i1, 10) i19 = int_gt(i7, 0) guard_true(i19) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i15, i17, i13, i9, i7, i11, descr=<Loop-1>) [c5fd55111cf3c80] jit-log-noopt} [c5fd55111cfc580] {jit-optimize [c5fd55111d1bb80] {jit-log-intbounds [i0, i1, i2, i3, i4, i5] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i4, -1) i9 = int_add(i3, 1) # i9 -> (?) IntBound.unbounded() i11 = int_add(i5, 2) # i11 -> (?) IntBound.unbounded() i13 = int_add(i2, 3) # i13 -> (?) IntBound.unbounded() i15 = int_add(i0, 4) # i15 -> (?) IntBound.unbounded() i17 = int_add(i1, 10) # i17 -> (?) IntBound.unbounded() i19 = int_gt(i7, 0) guard_true(i19, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f3a7b2bc8d0>) [i15, i17, i13, i9, i7, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd55112091d00] jit-log-intbounds} [c5fd55112112800] {jit-log-exported-state [i20, i21, i22, i23, i24, i25] INP(i21 = int_add(i26, 10/ci)) INP(i20 = int_add(i27, 4/ci)) INP(i22 = int_add(i28, 3/ci)) INP(i25 = int_add(i29, 2/ci)) INP(i23 = int_add(i30, 1/ci)) PureOp(i31 = int_gt(i24, 0/ci)) INP(i24 = int_add(i32, -1/ci)) [c5fd5511212b080] jit-log-exported-state} [c5fd55112130a80] jit-optimize} [c5fd55112141380] {jit-optimize [c5fd5511226af80] {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 0x7f3a7b2bc890>) [i20, i23, i17, i11, i8, i14] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5511266bc00] jit-log-intbounds} # i8: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i20, i23, i17, i11, i8, i14, descr=TargetToken(139889151352272)) [c5fd55112794400] jit-optimize} [c5fd5511279b780] {jit-log-short-preamble [] label(i33, i34, i35, i36, i37, i38) jump() [c5fd551127a7880] jit-log-short-preamble} [c5fd551127c6e80] {jit-backend [c5fd551127d5b00] {jit-log-compiling-loop [i27, i26, i28, i30, i32, i29] label(i27, i26, i28, i30, i32, i29, descr=TargetToken(139889151297232)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i24 = int_add(i32, -1) i23 = int_add(i30, 1) i25 = int_add(i29, 2) i22 = int_add(i28, 3) i20 = int_add(i27, 4) i21 = int_add(i26, 10) i31 = int_gt(i24, 0) guard_true(i31, descr=<Guard0x7f3a7b2bc8d0>) [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(139889151352272)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i47 = int_add(i24, -1) i49 = int_add(i23, 1) i51 = int_add(i25, 2) i53 = int_add(i22, 3) i55 = int_add(i20, 4) i57 = int_add(i21, 10) i59 = int_gt(i47, 0) guard_true(i59, descr=<Guard0x7f3a7b2bc890>) [i55, i57, i53, i49, i47, i51] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i55, i57, i53, i49, i47, i51, descr=TargetToken(139889151352272)) [c5fd55112819900] jit-log-compiling-loop} [c5fd55112829100] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5511282f480] jit-mem-looptoken-alloc} [c5fd5511284cd00] jit-backend} compiled new loop [c5fd55112853280] {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(139889151297232)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i7 = int_add(i4, -1) i9 = int_add(i3, 1) i11 = int_add(i5, 2) i13 = int_add(i2, 3) i15 = int_add(i0, 4) i17 = int_add(i1, 10) i19 = int_gt(i7, 0) guard_true(i19, descr=<Guard0x7f3a7b2bc8d0>) [i15, i17, i13, i9, i7, i11] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i15, i17, i13, i9, i7, i11, descr=TargetToken(139889151352272)) 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=<Guard0x7f3a7b2bc890>) [i29, i31, i27, i23, i21, i25] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i29, i31, i27, i23, i21, i25, descr=TargetToken(139889151352272)) [c5fd5511289a380] jit-log-opt-loop} DoneWithThisFrameInt [c5fd551129f1b80] jit-tracing} _________ TestLLWarmspot.test_loop_automatic_reds_with_floats_and_refs _________ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0x7f3a7b2bd8c0> 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 0x7f3a7b2c0d90> 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 [c5fd55116107880] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5511637a200] {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 [c5fd5511638fb80] jit-trace-done} [c5fd551163d9780] {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(i1, 1) i14 = int_add(i0, 1) i16 = int_add(i2, 2) i18 = int_add(i5, 3) i20 = int_add(i4, 4) f22 = float_add(f8, 1.0) f24 = float_add(f10, 2.0) f26 = float_add(f9, 3.0) f28 = float_add(f7, 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(i3, 10) i41 = int_gt(i12, 0) guard_true(i41) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i14, i12, i16, i39, i20, i18, p6, f28, f22, f26, f24, descr=<Loop-1>) [c5fd55116475b00] jit-log-noopt} [c5fd55116480380] {jit-optimize [c5fd551164b0a80] {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(i1, -1) i14 = int_add(i0, 1) # i14 -> (?) IntBound.unbounded() i16 = int_add(i2, 2) # i16 -> (?) IntBound.unbounded() i18 = int_add(i5, 3) # i18 -> (?) IntBound.unbounded() i20 = int_add(i4, 4) # i20 -> (?) IntBound.unbounded() f22 = float_add(f8, 1.0) f24 = float_add(f10, 2.0) f26 = float_add(f9, 3.0) f28 = float_add(f7, 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(i3, 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 0x7f3a7b256a90>) [i14, i12, i16, i39, i20, i18, p6, f28, f22, f26, f24] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd55116a0ba00] jit-log-intbounds} [c5fd55116aa9380] {jit-log-exported-state [i42, i43, i44, i45, i46, i47, r48, f49, f50, f51, f52] INP(f52 = float_add(f53, 1073807360/cf)) INP(i43 = int_add(i54, -1/ci)) INP(f51 = float_add(f55, 1610678272/cf)) HeapOp(i56 = int_add(i57, 10/ci), i58 = getfield_gc_i(r48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))) INP(f50 = float_add(f59, 1073774592/cf)) INP(r48) INP(f49 = float_add(f60, 1073840128/cf)) INP(i46 = int_add(i61, 4/ci)) INP(i47 = int_add(i62, 3/ci)) PureOp(i63 = int_gt(i43, 0/ci)) INP(i44 = int_add(i64, 2/ci)) INP(i42 = int_add(i65, 1/ci)) INP(i45 = int_add(i66, 10/ci)) [c5fd55116ad5c80] jit-log-exported-state} [c5fd55116adc800] jit-optimize} [c5fd55116aee700] {jit-optimize [c5fd55116c3f980] {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 0x7f3a7b256a50>) [i16, i13, i19, i49, i25, i22, p50, f37, f28, f34, f31] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5511723cb00] jit-log-intbounds} # i13: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i16, i13, i19, i49, i25, i22, p50, f37, f28, f34, f31, i46, descr=TargetToken(139889150734096)) [c5fd551173a3380] jit-optimize} [c5fd551173aa480] {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) [c5fd551173c4880] jit-log-short-preamble} [c5fd551173f5600] {jit-backend [c5fd55117403680] {jit-log-compiling-loop [i65, i54, i64, i66, i61, i62, p48, f60, f59, f55, f53] label(i65, i54, i64, i66, i61, i62, p48, f60, f59, f55, f53, descr=TargetToken(139889150881616)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i43 = int_add(i54, -1) i42 = int_add(i65, 1) i44 = int_add(i64, 2) i47 = int_add(i62, 3) i46 = int_add(i61, 4) f50 = float_add(f59, 1.0) f52 = float_add(f53, 2.0) f51 = float_add(f55, 3.0) f49 = float_add(f60, 4.0) i57 = getfield_gc_i(p48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i90 = int_add(i57, 1) i92 = int_add(i57, 3) i94 = int_add(i57, 6) i56 = int_add(i57, 10) i45 = int_add(i66, 10) setfield_gc(p48, i56, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')) i63 = int_gt(i43, 0) guard_true(i63, descr=<Guard0x7f3a7b256a90>) [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, i56, descr=TargetToken(139889150734096)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i99 = int_add(i43, -1) i101 = int_add(i42, 1) i103 = int_add(i44, 2) i105 = int_add(i47, 3) i107 = int_add(i46, 4) f109 = float_add(f50, 1.0) f111 = float_add(f52, 2.0) f113 = float_add(f51, 3.0) f115 = float_add(f49, 4.0) i117 = int_add(i56, 1) i119 = int_add(i56, 3) i121 = int_add(i56, 6) i123 = int_add(i56, 10) i125 = int_add(i45, 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=<Guard0x7f3a7b256a50>) [i101, i99, i103, i125, i107, i105, p48, f115, f109, f113, f111] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i101, i99, i103, i125, i107, i105, p48, f115, f109, f113, f111, i123, descr=TargetToken(139889150734096)) [c5fd55117479a80] jit-log-compiling-loop} [c5fd55117487f80] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5511748e300] jit-mem-looptoken-alloc} [c5fd551174bdd00] jit-backend} compiled new loop [c5fd551174c4280] {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(139889150881616)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i12 = int_add(i1, -1) i14 = int_add(i0, 1) i16 = int_add(i2, 2) i18 = int_add(i5, 3) i20 = int_add(i4, 4) f22 = float_add(f8, 1.0) f24 = float_add(f10, 2.0) f26 = float_add(f9, 3.0) f28 = float_add(f7, 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(i3, 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=<Guard0x7f3a7b256a90>) [i14, i12, i16, i39, i20, i18, p6, f28, f22, f26, f24] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, i12, i16, i39, i20, i18, p6, f28, f22, f26, f24, i37, descr=TargetToken(139889150734096)) 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=<Guard0x7f3a7b256a50>) [i45, i43, i47, i69, i51, i49, p6, f59, f53, f57, f55] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i45, i43, i47, i69, i51, i49, p6, f59, f53, f57, f55, i67, descr=TargetToken(139889150734096)) [c5fd5511753d600] jit-log-opt-loop} DoneWithThisFrameInt [c5fd551177af580] jit-tracing} ___ TestLLWarmspot.test_loop_automatic_reds_livevars_before_jit_merge_point ____ self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0x7f3a7b2c1780> 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 0x7f3a7b207250> 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 [c5fd5511a5ca100] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5511a67b500] {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 [c5fd5511a690100] jit-trace-done} [c5fd5511a6b4f00] {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(i0, 10) i5 = int_gt(i1, 0) guard_true(i5) i7 = int_sub(i1, 1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') guard_future_condition() jump(i3, i7, descr=<Loop-1>) [c5fd5511a6e9b00] jit-log-noopt} [c5fd5511a6f2300] {jit-optimize [c5fd5511a705400] {jit-log-intbounds [i0, i1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 10) # i3 -> (?) IntBound.unbounded() i5 = int_gt(i1, 0) guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0x7f3a7ac83e50>) [i3, i1] # i1: (1 <= 0b0?...?) IntBound(1, MAXINT) i7 = int_add(i1, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5511a909600] jit-log-intbounds} [c5fd5511a960480] {jit-log-exported-state [i8, i9] INP(i8 = int_add(i10, 10/ci)) INP(i9 = int_add(i11, -1/ci)) [c5fd5511a96d780] jit-log-exported-state} [c5fd5511a972d80] jit-optimize} [c5fd5511a984100] {jit-optimize [c5fd5511a9fea00] {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 0x7f3a7ac83e10>) [i4, i5] # i5: (1 <= 0b0?...?) IntBound(1, MAXINT) i9 = int_add(i5, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5511abff300] jit-log-intbounds} # i9: (0 <= 0b0?...?) IntBound.nonnegative() jump(i4, i9, descr=TargetToken(139889144812432)) [c5fd5511ac99400] jit-optimize} [c5fd5511aca0d00] {jit-log-short-preamble [] label(i12, i13) jump() [c5fd5511acab900] jit-log-short-preamble} [c5fd5511acc2600] {jit-backend [c5fd5511acd0e00] {jit-log-compiling-loop [i10, i11] label(i10, i11, descr=TargetToken(139889144710608)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i8 = int_add(i10, 10) i16 = int_gt(i11, 0) guard_true(i16, descr=<Guard0x7f3a7ac83e50>) [i8, i11] i9 = int_add(i11, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i8, i9, descr=TargetToken(139889144812432)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i19 = int_add(i8, 10) i21 = int_gt(i9, 0) guard_true(i21, descr=<Guard0x7f3a7ac83e10>) [i19, i9] i23 = int_add(i9, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i19, i23, descr=TargetToken(139889144812432)) [c5fd5511acff480] jit-log-compiling-loop} [c5fd5511ad0e880] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5511ad14880] jit-mem-looptoken-alloc} [c5fd5511ad2ab80] jit-backend} compiled new loop [c5fd5511ad30d80] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops [i0, i1] label(i0, i1, descr=TargetToken(139889144710608)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i3 = int_add(i0, 10) i5 = int_gt(i1, 0) guard_true(i5, descr=<Guard0x7f3a7ac83e50>) [i3, i1] i7 = int_add(i1, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i3, i7, descr=TargetToken(139889144812432)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') i9 = int_add(i3, 10) i11 = int_gt(i7, 0) guard_true(i11, descr=<Guard0x7f3a7ac83e10>) [i9, i7] i13 = int_add(i7, -1) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i9, i13, descr=TargetToken(139889144812432)) [c5fd5511ad62c80] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5511ae5c680] 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 3.68 seconds ================ ++ 09:53:11 starting jit/tl/test [167 started in total] __ jit/metainterp/test/test_virtualref.py [164 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0x7f429b734e50> 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 0x7f429b681590> 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 [c5fd5513e533a00] {jit-tracing JIT starting (llgraph) (jitdriver: no get_printable_location) (jitdriver: no get_printable_location) [c5fd5513e70bc80] {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 [c5fd5513e720100] jit-trace-done} [c5fd5513e740c00] {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 0x7f429ca9b790: 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>) [c5fd5513e79b580] jit-log-noopt} [c5fd5513e7a4a00] {jit-optimize [c5fd5513e7b8080] {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 0x7f429b666310>) [i4, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5513e9e0a00] jit-log-intbounds} [c5fd5513ea1f400] {jit-log-exported-state [i14, r15] INP(i14 = int_add(i16, -1/ci)) PureOp(i17 = int_gt(i14, 0/ci)) INP(r15) HeapOp(0/cp, r18 = getfield_gc_r(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))) [c5fd5513ea30580] jit-log-exported-state} [c5fd5513ea35d80] jit-optimize} [c5fd5513ea46180] {jit-optimize [c5fd5513eaab000] {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 0x7f429b666050>) [i5, p8] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') [c5fd5513ed48580] jit-log-intbounds} # i5: (1 <= 0b0?...?) IntBound(1, MAXINT) jump(i5, p8, descr=TargetToken(139924051735888)) [c5fd5513edfe780] jit-optimize} [c5fd5513ee05700] {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() [c5fd5513ee1f500] jit-log-short-preamble} [c5fd5513ee37200] {jit-backend [c5fd5513ee43d00] {jit-log-compiling-loop [i16, p15] label(i16, p15, descr=TargetToken(139924051748688)) debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') p24 = force_token() i14 = int_add(i16, -1) setfield_gc(p15, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')) i17 = int_gt(i14, 0) guard_true(i17, descr=<Guard0x7f429b666310>) [i14, p15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i14, p15, descr=TargetToken(139924051735888)) 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=<Guard0x7f429b666050>) [i29, p15] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i29, p15, descr=TargetToken(139924051735888)) [c5fd5513ee71d00] jit-log-compiling-loop} [c5fd5513ee7fc00] {jit-mem-looptoken-alloc allocating Loop # 1 [c5fd5513ee85b80] jit-mem-looptoken-alloc} [c5fd5513ee9d080] jit-backend} compiled new loop [c5fd5513eea3280] {jit-log-opt-loop # Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops [i0, p1] label(i0, p1, descr=TargetToken(139924051748688)) 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=<Guard0x7f429b666310>) [i4, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') label(i4, p1, descr=TargetToken(139924051735888)) 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=<Guard0x7f429b666050>) [i10, p1] debug_merge_point(0, 0, '(jitdriver: no get_printable_location)') jump(i10, p1, descr=TargetToken(139924051735888)) [c5fd5513eed5500] jit-log-opt-loop} DoneWithThisFrameInt [c5fd5513ef9e980] 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 5.72 seconds ================ ++ 09:53:13 starting jit/tl/tinyframe/test [168 started in total] __ jit/tl/tinyframe/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit/tl/tinyframe/test/test_tinyframe.py ....... =========================== 7 passed in 1.37 seconds =========================== ++ 09:53:15 starting jit/tl/tla [169 started in total] __ jit/tl/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 5.40 seconds ===================== ++ 09:53:18 starting jit/tool/test [170 started in total] __ jit/tl/tla [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.72 seconds ===================== ++ 09:53:20 starting memory/gc/test [171 started in total] __ jit/metainterp/test/test_tracelimit.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit/metainterp/test/test_tracelimit.py ..... ========================== 5 passed in 55.43 seconds =========================== ++ 09:53:20 starting memory/gctransform/test [172 started in total] __ jit/tool/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.21 seconds =========================== ++ 09:53:21 starting memory/test/test_gctypelayout.py [173 started in total] __ memory/test/test_gctypelayout.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items memory/test/test_gctypelayout.py ..... =========================== 5 passed in 0.69 seconds =========================== ++ 09:53:22 starting memory/test/test_generational_gc.py [174 started in total] __ memory/test/test_generational_gc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_generational_gc.py ............................................... ========================== 47 passed in 31.37 seconds ========================== ++ 09:53:55 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_growingsemispace_gc.py ............................................... ========================== 47 passed in 35.06 seconds ========================== ++ 09:54:33 starting memory/test/test_hybrid_gc.py [176 started in total] __ memory/gctransform/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 70.23 seconds ===================== ++ 09:54:33 starting memory/test/test_hybrid_gc_smallheap.py [177 started in total] __ memory/test/test_hybrid_gc_smallheap.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 46 items memory/test/test_hybrid_gc_smallheap.py .............................................. ========================== 46 passed in 29.47 seconds ========================== ++ 09:55:06 starting memory/test/test_incminimark_gc.py [178 started in total] __ memory/test/test_hybrid_gc.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items memory/test/test_hybrid_gc.py .................................................. ========================== 50 passed in 32.31 seconds ========================== ++ 09:55:11 starting memory/test/test_incminimark_gc_cardmarking.py [179 started in total] __ jit/metainterp/test/test_zvector.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 84 items jit/metainterp/test/test_zvector.py .................................................................................... ========================= 84 passed in 133.68 seconds ========================== ++ 09:55:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items memory/test/test_lldict.py ..... =========================== 5 passed in 0.64 seconds =========================== ++ 09:55:30 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items memory/test/test_minimark_gc.py ................................................ ========================== 48 passed in 35.53 seconds ========================== ++ 09:56:08 starting memory/test/test_minimark_gc_cardmarking.py [182 started in total] __ memory/test/test_incminimark_gc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 59.88 seconds ===================== ++ 09:56:11 starting memory/test/test_semispace_gc.py [183 started in total] __ memory/test/test_incminimark_gc_cardmarking.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 62.28 seconds ===================== ++ 09:56:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items memory/test/test_support.py ......... =========================== 9 passed in 3.07 seconds =========================== ++ 09:56:21 starting memory/test/test_transformed_gc.py [185 started in total] __ memory/test/test_semispace_gc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items memory/test/test_semispace_gc.py ............................................... ========================== 47 passed in 28.91 seconds ========================== ++ 09:56:44 starting rlib/parsing/test/test_deterministic.py [186 started in total] __ memory/test/test_minimark_gc_cardmarking.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items memory/test/test_minimark_gc_cardmarking.py ................................................ ========================== 48 passed in 35.82 seconds ========================== ++ 09:56:46 starting rlib/parsing/test/test_ebnfparse.py [187 started in total] __ rlib/parsing/test/test_ebnfparse.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0.41 seconds ===================== ++ 09:56:47 starting rlib/parsing/test/test_lexer.py [188 started in total] __ rlib/parsing/test/test_lexer.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/parsing/test/test_lexer.py .......... ========================== 10 passed in 0.14 seconds =========================== ++ 09:56:49 starting rlib/parsing/test/test_parse.py [189 started in total] __ rlib/parsing/test/test_deterministic.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/parsing/test/test_deterministic.py ......... =========================== 9 passed in 4.38 seconds =========================== ++ 09:56:50 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/parsing/test/test_parse.py .... =========================== 4 passed in 0.09 seconds =========================== ++ 09:56:50 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/parsing/test/test_parseerrors.py .. =========================== 2 passed in 0.10 seconds =========================== ++ 09:56:51 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 31 items rlib/parsing/test/test_pypackrat.py ............................... ========================== 31 passed in 0.65 seconds =========================== ++ 09:56:52 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/parsing/test/test_pythonlexer.py ........... ========================== 11 passed in 2.03 seconds =========================== ++ 09:56:56 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 1.08 seconds ===================== ++ 09:56:57 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 290 items rlib/parsing/test/test_pcre_regtest.py .................................................................................................................................................................................................................................................................................................. ========================== 290 passed in 9.42 seconds ========================== ++ 09:57:00 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 15 items rlib/parsing/test/test_regexparse.py ............... ========================== 15 passed in 0.30 seconds =========================== ++ 09:57:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/parsing/test/test_regex.py ............. ========================== 13 passed in 12.42 seconds ========================== ++ 09:57:12 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/parsing/test/test_translate_lexer.py . =========================== 1 passed in 7.52 seconds =========================== ++ 09:57:20 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/parsing/test/test_tree.py ...... =========================== 6 passed in 5.35 seconds =========================== ++ 09:57:27 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/rjitlog/test/test_jitlog.py .... =========================== 4 passed in 0.88 seconds =========================== ++ 09:57:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/rsre/test/test_char.py ....... =========================== 7 passed in 1.90 seconds =========================== ++ 09:57:32 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/rsre/test/test_ext_opcode.py ........... ========================== 11 passed in 0.53 seconds =========================== ++ 09:57:33 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 38 items rlib/rsre/test/test_match.py ...................................... ========================== 38 passed in 1.11 seconds =========================== ++ 09:57:35 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 5.99 seconds ===================== ++ 09:57:42 starting rlib/rsre/test/test_search.py [205 started in total] __ rlib/rsre/test/test_search.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 67 items rlib/rsre/test/test_search.py ................................................................... ========================== 67 passed in 0.75 seconds =========================== ++ 09:57:44 starting rlib/rsre/test/test_zexternal.py [206 started in total] __ rlib/parsing/test/test_translate.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/parsing/test/test_translate.py ..... ========================== 5 passed in 40.99 seconds =========================== ++ 09:57:45 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1002 items rlib/rsre/test/test_zexternal.py .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ========================= 1002 passed in 1.49 seconds ========================== ++ 09:57:46 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items rlib/rsre/test/test_zinterp.py ... ========================== 3 passed in 12.01 seconds =========================== ++ 09:57:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 49 items rlib/rstrategies/test/test_rstrategies.py ................................................. ========================== 49 passed in 0.16 seconds =========================== ++ 09:58:01 starting rlib/rstruct/test/test_ieee.py [210 started in total] __ memory/gc/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 302.47 seconds ==================== ++ 09:58:30 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 59 items rlib/rstruct/test/test_pack.py ........................................................... ========================== 59 passed in 0.68 seconds =========================== ++ 09:58:32 starting rlib/rstruct/test/test_runpack.py [212 started in total] __ rlib/rstruct/test/test_ieee.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items rlib/rstruct/test/test_ieee.py .............. ========================== 14 passed in 34.87 seconds ========================== ++ 09:58:39 starting rlib/rvmprof/test/test_file.py [213 started in total] __ rlib/rstruct/test/test_runpack.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 22 items rlib/rstruct/test/test_runpack.py ...................... ========================== 22 passed in 7.84 seconds =========================== ++ 09:58:42 starting rlib/rvmprof/test/test_rvmprof.py [214 started in total] __ rlib/rvmprof/test/test_file.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/rvmprof/test/test_file.py . =========================== 1 passed in 9.70 seconds =========================== ++ 09:58:51 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items rlib/rvmprof/test/test_support.py ... =========================== 3 passed in 0.50 seconds =========================== ++ 09:58:52 starting rlib/rvmprof/test/test_traceback.py [216 started in total] __ rlib/rvmprof/test/test_rvmprof.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/rvmprof/test/test_rvmprof.py ...... ========================== 6 passed in 28.49 seconds =========================== ++ 09:59:15 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/rvmprof/test/test_ztranslation.py .. ========================== 2 passed in 20.44 seconds =========================== ++ 09:59:39 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items rlib/test/test__jit_vref.py ............ ========================== 12 passed in 0.71 seconds =========================== ++ 09:59:40 starting rlib/test/test_buffer.py [219 started in total] __ rlib/test/test_buffer.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 47 items rlib/test/test_buffer.py ............................................... ========================== 47 passed in 19.55 seconds ========================== ++ 10:00:04 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_cache.py . =========================== 1 passed in 0.10 seconds =========================== ++ 10:00:05 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.27 seconds ===================== ++ 10:00:10 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_compilerinfo.py .. =========================== 2 passed in 3.20 seconds =========================== ++ 10:00:14 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/test/test_debug.py ........... ========================== 11 passed in 4.39 seconds =========================== ++ 10:00:19 starting rlib/test/test_jit.py [224 started in total] __ rlib/test/test_jit.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items rlib/test/test_jit.py ...ss......................... ===================== 28 passed, 2 skipped in 1.88 seconds ===================== ++ 10:00:22 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_jit_libffi.py . =========================== 1 passed in 0.64 seconds =========================== ++ 10:00:24 starting rlib/test/test_libffi.py [226 started in total] __ rlib/test/test_libffi.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/test/test_libffi.py .........s................ ===================== 25 passed, 1 skipped in 0.96 seconds ===================== ++ 10:00:25 starting rlib/test/test_listsort.py [227 started in total] __ rlib/test/test_listsort.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_listsort.py .... ================= 4 passed, 1 pytest-warnings in 1.04 seconds ================== ++ 10:00:27 starting rlib/test/test_longlong2float.py [228 started in total] __ rlib/test/test_longlong2float.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/test/test_longlong2float.py .......... ========================== 10 passed in 12.37 seconds ========================== ++ 10:00:42 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_mutbuffer.py ..... =========================== 5 passed in 0.51 seconds =========================== ++ 10:00:43 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_nonconst.py ..... =========================== 5 passed in 0.66 seconds =========================== ++ 10:00:45 starting rlib/test/test_objectmodel.py [231 started in total] __ rlib/test/test_objectmodel.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 60 items rlib/test/test_objectmodel.py ....s....................................................... ==================== 59 passed, 1 skipped in 31.04 seconds ===================== ++ 10:01:18 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 30 items rlib/test/test_posix.py ....s......................... ===================== 29 passed, 1 skipped in 7.33 seconds ===================== ++ 10:01:26 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 11 items rlib/test/test_rStringIO.py ........... ========================== 11 passed in 0.21 seconds =========================== ++ 10:01:27 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 103 items rlib/test/test_rarithmetic.py ....................................................................................................... ========================== 103 passed in 1.63 seconds ========================== ++ 10:01:30 starting rlib/test/test_rawrefcount.py [235 started in total] __ rlib/test/test_rawrefcount.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rawrefcount.py ............. ========================== 13 passed in 19.28 seconds ========================== ++ 10:01:50 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rawrefcount_boehm.py .. =========================== 2 passed in 9.79 seconds =========================== ++ 10:02:02 starting rlib/test/test_rawstorage.py [237 started in total] __ rlib/test/test_rawstorage.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rawstorage.py ....... =========================== 7 passed in 9.70 seconds =========================== ++ 10:02:14 starting rlib/test/test_rbigint.py [238 started in total] __ memory/test/test_transformed_gc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 404.11 seconds =================== ++ 10:03:12 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rbisect.py .. =========================== 2 passed in 0.07 seconds =========================== ++ 10:03:13 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 8 items rlib/test/test_rcomplex.py ........ =========================== 8 passed in 0.16 seconds =========================== ++ 10:03:14 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rdtoa.py ...... =========================== 6 passed in 0.27 seconds =========================== ++ 10:03:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items rlib/test/test_rdynload.py ... =========================== 3 passed in 0.57 seconds =========================== ++ 10:03:17 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items rlib/test/test_rerased.py ......................... ========================== 25 passed in 0.82 seconds =========================== ++ 10:03:19 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/test/test_rfile.py .................test ......... ========================== 26 passed in 23.02 seconds ========================== ++ 10:03:43 starting rlib/test/test_rfloat.py [245 started in total] __ rlib/rvmprof/test/test_traceback.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/rvmprof/test/test_traceback.py . ========================== 1 passed in 292.90 seconds ========================== ++ 10:03:49 starting rlib/test/test_rgc.py [246 started in total] __ rlib/test/test_rfloat.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rfloat.py ............. ========================== 13 passed in 14.70 seconds ========================== ++ 10:04:00 starting rlib/test/test_rgil.py [247 started in total] __ rlib/test/test_rgil.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rgil.py .... ========================== 4 passed in 24.55 seconds =========================== ++ 10:04:28 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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.08 seconds ====================== ++ 10:04:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rmarshal.py ...... =========================== 6 passed in 8.80 seconds =========================== ++ 10:04:39 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rmd5.py ....... =========================== 7 passed in 1.80 seconds =========================== ++ 10:04:42 starting rlib/test/test_rmmap.py [251 started in total] __ rlib/test/test_rmmap.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 33 items rlib/test/test_rmmap.py ...........................sss... ==================== 30 passed, 3 skipped in 21.65 seconds ===================== ++ 10:05:05 starting rlib/test/test_rope.py [252 started in total] __ rlib/test/test_rgc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 39 items rlib/test/test_rgc.py .....................s................. ==================== 38 passed, 1 skipped in 81.55 seconds ===================== ++ 10:05:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items rlib/test/test_rpath.py ......s... ===================== 9 passed, 1 skipped in 0.49 seconds ====================== ++ 10:05:17 starting rlib/test/test_rpoll.py [254 started in total] __ rlib/test/test_rope.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 58 items rlib/test/test_rope.py .............................s............................ ==================== 57 passed, 1 skipped in 17.40 seconds ===================== ++ 10:05:26 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rpoll.py s...... ===================== 6 passed, 1 skipped in 13.38 seconds ===================== ++ 10:05:32 starting rlib/test/test_rposix_environ.py [256 started in total] __ rlib/test/test_rposix_environ.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rposix_environ.py .. =========================== 2 passed in 8.79 seconds =========================== ++ 10:05:42 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_rposix_scandir.py . =========================== 1 passed in 1.09 seconds =========================== ++ 10:05:43 starting rlib/test/test_rposix_stat.py [258 started in total] __ rlib/test/test_rposix_stat.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/test/test_rposix_stat.py ......s.. ===================== 8 passed, 1 skipped in 12.16 seconds ===================== ++ 10:05:58 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items rlib/test/test_rrandom.py ....... =========================== 7 passed in 5.87 seconds =========================== ++ 10:06:05 starting rlib/test/test_rrawarray.py [260 started in total] __ rlib/test/test_rrawarray.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rrawarray.py .... =========================== 4 passed in 0.91 seconds =========================== ++ 10:06:07 starting rlib/test/test_rsha.py [261 started in total] __ rlib/test/test_rsha.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rsha.py .... =========================== 4 passed in 1.16 seconds =========================== ++ 10:06:08 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rshrinklist.py .. =========================== 2 passed in 0.07 seconds =========================== ++ 10:06:09 starting rlib/test/test_rsignal.py [263 started in total] __ rlib/test/test_rposix.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 80 items rlib/test/test_rposix.py ..ss.sss...............ss....................................................... ==================== 73 passed, 7 skipped in 44.92 seconds ===================== ++ 10:06:17 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rsignal.py ...... =========================== 6 passed in 6.39 seconds =========================== ++ 10:06:18 starting rlib/test/test_rsocket.py [265 started in total] __ rlib/test/test_rsiphash.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rsiphash.py ...... ========================== 6 passed in 13.00 seconds =========================== ++ 10:06:32 starting rlib/test/test_rstacklet.py [266 started in total] __ rlib/test/test_rsocket.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 107.56 seconds =============== ++ 10:08:07 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/test/test_rstackovf.py .s.. ===================== 3 passed, 1 skipped in 3.09 seconds ====================== ++ 10:08:11 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 28 items rlib/test/test_rstring.py ..........s.s............... ===================== 26 passed, 2 skipped in 8.25 seconds ===================== ++ 10:08:21 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_rtermios.py sssss ========================== 5 skipped in 0.01 seconds =========================== ++ 10:08:22 starting rlib/test/test_rthread.py [270 started in total] __ rlib/test/test_rthread.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items rlib/test/test_rthread.py .................... ========================= 20 passed in 166.99 seconds ========================== ++ 10:11:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items rlib/test/test_rtime.py ..... =========================== 5 passed in 1.49 seconds =========================== ++ 10:11:19 starting rlib/test/test_rtimer.py [272 started in total] __ rlib/test/test_rtimer.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items rlib/test/test_rtimer.py ...... =========================== 6 passed in 5.51 seconds =========================== ++ 10:11:25 starting rlib/test/test_runicode.py [273 started in total] __ rlib/test/test_runicode.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 48 items rlib/test/test_runicode.py ................................................ ========================== 48 passed in 8.96 seconds =========================== ++ 10:11:36 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rurandom.py .. =========================== 2 passed in 0.63 seconds =========================== ++ 10:11:37 starting rlib/test/test_rutf8.py [275 started in total] __ rlib/test/test_rstacklet.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rstacklet.py .. ========================== 2 passed in 323.58 seconds ========================== ++ 10:11:57 starting rlib/test/test_rweakkeydict.py [276 started in total] __ rlib/test/test_rutf8.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items rlib/test/test_rutf8.py ....................... ========================== 23 passed in 20.01 seconds ========================== ++ 10:12:01 starting rlib/test/test_rweaklist.py [277 started in total] __ rlib/test/test_rweakkeydict.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.82 seconds ================ ++ 10:12:02 starting rlib/test/test_rweakref.py [278 started in total] __ rlib/test/test_rweaklist.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rweaklist.py .. =========================== 2 passed in 0.12 seconds =========================== ++ 10:12:02 starting rlib/test/test_rweakvaldict.py [279 started in total] __ rlib/test/test_rweakref.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items rlib/test/test_rweakref.py . =========================== 1 passed in 0.65 seconds =========================== ++ 10:12:04 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.01 seconds =========================== ++ 10:12:05 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 13 items rlib/test/test_rweakvaldict.py .......X..... ==================== 12 passed, 1 xpassed in 12.39 seconds ===================== ++ 10:12:17 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/test/test_rzipfile.py .. ========================== 2 passed in 18.00 seconds =========================== ++ 10:12:25 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0.75 seconds ===================== ++ 10:12:27 starting rlib/test/test_streamio.py [284 started in total] __ rlib/test/test_streamio.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 112 items rlib/test/test_streamio.py ................................................................................................................ ========================= 112 passed in 54.82 seconds ========================== ++ 10:13:25 starting rlib/test/test_z3.py [285 started in total] __ rlib/test/test_z3.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 10:13:26 starting rlib/unicodedata/test/test_codegen.py [286 started in total] __ rlib/unicodedata/test/test_codegen.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items rlib/unicodedata/test/test_codegen.py .. =========================== 2 passed in 0.49 seconds =========================== ++ 10:13:28 starting rlib/unicodedata/test/test_dawg.py [287 started in total] __ rlib/unicodedata/test/test_dawg.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 9 items rlib/unicodedata/test/test_dawg.py ......... =========================== 9 passed in 2.25 seconds =========================== ++ 10:13:31 starting rlib/unicodedata/test/test_ucd.py [288 started in total] __ rlib/unicodedata/test/test_ucd.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items rlib/unicodedata/test/test_ucd.py .... =========================== 4 passed in 8.44 seconds =========================== ++ 10:13:41 starting rlib/unicodedata/test/test_unicodedata.py [289 started in total] __ rlib/test/test_rzlib.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 22 items rlib/test/test_rzlib.py ................s..... ==================== 21 passed, 1 skipped in 88.32 seconds ===================== ++ 10:13:51 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/unicodedata/test/test_unicodedata.py .......................... ========================== 26 passed in 9.65 seconds =========================== ++ 10:13:53 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 13.47 seconds ========================== ++ 10:14:06 starting rtyper/test [292 started in total] __ rtyper/lltypesystem/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 178.46 seconds ==================== ++ 10:16:54 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 3.10 seconds =========================== ++ 10:16:59 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 14.85 seconds ===================== ++ 10:17:16 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 21 items tool/cparser/test/test_cts.py ..................... ========================== 21 passed in 1.40 seconds =========================== ++ 10:17:18 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 0.62 seconds ===================== ++ 10:17:20 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items tool/pytest/test/test_expecttest.py s ========================== 1 skipped in 0.07 seconds =========================== ++ 10:17:21 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 5.88 seconds =========================== ++ 10:17:28 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 6.78 seconds ===================== ++ 10:17:36 starting translator/c/test/test_backendoptimized.py [300 started in total] __ rlib/test/test_rbigint.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 199 items rlib/test/test_rbigint.py ....................................................................................................................................................................................................... ======================== 199 passed in 1049.22 seconds ========================= ++ 10:19:47 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_boehm.py ................. ========================== 17 passed in 57.02 seconds ========================== ++ 10:20:45 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_database.py ................. ========================== 17 passed in 1.24 seconds =========================== ++ 10:20:48 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items translator/c/test/test_exception.py .......... ========================== 10 passed in 27.60 seconds ========================== ++ 10:21:21 starting translator/c/test/test_extfunc.py [304 started in total] __ rlib/rsre/test/test_zjit.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 26 items rlib/rsre/test/test_zjit.py .....................x.... =================== 25 passed, 1 xfailed in 1481.08 seconds ==================== ++ 10:22:31 starting translator/c/test/test_genc.py [305 started in total] __ translator/c/test/test_backendoptimized.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 90 items translator/c/test/test_backendoptimized.py .......................................................................................... ========================= 90 passed in 290.12 seconds ========================== ++ 10:22:33 starting translator/c/test/test_lladdresses.py [306 started in total] __ translator/c/test/test_lladdresses.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 17 items translator/c/test/test_lladdresses.py ................. ========================== 17 passed in 45.66 seconds ========================== ++ 10:23:24 starting translator/c/test/test_llop.py [307 started in total] __ rtyper/test [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 ........................s........ 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 ....... ============= 1143 passed, 22 skipped, 2 xfailed in 559.20 seconds ============= ++ 10:23:28 starting translator/c/test/test_lltyped.py [308 started in total] __ translator/c/test/test_llop.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 4 items translator/c/test/test_llop.py .... ========================== 4 passed in 24.86 seconds =========================== ++ 10:23:52 starting translator/c/test/test_math.py [309 started in total] __ translator/c/test/test_genc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 33 items translator/c/test/test_genc.py ................................. ========================== 33 passed in 84.60 seconds ========================== ++ 10:23:58 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items translator/c/test/test_math.py .. ========================== 2 passed in 23.66 seconds =========================== ++ 10:24:20 starting translator/c/test/test_refcount.py [311 started in total] __ translator/c/test/test_extfunc.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 185.89 seconds ==================== ++ 10:24:29 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items translator/c/test/test_rtagged.py .. =========================== 2 passed in 2.75 seconds =========================== ++ 10:24:32 starting translator/c/test/test_standalone.py [313 started in total] __ translator/c/test/test_refcount.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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items translator/c/test/test_refcount.py .......... ========================== 10 passed in 31.39 seconds ========================== ++ 10:24:52 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items translator/c/test/test_standalone_print_function.py . =========================== 1 passed in 6.59 seconds =========================== ++ 10:25:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 107 items translator/c/test/test_support.py ........................................................................................................... ========================== 107 passed in 0.16 seconds ========================== ++ 10:25:02 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items translator/c/test/test_symbolic.py ....... ========================== 7 passed in 18.01 seconds =========================== ++ 10:25:22 starting translator/c/test/test_typed.py [317 started in total] __ translator/c/test/test_lltyped.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 50 items translator/c/test/test_lltyped.py ..................s..............s................ ==================== 48 passed, 2 skipped in 145.90 seconds ==================== ++ 10:26:01 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 0.00 seconds =========================== ++ 10:26:02 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 14.46 seconds ===================== ++ 10:26:19 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 102.97 seconds ==================== ++ 10:28:08 starting translator/test [321 started in total] __ translator/test [318 done in total, somefailed=False] ______________________ [platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown' ============================= test session starts ============================== platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 37.53 seconds ===================== ++ 10:28:52 starting translator/tool/test [322 started in total] __ translator/c/test/test_standalone.py [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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 43 items translator/c/test/test_standalone.py ...s..............s......s................. ==================== 40 passed, 3 skipped in 270.73 seconds ==================== __ translator/tool/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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 14.31 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/build/rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 76 items translator/c/test/test_typed.py ............................................................................ ========================= 76 passed in 271.82 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-64/build/rpython/.hypothesis/examples') pytest-2.9.2 from /build_dir/rpython-linux-x86-64/build/pytest.pyc rootdir: /build_dir/rpython-linux-x86-64/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 748.74 seconds ==================== program finished with exit code 1 elapsedTime=4063.488367