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