virt_test/bin/python testrunner/runner.py --logfile=testrun.log --config=pypy/testrunner_cfg.py '--config=~/machine_cfg.py' --root=rpython --timeout=4000
in dir /build_dir/rpython-linux-x86-32/build (timeout 4000 secs)
watching logfiles {'pytestLog': 'testrun.log'}
argv: ['virt_test/bin/python', 'testrunner/runner.py', '--logfile=testrun.log', '--config=pypy/testrunner_cfg.py', '--config=~/machine_cfg.py', '--root=rpython', '--timeout=4000']
environment:
AUDITWHEEL_ARCH=i686
AUDITWHEEL_PLAT=manylinux2014_i686
AUDITWHEEL_POLICY=manylinux2014
DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
HOME=/home/buildslave
HOSTNAME=ffc60fde56a7
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib/dyninst
LOGNAME=buildslave
PATH=/python27_virt/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig
PWD=/build_dir/rpython-linux-x86-32/build
PYPYCHERRYPICK=
PYPY_LOCALBASE=/usr/local
PYPY_MAKE_PORTABLE=1
PYTHONPATH=.:
SHELL=/bin/bash
SHLVL=3
SSL_CERT_FILE=/opt/_internal/certs.pem
TERM=xterm
TMPDIR=/build_dir/tmp/pytest
USER=buildslave
_=/usr/bin/linux32
using PTY: False
using config pypy/testrunner_cfg.py
using config /home/buildslave/machine_cfg.py
running 4 parallel test workers
setting MAKEFLAGS to ' ' (space)
-- annotator/test
-- config/test
-- flowspace/test
-- jit/backend/aarch64/test/test_basic.py
-- jit/backend/aarch64/test/test_call.py
-- jit/backend/aarch64/test/test_calling_convention.py
-- jit/backend/aarch64/test/test_del.py
-- jit/backend/aarch64/test/test_dict.py
-- jit/backend/aarch64/test/test_exception.py
-- jit/backend/aarch64/test/test_fficall.py
-- jit/backend/aarch64/test/test_float.py
-- jit/backend/aarch64/test/test_instr_builder.py
-- jit/backend/aarch64/test/test_jitlog.py
-- jit/backend/aarch64/test/test_list.py
-- jit/backend/aarch64/test/test_llop.py
-- jit/backend/aarch64/test/test_loop_unroll.py
-- jit/backend/aarch64/test/test_quasiimmut.py
-- jit/backend/aarch64/test/test_rawmem.py
-- jit/backend/aarch64/test/test_recursive.py
-- jit/backend/aarch64/test/test_runner.py
-- jit/backend/aarch64/test/test_rvmprof.py
-- jit/backend/aarch64/test/test_send.py
-- jit/backend/aarch64/test/test_slist.py
-- jit/backend/aarch64/test/test_string.py
-- jit/backend/aarch64/test/test_tl.py
-- jit/backend/aarch64/test/test_tlc.py
-- jit/backend/aarch64/test/test_virtual.py
-- jit/backend/aarch64/test/test_virtualizable.py
-- jit/backend/aarch64/test/test_virtualref.py
-- jit/backend/aarch64/test/test_zrpy_gc.py
-- jit/backend/aarch64/test/test_zrpy_gc_boehm.py
-- jit/backend/aarch64/test/test_zrpy_releasegil.py
-- jit/backend/aarch64/test/test_zrpy_vmprof.py
-- jit/backend/aarch64/test/test_ztranslation_basic.py
-- jit/backend/aarch64/test/test_ztranslation_call_assembler.py
-- jit/backend/aarch64/test/test_ztranslation_jit_stats.py
-- jit/backend/arm/test
-- jit/backend/llgraph/test
-- jit/backend/llsupport/test
-- jit/backend/ppc/test
-- jit/backend/riscv/test
-- jit/backend/test
-- jit/backend/x86/test/test_assembler.py
-- jit/backend/x86/test/test_basic.py
-- jit/backend/x86/test/test_call.py
-- jit/backend/x86/test/test_callbuilder.py
-- jit/backend/x86/test/test_calling_convention.py
-- jit/backend/x86/test/test_del.py
-- jit/backend/x86/test/test_dict.py
-- jit/backend/x86/test/test_exception.py
-- jit/backend/x86/test/test_fficall.py
-- jit/backend/x86/test/test_float.py
-- jit/backend/x86/test/test_jitlog.py
-- jit/backend/x86/test/test_jump.py
-- jit/backend/x86/test/test_list.py
-- jit/backend/x86/test/test_llop.py
-- jit/backend/x86/test/test_longlong.py
-- jit/backend/x86/test/test_loop_unroll.py
-- jit/backend/x86/test/test_quasiimmut.py
-- jit/backend/x86/test/test_rawmem.py
-- jit/backend/x86/test/test_recursive.py
-- jit/backend/x86/test/test_regalloc.py
-- jit/backend/x86/test/test_regloc.py
-- jit/backend/x86/test/test_runner.py
-- jit/backend/x86/test/test_rvmprof.py
-- jit/backend/x86/test/test_rx86.py
-- jit/backend/x86/test/test_rx86_32_auto_encoding.py
-- jit/backend/x86/test/test_rx86_64_auto_encoding.py
-- jit/backend/x86/test/test_send.py
-- jit/backend/x86/test/test_slist.py
-- jit/backend/x86/test/test_string.py
-- jit/backend/x86/test/test_symbolic_x86.py
-- jit/backend/x86/test/test_tl.py
-- jit/backend/x86/test/test_tlc.py
-- jit/backend/x86/test/test_tracelimit.py
-- jit/backend/x86/test/test_virtual.py
-- jit/backend/x86/test/test_virtualizable.py
-- jit/backend/x86/test/test_virtualref.py
-- jit/backend/x86/test/test_x86vector.py
-- jit/backend/x86/test/test_zmath.py
-- jit/backend/x86/test/test_zrpy_gc.py
-- jit/backend/x86/test/test_zrpy_gc_boehm.py
-- jit/backend/x86/test/test_zrpy_releasegil.py
-- jit/backend/x86/test/test_zrpy_vecopt.py
-- jit/backend/x86/test/test_zrpy_vmprof.py
-- jit/backend/x86/test/test_ztranslation_basic.py
-- jit/backend/x86/test/test_ztranslation_call_assembler.py
-- jit/backend/x86/test/test_ztranslation_external_exception.py
-- jit/backend/x86/test/test_ztranslation_jit_stats.py
-- jit/backend/x86/tool/test/test_viewcode.py
-- jit/backend/zarch/test
-- jit/codewriter/test
-- jit/metainterp/optimizeopt/test/test_costmodel.py
-- jit/metainterp/optimizeopt/test/test_dependency.py
-- jit/metainterp/optimizeopt/test/test_guard.py
-- jit/metainterp/optimizeopt/test/test_intbound.py
-- jit/metainterp/optimizeopt/test/test_intdiv.py
-- jit/metainterp/optimizeopt/test/test_optimizebasic.py
-- jit/metainterp/optimizeopt/test/test_optimizebridge.py
-- jit/metainterp/optimizeopt/test/test_optimizeheap.py
-- jit/metainterp/optimizeopt/test/test_optimizeintbound.py
-- jit/metainterp/optimizeopt/test/test_optimizeopt.py
-- jit/metainterp/optimizeopt/test/test_rawbuffer.py
-- jit/metainterp/optimizeopt/test/test_schedule.py
-- jit/metainterp/optimizeopt/test/test_short.py
-- jit/metainterp/optimizeopt/test/test_unroll.py
-- jit/metainterp/optimizeopt/test/test_util.py
-- jit/metainterp/optimizeopt/test/test_vecopt.py
-- jit/metainterp/optimizeopt/test/test_virtualstate.py
-- jit/metainterp/optimizeopt/test/test_z3checktests.py
-- jit/metainterp/optimizeopt/test/test_z3intbound.py
-- jit/metainterp/ruleopt/test/test_codegen.py
-- jit/metainterp/ruleopt/test/test_parse.py
-- jit/metainterp/ruleopt/test/test_prove.py
-- jit/metainterp/test/test_ajit.py
-- jit/metainterp/test/test_blackhole.py
-- jit/metainterp/test/test_bridgeopt.py
-- jit/metainterp/test/test_bytearray.py
-- jit/metainterp/test/test_call.py
-- jit/metainterp/test/test_compile.py
-- jit/metainterp/test/test_counter.py
-- jit/metainterp/test/test_del.py
-- jit/metainterp/test/test_dict.py
-- jit/metainterp/test/test_exception.py
-- jit/metainterp/test/test_executor.py
-- jit/metainterp/test/test_fficall.py
-- jit/metainterp/test/test_float.py
-- jit/metainterp/test/test_greenfield.py
-- jit/metainterp/test/test_heapcache.py
-- jit/metainterp/test/test_history.py
-- jit/metainterp/test/test_immutable.py
-- jit/metainterp/test/test_jitdriver.py
-- jit/metainterp/test/test_jitiface.py
-- jit/metainterp/test/test_jitprof.py
-- jit/metainterp/test/test_list.py
-- jit/metainterp/test/test_llop.py
-- jit/metainterp/test/test_logger.py
-- jit/metainterp/test/test_longlong.py
-- jit/metainterp/test/test_loop.py
-- jit/metainterp/test/test_loop_unroll.py
-- jit/metainterp/test/test_loop_unroll_disopt.py
-- jit/metainterp/test/test_math.py
-- jit/metainterp/test/test_memmgr.py
-- jit/metainterp/test/test_opencoder.py
-- jit/metainterp/test/test_pyjitpl.py
-- jit/metainterp/test/test_quasiimmut.py
-- jit/metainterp/test/test_rawmem.py
-- jit/metainterp/test/test_recursive.py
-- jit/metainterp/test/test_resoperation.py
-- jit/metainterp/test/test_resume.py
-- jit/metainterp/test/test_resumecode.py
-- jit/metainterp/test/test_send.py
-- jit/metainterp/test/test_slist.py
-- jit/metainterp/test/test_string.py
-- jit/metainterp/test/test_support.py
-- jit/metainterp/test/test_threadlocal.py
-- jit/metainterp/test/test_tl.py
-- jit/metainterp/test/test_tlc.py
-- jit/metainterp/test/test_tracelimit.py
-- jit/metainterp/test/test_tracingopts.py
-- jit/metainterp/test/test_virtual.py
-- jit/metainterp/test/test_virtualizable.py
-- jit/metainterp/test/test_virtualref.py
-- jit/metainterp/test/test_warmspot.py
-- jit/metainterp/test/test_warmstate.py
-- jit/metainterp/test/test_zvector.py
-- jit/tl/test
-- jit/tl/tinyframe/test
-- jit/tl/tla
-- jit/tool/test
-- memory/gc/test
-- memory/gctransform/test
-- memory/test/test_gctypelayout.py
-- memory/test/test_generational_gc.py
-- memory/test/test_growingsemispace_gc.py
-- memory/test/test_hybrid_gc.py
-- memory/test/test_hybrid_gc_smallheap.py
-- memory/test/test_incminimark_gc.py
-- memory/test/test_incminimark_gc_cardmarking.py
-- memory/test/test_lldict.py
-- memory/test/test_minimark_gc.py
-- memory/test/test_minimark_gc_cardmarking.py
-- memory/test/test_semispace_gc.py
-- memory/test/test_support.py
-- memory/test/test_transformed_gc.py
-- rlib/parsing/test/test_deterministic.py
-- rlib/parsing/test/test_ebnfparse.py
-- rlib/parsing/test/test_lexer.py
-- rlib/parsing/test/test_parse.py
-- rlib/parsing/test/test_parseerrors.py
-- rlib/parsing/test/test_pcre_regtest.py
-- rlib/parsing/test/test_pypackrat.py
-- rlib/parsing/test/test_pythonlexer.py
-- rlib/parsing/test/test_pythonparse.py
-- rlib/parsing/test/test_regex.py
-- rlib/parsing/test/test_regexparse.py
-- rlib/parsing/test/test_translate.py
-- rlib/parsing/test/test_translate_lexer.py
-- rlib/parsing/test/test_tree.py
-- rlib/rjitlog/test/test_jitlog.py
-- rlib/rsre/test/test_char.py
-- rlib/rsre/test/test_ext_opcode.py
-- rlib/rsre/test/test_match.py
-- rlib/rsre/test/test_re.py
-- rlib/rsre/test/test_search.py
-- rlib/rsre/test/test_zexternal.py
-- rlib/rsre/test/test_zinterp.py
-- rlib/rsre/test/test_zjit.py
-- rlib/rstrategies/test/test_rstrategies.py
-- rlib/rstruct/test/test_ieee.py
-- rlib/rstruct/test/test_pack.py
-- rlib/rstruct/test/test_runpack.py
-- rlib/rvmprof/test/test_file.py
-- rlib/rvmprof/test/test_rvmprof.py
-- rlib/rvmprof/test/test_support.py
-- rlib/rvmprof/test/test_traceback.py
-- rlib/rvmprof/test/test_ztranslation.py
-- rlib/test/test__jit_vref.py
-- rlib/test/test_buffer.py
-- rlib/test/test_cache.py
-- rlib/test/test_clibffi.py
-- rlib/test/test_compilerinfo.py
-- rlib/test/test_debug.py
-- rlib/test/test_jit.py
-- rlib/test/test_jit_libffi.py
-- rlib/test/test_libffi.py
-- rlib/test/test_listsort.py
-- rlib/test/test_longlong2float.py
-- rlib/test/test_mutbuffer.py
-- rlib/test/test_nonconst.py
-- rlib/test/test_objectmodel.py
-- rlib/test/test_posix.py
-- rlib/test/test_rStringIO.py
-- rlib/test/test_rarithmetic.py
-- rlib/test/test_rawrefcount.py
-- rlib/test/test_rawrefcount_boehm.py
-- rlib/test/test_rawstorage.py
-- rlib/test/test_rbigint.py
-- rlib/test/test_rbisect.py
-- rlib/test/test_rcomplex.py
-- rlib/test/test_rdtoa.py
-- rlib/test/test_rdynload.py
-- rlib/test/test_rerased.py
-- rlib/test/test_rfile.py
-- rlib/test/test_rfloat.py
-- rlib/test/test_rgc.py
-- rlib/test/test_rgil.py
-- rlib/test/test_rlocale.py
-- rlib/test/test_rmarshal.py
-- rlib/test/test_rmd5.py
-- rlib/test/test_rmmap.py
-- rlib/test/test_rope.py
-- rlib/test/test_rpath.py
-- rlib/test/test_rpoll.py
-- rlib/test/test_rposix.py
-- rlib/test/test_rposix_environ.py
-- rlib/test/test_rposix_scandir.py
-- rlib/test/test_rposix_stat.py
-- rlib/test/test_rrandom.py
-- rlib/test/test_rrawarray.py
-- rlib/test/test_rsha.py
-- rlib/test/test_rshrinklist.py
-- rlib/test/test_rsignal.py
-- rlib/test/test_rsiphash.py
-- rlib/test/test_rsocket.py
-- rlib/test/test_rstacklet.py
-- rlib/test/test_rstackovf.py
-- rlib/test/test_rstring.py
-- rlib/test/test_rtermios.py
-- rlib/test/test_rthread.py
-- rlib/test/test_rtime.py
-- rlib/test/test_rtimer.py
-- rlib/test/test_runicode.py
-- rlib/test/test_rurandom.py
-- rlib/test/test_rutf8.py
-- rlib/test/test_rweakkeydict.py
-- rlib/test/test_rweaklist.py
-- rlib/test/test_rweakref.py
-- rlib/test/test_rweakvaldict.py
-- rlib/test/test_rwin32.py
-- rlib/test/test_rzipfile.py
-- rlib/test/test_rzlib.py
-- rlib/test/test_signature.py
-- rlib/test/test_streamio.py
-- rlib/test/test_z3.py
-- rlib/unicodedata/test/test_codegen.py
-- rlib/unicodedata/test/test_dawg.py
-- rlib/unicodedata/test/test_ucd.py
-- rlib/unicodedata/test/test_unicodedata.py
-- rtyper/lltypesystem/module/test
-- rtyper/lltypesystem/test
-- rtyper/test
-- rtyper/tool/test
-- tool/algo/test
-- tool/cparser/test
-- tool/jitlogparser/test
-- tool/pytest/test
-- tool/test
-- translator/backendopt/test
-- translator/c/test/test_backendoptimized.py
-- translator/c/test/test_boehm.py
-- translator/c/test/test_database.py
-- translator/c/test/test_exception.py
-- translator/c/test/test_extfunc.py
-- translator/c/test/test_genc.py
-- translator/c/test/test_lladdresses.py
-- translator/c/test/test_llop.py
-- translator/c/test/test_lltyped.py
-- translator/c/test/test_math.py
-- translator/c/test/test_newgc.py
-- translator/c/test/test_refcount.py
-- translator/c/test/test_rtagged.py
-- translator/c/test/test_standalone.py
-- translator/c/test/test_standalone_print_function.py
-- translator/c/test/test_support.py
-- translator/c/test/test_symbolic.py
-- translator/c/test/test_typed.py
-- translator/platform/arch/test
-- translator/platform/test
-- translator/sandbox/test
-- translator/test
-- translator/tool/test
-- total: 322 to run
++ 09:28:57 starting annotator/test [1 started in total]
++ 09:28:57 starting config/test [2 started in total]
++ 09:28:57 starting flowspace/test [3 started in total]
++ 09:28:57 starting jit/backend/aarch64/test/test_basic.py [4 started in total]
__ config/test [1 done in total, somefailed=False] ____________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 43 items
config/test/test_config.py ....................................
config/test/test_parse.py ..
config/test/test_support.py .ss
config/test/test_translationoption.py ..
===================== 41 passed, 2 skipped in 7.14 seconds =====================
++ 09:29:06 starting jit/backend/aarch64/test/test_call.py [5 started in total]
__ jit/backend/aarch64/test/test_basic.py [2 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:06 starting jit/backend/aarch64/test/test_calling_convention.py [6 started in total]
__ flowspace/test [3 done in total, somefailed=False] _________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 162 items
flowspace/test/test_argument.py .....
flowspace/test/test_checkgraph.py ........
flowspace/test/test_flowcontext.py .....
flowspace/test/test_framestate.py ..........
flowspace/test/test_generator.py .....
flowspace/test/test_model.py .........
flowspace/test/test_objspace.py .............................................................xx...................xx..x................
flowspace/test/test_objspace_py2.py ....
flowspace/test/test_print_function.py .........
flowspace/test/test_unroll.py ....
==================== 157 passed, 5 xfailed in 6.27 seconds =====================
++ 09:29:06 starting jit/backend/aarch64/test/test_del.py [7 started in total]
__ jit/backend/aarch64/test/test_call.py [4 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:08 starting jit/backend/aarch64/test/test_dict.py [8 started in total]
__ jit/backend/aarch64/test/test_calling_convention.py [5 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:08 starting jit/backend/aarch64/test/test_exception.py [9 started in total]
__ jit/backend/aarch64/test/test_del.py [6 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:08 starting jit/backend/aarch64/test/test_fficall.py [10 started in total]
__ jit/backend/aarch64/test/test_exception.py [7 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:11 starting jit/backend/aarch64/test/test_float.py [11 started in total]
__ jit/backend/aarch64/test/test_dict.py [8 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:11 starting jit/backend/aarch64/test/test_instr_builder.py [12 started in total]
__ jit/backend/aarch64/test/test_fficall.py [9 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:11 starting jit/backend/aarch64/test/test_jitlog.py [13 started in total]
__ jit/backend/aarch64/test/test_float.py [10 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:14 starting jit/backend/aarch64/test/test_list.py [14 started in total]
__ jit/backend/aarch64/test/test_jitlog.py [11 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:14 starting jit/backend/aarch64/test/test_llop.py [15 started in total]
__ jit/backend/aarch64/test/test_instr_builder.py [12 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:14 starting jit/backend/aarch64/test/test_loop_unroll.py [16 started in total]
__ jit/backend/aarch64/test/test_llop.py [13 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:16 starting jit/backend/aarch64/test/test_quasiimmut.py [17 started in total]
__ jit/backend/aarch64/test/test_loop_unroll.py [14 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:17 starting jit/backend/aarch64/test/test_rawmem.py [18 started in total]
__ jit/backend/aarch64/test/test_list.py [15 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:18 starting jit/backend/aarch64/test/test_recursive.py [19 started in total]
__ jit/backend/aarch64/test/test_rawmem.py [16 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:20 starting jit/backend/aarch64/test/test_runner.py [20 started in total]
__ jit/backend/aarch64/test/test_recursive.py [17 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:20 starting jit/backend/aarch64/test/test_rvmprof.py [21 started in total]
__ jit/backend/aarch64/test/test_quasiimmut.py [18 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:21 starting jit/backend/aarch64/test/test_send.py [22 started in total]
__ jit/backend/aarch64/test/test_runner.py [19 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:22 starting jit/backend/aarch64/test/test_slist.py [23 started in total]
__ jit/backend/aarch64/test/test_rvmprof.py [20 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:23 starting jit/backend/aarch64/test/test_string.py [24 started in total]
__ jit/backend/aarch64/test/test_send.py [21 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:23 starting jit/backend/aarch64/test/test_tl.py [25 started in total]
__ jit/backend/aarch64/test/test_slist.py [22 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:25 starting jit/backend/aarch64/test/test_tlc.py [26 started in total]
__ jit/backend/aarch64/test/test_string.py [23 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:25 starting jit/backend/aarch64/test/test_virtual.py [27 started in total]
__ jit/backend/aarch64/test/test_tl.py [24 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:26 starting jit/backend/aarch64/test/test_virtualizable.py [28 started in total]
__ jit/backend/aarch64/test/test_tlc.py [25 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:27 starting jit/backend/aarch64/test/test_virtualref.py [29 started in total]
__ jit/backend/aarch64/test/test_virtual.py [26 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:28 starting jit/backend/aarch64/test/test_zrpy_gc.py [30 started in total]
__ jit/backend/aarch64/test/test_virtualizable.py [27 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 09:29:28 starting jit/backend/aarch64/test/test_zrpy_gc_boehm.py [31 started in total]
__ jit/backend/aarch64/test/test_virtualref.py [28 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:30 starting jit/backend/aarch64/test/test_zrpy_releasegil.py [32 started in total]
__ jit/backend/aarch64/test/test_zrpy_gc.py [29 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:30 starting jit/backend/aarch64/test/test_zrpy_vmprof.py [33 started in total]
__ jit/backend/aarch64/test/test_zrpy_gc_boehm.py [30 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:31 starting jit/backend/aarch64/test/test_ztranslation_basic.py [34 started in total]
__ jit/backend/aarch64/test/test_zrpy_releasegil.py [31 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:32 starting jit/backend/aarch64/test/test_ztranslation_call_assembler.py [35 started in total]
__ jit/backend/aarch64/test/test_zrpy_vmprof.py [32 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:33 starting jit/backend/aarch64/test/test_ztranslation_jit_stats.py [36 started in total]
__ jit/backend/aarch64/test/test_ztranslation_basic.py [33 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:33 starting jit/backend/arm/test [37 started in total]
__ jit/backend/aarch64/test/test_ztranslation_call_assembler.py [34 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:35 starting jit/backend/llgraph/test [38 started in total]
__ jit/backend/aarch64/test/test_ztranslation_jit_stats.py [35 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.00 seconds ===========================
++ 09:29:35 starting jit/backend/llsupport/test [39 started in total]
__ jit/backend/arm/test [36 done in total, somefailed=False] __________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items
========================= no tests ran in 0.01 seconds =========================
++ 09:29:36 starting jit/backend/ppc/test [40 started in total]
__ jit/backend/ppc/test [37 done in total, somefailed=False] __________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items
========================= no tests ran in 0.00 seconds =========================
++ 09:29:38 starting jit/backend/riscv/test [41 started in total]
__ jit/backend/riscv/test [38 done in total, somefailed=False] ________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items
========================= no tests ran in 0.00 seconds =========================
++ 09:29:42 starting jit/backend/test [42 started in total]
__ jit/backend/llgraph/test [39 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 156 items
jit/backend/llgraph/test/test_llgraph.py ss...............................................................................sss..........s.sssss......s.................s.....s.........s.....s........
==================== 140 passed, 16 skipped in 4.35 seconds ====================
++ 09:29:42 starting jit/backend/x86/test/test_assembler.py [43 started in total]
__ jit/backend/x86/test/test_assembler.py [40 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_assembler.py ...
=========================== 3 passed in 0.63 seconds ===========================
++ 09:29:45 starting jit/backend/x86/test/test_basic.py [44 started in total]
__ annotator/test [41 done in total, somefailed=False] ________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.py
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 697 items
annotator/test/test_annrpython.py ......................................................................................x..........................................................................................................................................x........................................................................................XX.............
annotator/test/test_annrpython_py2.py ...
annotator/test/test_annsimplifyrpython.py ......................................................................................x..........................................................................................................................................x........................................................................................XX................
annotator/test/test_argument.py ......
annotator/test/test_description.py ...
annotator/test/test_model.py ..........x.x..........
annotator/test/test_signature.py .
============== 687 passed, 6 xfailed, 4 xpassed in 44.52 seconds ===============
++ 09:29:48 starting jit/backend/x86/test/test_call.py [45 started in total]
__ jit/backend/x86/test/test_call.py [42 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 16 items
jit/backend/x86/test/test_call.py ................
========================== 16 passed in 6.45 seconds ===========================
++ 09:29:59 starting jit/backend/x86/test/test_callbuilder.py [46 started in total]
__ jit/backend/x86/test/test_callbuilder.py [43 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
jit/backend/x86/test/test_callbuilder.py ..
=========================== 2 passed in 0.11 seconds ===========================
++ 09:30:02 starting jit/backend/x86/test/test_calling_convention.py [47 started in total]
__ jit/backend/x86/test/test_calling_convention.py [44 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/backend/x86/test/test_calling_convention.py ......s
===================== 6 passed, 1 skipped in 50.10 seconds =====================
++ 09:31:00 starting jit/backend/x86/test/test_del.py [48 started in total]
__ jit/backend/x86/test/test_del.py [45 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_del.py ...
=========================== 3 passed in 2.18 seconds ===========================
++ 09:31:06 starting jit/backend/x86/test/test_dict.py [49 started in total]
__ jit/backend/x86/test/test_basic.py [46 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 194 items
jit/backend/x86/test/test_basic.py .s...........................................................................................................................................s................s..............s...........s........
=================== 189 passed, 5 skipped in 132.46 seconds ====================
++ 09:32:03 starting jit/backend/x86/test/test_exception.py [50 started in total]
__ jit/backend/x86/test/test_exception.py [47 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 32 items
jit/backend/x86/test/test_exception.py s...............................
==================== 31 passed, 1 skipped in 12.54 seconds =====================
++ 09:32:20 starting jit/backend/x86/test/test_fficall.py [51 started in total]
__ jit/backend/x86/test/test_dict.py [48 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 20 items
jit/backend/x86/test/test_dict.py ....................
========================== 20 passed in 80.48 seconds ==========================
++ 09:32:33 starting jit/backend/x86/test/test_float.py [52 started in total]
__ jit/backend/x86/test/test_float.py [49 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
jit/backend/x86/test/test_float.py ..........
========================== 10 passed in 4.61 seconds ===========================
++ 09:32:42 starting jit/backend/x86/test/test_jitlog.py [53 started in total]
__ jit/backend/x86/test/test_fficall.py [50 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 12 items
jit/backend/x86/test/test_fficall.py ............
========================== 12 passed in 22.47 seconds ==========================
++ 09:32:48 starting jit/backend/x86/test/test_jump.py [54 started in total]
__ jit/backend/x86/test/test_jump.py [51 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 12 items
jit/backend/x86/test/test_jump.py ............
========================== 12 passed in 11.66 seconds ==========================
++ 09:33:02 starting jit/backend/x86/test/test_list.py [55 started in total]
__ jit/backend/x86/test/test_jitlog.py [52 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_jitlog.py ...
========================== 3 passed in 26.10 seconds ===========================
++ 09:33:14 starting jit/backend/x86/test/test_llop.py [56 started in total]
__ jit/backend/x86/test/test_list.py [53 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 23 items
jit/backend/x86/test/test_list.py ...s...................
==================== 22 passed, 1 skipped in 13.11 seconds =====================
++ 09:33:20 starting jit/backend/x86/test/test_longlong.py [57 started in total]
__ jit/backend/x86/test/test_llop.py [54 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/backend/x86/test/test_llop.py .....
=========================== 5 passed in 4.13 seconds ===========================
++ 09:33:21 starting jit/backend/x86/test/test_loop_unroll.py [58 started in total]
__ jit/backend/x86/test/test_longlong.py [55 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 14 items
jit/backend/x86/test/test_longlong.py ..............
========================== 14 passed in 7.10 seconds ===========================
++ 09:33:30 starting jit/backend/x86/test/test_quasiimmut.py [59 started in total]
__ jit/backend/x86/test/test_quasiimmut.py [56 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 20 items
jit/backend/x86/test/test_quasiimmut.py ..............s.....
==================== 19 passed, 1 skipped in 11.00 seconds =====================
++ 09:33:44 starting jit/backend/x86/test/test_rawmem.py [60 started in total]
__ jit/backend/x86/test/test_rawmem.py [57 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/backend/x86/test/test_rawmem.py .......
=========================== 7 passed in 3.53 seconds ===========================
++ 09:33:51 starting jit/backend/x86/test/test_recursive.py [61 started in total]
__ jit/backend/x86/test/test_loop_unroll.py [58 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 37 items
jit/backend/x86/test/test_loop_unroll.py ..............................ss.s...
==================== 34 passed, 3 skipped in 37.56 seconds =====================
++ 09:34:05 starting jit/backend/x86/test/test_regalloc.py [62 started in total]
__ jit/backend/x86/test/test_regalloc.py [59 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 19 items
jit/backend/x86/test/test_regalloc.py ....s........s.ssss
===================== 13 passed, 6 skipped in 1.19 seconds =====================
++ 09:34:10 starting jit/backend/x86/test/test_regloc.py [63 started in total]
__ jit/backend/x86/test/test_regloc.py [60 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 25 items
jit/backend/x86/test/test_regloc.py .....ssssssssssssssssssss
===================== 5 passed, 20 skipped in 0.25 seconds =====================
++ 09:34:13 starting jit/backend/x86/test/test_runner.py [64 started in total]
__ jit/backend/test [61 done in total, somefailed=False] ______________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 12 items
jit/backend/test/test_detect_cpu.py .....
jit/backend/test/test_ll_random.py .
jit/backend/test/test_model.py .
jit/backend/test/test_random.py .
jit/backend/test/test_zll_stress_0.py .
jit/backend/test/test_zll_stress_1.py .
jit/backend/test/test_zll_stress_2.py .
jit/backend/test/test_zll_stress_3.py .
========================= 12 passed in 350.88 seconds ==========================
++ 09:35:36 starting jit/backend/x86/test/test_rvmprof.py [65 started in total]
__ jit/backend/x86/test/test_rvmprof.py [62 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_rvmprof.py ...
=========================== 3 passed in 6.84 seconds ===========================
++ 09:35:46 starting jit/backend/x86/test/test_rx86.py [66 started in total]
__ jit/backend/x86/test/test_recursive.py [63 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 42 items
jit/backend/x86/test/test_recursive.py ................s........s..............s.
==================== 39 passed, 3 skipped in 109.94 seconds ====================
++ 09:35:47 starting jit/backend/x86/test/test_rx86_32_auto_encoding.py [67 started in total]
__ jit/backend/x86/test/test_rx86.py [64 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 34 items
jit/backend/x86/test/test_rx86.py ..................................
========================== 34 passed in 0.10 seconds ===========================
++ 09:35:49 starting jit/backend/x86/test/test_rx86_64_auto_encoding.py [68 started in total]
__ jit/backend/x86/test/test_rx86_64_auto_encoding.py [65 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.05 seconds ===========================
++ 09:35:53 starting jit/backend/x86/test/test_send.py [69 started in total]
__ jit/backend/x86/test/test_send.py [66 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 23 items
jit/backend/x86/test/test_send.py .......................
========================== 23 passed in 22.07 seconds ==========================
++ 09:36:20 starting jit/backend/x86/test/test_slist.py [70 started in total]
__ jit/backend/x86/test/test_slist.py [67 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
jit/backend/x86/test/test_slist.py s.....
===================== 5 passed, 1 skipped in 5.11 seconds ======================
++ 09:36:31 starting jit/backend/x86/test/test_string.py [71 started in total]
__ jit/backend/x86/test/test_runner.py [68 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
[c5fd4cd06d44580] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffea000 +0 894D20894524895528895D2C897530897D348F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3
[c5fd4cd06e87200] jit-backend-dump}
[c5fd4cd073cc180] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9fc0 +0 894D20894524895528895D2C897530897D348B1D04728BF5C70500728BF500000000C70504728BF500000000895D148F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3
[c5fd4cd07554d00] jit-backend-dump}
[c5fd4cd08221480] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9f60 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708B44240883EC0C89442404892C248B0D04728BF5894D148B1D00728BF5C70500728BF500000000C70504728BF500000000E8F82EA94789C58B4D14C7451400000000890D04728BF5891D00728BF583C40CC7450C000000008B4D208B45248B55288B5D2C8B75308B7D34F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3
[c5fd4cd085fec80] jit-backend-dump}
[c5fd4cd08b1c980] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9e80 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3
[c5fd4cd08cd5880] jit-backend-dump}
[c5fd4cd093d2000] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9e20 +0 894D20894524895528895D2C897530897D34F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D708B1D04728BF5C70500728BF500000000C70504728BF500000000895D148F450C8F450489E88B7C24488B7424448B5C24408B6C243C83C45CC3
[c5fd4cd09622200] jit-backend-dump}
[c5fd4cd09a1bb80] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9da0 +0 8B0504728BF5C70500728BF500000000C70504728BF500000000894514C745040000000089E88B7C24488B7424448B5C24408B6C243C83C45CC3
[c5fd4cd09b5c080] jit-backend-dump}
[c5fd4cd09e8d880] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9d50 +0 895D2C83EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B4D208B55288B5D2C8B75308B7D34C3
[c5fd4cd09f91700] jit-backend-dump}
[c5fd4cd0a21cb00] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9d10 +0 83EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B55288B4D20C3
[c5fd4cd0a2f5580] jit-backend-dump}
[c5fd4cd0aaf7880] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9ce0 +0 895D2CF20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D7083EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B4D208B55288B5D2C8B75308B7D34F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3
[c5fd4cd0ad7ec00] jit-backend-dump}
[c5fd4cd0b47ff00] {jit-backend-dump
BACKEND x86
SYS_EXECUTABLE ??
CODE_DUMP @-4ffe9c50 +0 F20F114538F20F114D40F20F115548F20F115D50F20F116558F20F116D60F20F117568F20F117D7083EC1C893C248974240489542408894C240CFFD083C41CC7450C000000008B55288B4D20F20F104538F20F104D40F20F105548F20F105D50F20F106558F20F106D60F20F107568F20F107D70C3
[c5fd4cd0b6b2f00] jit-backend-dump}
collected 172 items
jit/backend/x86/test/test_runner.py ............................................................................................s...read saved errno: 24
read saved errno: 0
read saved errno: 25
read saved errno: 0
.ss..................................................sssss....s....ss...s...
=================== 160 passed, 12 skipped in 175.06 seconds ===================
++ 09:37:14 starting jit/backend/x86/test/test_symbolic_x86.py [72 started in total]
__ jit/backend/x86/test/test_symbolic_x86.py [69 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
jit/backend/x86/test/test_symbolic_x86.py ......
=========================== 6 passed in 0.02 seconds ===========================
++ 09:37:17 starting jit/backend/x86/test/test_tl.py [73 started in total]
__ jit/backend/x86/test/test_tl.py [70 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/backend/x86/test/test_tl.py .....
========================== 5 passed in 13.96 seconds ===========================
++ 09:37:38 starting jit/backend/x86/test/test_tlc.py [74 started in total]
__ jit/backend/x86/test/test_tlc.py [71 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_tlc.py ss.
===================== 1 passed, 2 skipped in 6.35 seconds ======================
++ 09:37:48 starting jit/backend/x86/test/test_tracelimit.py [75 started in total]
__ jit/backend/x86/test/test_string.py [72 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 97 items
jit/backend/x86/test/test_string.py .............................s............................................s......................
==================== 95 passed, 2 skipped in 97.74 seconds =====================
++ 09:38:12 starting jit/backend/x86/test/test_virtual.py [76 started in total]
__ jit/backend/x86/test/test_virtual.py [73 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 52 items
jit/backend/x86/test/test_virtual.py ....................................................
========================== 52 passed in 44.13 seconds ==========================
++ 09:39:04 starting jit/backend/x86/test/test_virtualizable.py [77 started in total]
__ jit/backend/x86/test/test_virtualizable.py [74 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 37 items
jit/backend/x86/test/test_virtualizable.py s...x................................
=============== 35 passed, 1 skipped, 1 xfailed in 54.74 seconds ===============
++ 09:40:02 starting jit/backend/x86/test/test_virtualref.py [78 started in total]
__ jit/backend/x86/test/test_virtualref.py [75 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 21 items
jit/backend/x86/test/test_virtualref.py ..s..................
==================== 20 passed, 1 skipped in 18.68 seconds =====================
++ 09:40:26 starting jit/backend/x86/test/test_x86vector.py [79 started in total]
__ jit/backend/x86/test/test_tracelimit.py [76 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/backend/x86/test/test_tracelimit.py .....
========================== 5 passed in 152.87 seconds ==========================
++ 09:40:27 starting jit/backend/x86/test/test_zmath.py [80 started in total]
__ jit/backend/x86/test/test_x86vector.py [77 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.93 seconds ===========================
++ 09:40:30 starting jit/backend/x86/test/test_zrpy_gc.py [81 started in total]
__ jit/backend/x86/test/test_zmath.py [78 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_zmath.py .
========================== 1 passed in 18.65 seconds ===========================
++ 09:40:51 starting jit/backend/x86/test/test_zrpy_gc_boehm.py [82 started in total]
__ jit/backend/llsupport/test [79 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 420 items
jit/backend/llsupport/test/test_asmmemmgr.py ...........s...
jit/backend/llsupport/test/test_codemap.py ..
jit/backend/llsupport/test/test_descr.py ......................
jit/backend/llsupport/test/test_ffisupport.py .
jit/backend/llsupport/test/test_gc.py .............
jit/backend/llsupport/test/test_gc_integration.py ..............s......
jit/backend/llsupport/test/test_gcreftracer.py ...
jit/backend/llsupport/test/test_recompilation.py .....
jit/backend/llsupport/test/test_regalloc.py ...............................................s.
jit/backend/llsupport/test/test_regalloc_integration.py ...........................ssssss
jit/backend/llsupport/test/test_rewrite.py ...........................................................................................
jit/backend/llsupport/test/test_runner.py ssssssssssssss.sssssssssssssssss.ss..sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss..sssssss.s.s.s.s.ssssssssssssssssssssssssssssssssssss
jit/backend/llsupport/test/test_skiplist.py .
jit/backend/llsupport/test/test_symbolic.py ......
jit/backend/llsupport/test/test_zrpy_gc_direct.py ..
================== 266 passed, 154 skipped in 672.13 seconds ===================
++ 09:40:53 starting jit/backend/x86/test/test_zrpy_releasegil.py [83 started in total]
__ jit/backend/x86/test/test_rx86_32_auto_encoding.py [80 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 615 items
jit/backend/x86/test/test_rx86_32_auto_encoding.py ..................................................s...................................................................................s..s....................................................................................................................s........................................................................................................................................................................................................................................................................................................................................................................
=================== 611 passed, 4 skipped in 478.31 seconds ====================
++ 09:43:51 starting jit/backend/x86/test/test_zrpy_vecopt.py [84 started in total]
__ jit/backend/x86/test/test_zrpy_vecopt.py [81 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_zrpy_vecopt.py .
========================== 1 passed in 395.99 seconds ==========================
++ 09:50:35 starting jit/backend/x86/test/test_zrpy_vmprof.py [85 started in total]
__ jit/backend/x86/test/test_zrpy_gc_boehm.py [82 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_zrpy_gc_boehm.py .
========================== 1 passed in 582.99 seconds ==========================
++ 09:50:43 starting jit/backend/x86/test/test_ztranslation_basic.py [86 started in total]
__ jit/backend/x86/test/test_zrpy_releasegil.py [83 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/test/test_zrpy_releasegil.py ...
========================== 3 passed in 915.70 seconds ==========================
++ 09:56:17 starting jit/backend/x86/test/test_ztranslation_call_assembler.py [87 started in total]
__ jit/backend/x86/test/test_zrpy_gc.py [84 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 19 items
jit/backend/x86/test/test_zrpy_gc.py ...................
========================= 19 passed in 1015.56 seconds =========================
++ 09:57:34 starting jit/backend/x86/test/test_ztranslation_external_exception.py [88 started in total]
__ jit/backend/x86/test/test_ztranslation_basic.py [85 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_ztranslation_basic.py .
========================== 1 passed in 704.04 seconds ==========================
++ 10:02:37 starting jit/backend/x86/test/test_ztranslation_jit_stats.py [89 started in total]
__ jit/backend/x86/test/test_zrpy_vmprof.py [86 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_zrpy_vmprof.py .
========================== 1 passed in 875.69 seconds ==========================
++ 10:05:22 starting jit/backend/x86/tool/test/test_viewcode.py [90 started in total]
__ jit/backend/x86/tool/test/test_viewcode.py [87 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/backend/x86/tool/test/test_viewcode.py ...
=========================== 3 passed in 0.02 seconds ===========================
++ 10:05:27 starting jit/backend/zarch/test [91 started in total]
__ jit/backend/zarch/test [88 done in total, somefailed=False] ________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items
========================= no tests ran in 0.01 seconds =========================
++ 10:05:31 starting jit/codewriter/test [92 started in total]
__ jit/codewriter/test [89 done in total, somefailed=False] ___________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 530 items
jit/codewriter/test/test_assembler.py ..............
jit/codewriter/test/test_call.py .......s...s...
jit/codewriter/test/test_codewriter.py .......
jit/codewriter/test/test_effectinfo.py ............
jit/codewriter/test/test_flatten.py ..................................................
jit/codewriter/test/test_format.py ............
jit/codewriter/test/test_jitcode.py .
jit/codewriter/test/test_jtransform.py ..............................................................................................................................................................................................................................................................................................................................................
jit/codewriter/test/test_list.py .............
jit/codewriter/test/test_liveness.py ................
jit/codewriter/test/test_longlong.py .........
jit/codewriter/test/test_policy.py ...........
jit/codewriter/test/test_regalloc.py ............
jit/codewriter/test/test_support.py ...........
jit/codewriter/test/test_void_list.py .............
==================== 528 passed, 2 skipped in 17.79 seconds ====================
++ 10:05:51 starting jit/metainterp/optimizeopt/test/test_costmodel.py [93 started in total]
__ jit/metainterp/optimizeopt/test/test_costmodel.py [90 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 2.66 seconds ===========================
++ 10:05:57 starting jit/metainterp/optimizeopt/test/test_dependency.py [94 started in total]
__ jit/metainterp/optimizeopt/test/test_dependency.py [91 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 36 items
jit/metainterp/optimizeopt/test/test_dependency.py ....................................
========================== 36 passed in 2.46 seconds ===========================
++ 10:06:03 starting jit/metainterp/optimizeopt/test/test_guard.py [95 started in total]
__ jit/metainterp/optimizeopt/test/test_guard.py [92 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 2.61 seconds ===========================
++ 10:06:08 starting jit/metainterp/optimizeopt/test/test_intbound.py [96 started in total]
__ jit/backend/x86/test/test_ztranslation_call_assembler.py [93 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_ztranslation_call_assembler.py .
========================== 1 passed in 704.01 seconds ==========================
++ 10:08:11 starting jit/metainterp/optimizeopt/test/test_intdiv.py [97 started in total]
__ jit/metainterp/optimizeopt/test/test_intdiv.py [94 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/metainterp/optimizeopt/test/test_intdiv.py ...
=========================== 3 passed in 2.44 seconds ===========================
++ 10:08:15 starting jit/metainterp/optimizeopt/test/test_optimizebasic.py [98 started in total]
__ jit/metainterp/optimizeopt/test/test_optimizebasic.py [95 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 136 items
jit/metainterp/optimizeopt/test/test_optimizebasic.py ............................................x.........................................................x..............x..................
==================== 133 passed, 3 xfailed in 5.83 seconds =====================
++ 10:08:24 starting jit/metainterp/optimizeopt/test/test_optimizebridge.py [99 started in total]
__ jit/metainterp/optimizeopt/test/test_optimizebridge.py [96 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
jit/metainterp/optimizeopt/test/test_optimizebridge.py ....
=========================== 4 passed in 2.66 seconds ===========================
++ 10:08:28 starting jit/metainterp/optimizeopt/test/test_optimizeheap.py [100 started in total]
__ jit/metainterp/optimizeopt/test/test_optimizeheap.py [97 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 111 items
jit/metainterp/optimizeopt/test/test_optimizeheap.py ..........................................x......................x.............................................
==================== 109 passed, 2 xfailed in 3.86 seconds =====================
++ 10:08:35 starting jit/metainterp/optimizeopt/test/test_optimizeintbound.py [101 started in total]
__ jit/metainterp/optimizeopt/test/test_optimizeintbound.py [98 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 218 items
jit/metainterp/optimizeopt/test/test_optimizeintbound.py ................................................................s..............................................s........................s..........s...........................................................s........s.
==================== 212 passed, 6 skipped in 6.10 seconds =====================
++ 10:08:43 starting jit/metainterp/optimizeopt/test/test_optimizeopt.py [102 started in total]
__ jit/metainterp/optimizeopt/test/test_optimizeopt.py [99 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 417 items
jit/metainterp/optimizeopt/test/test_optimizeopt.py ......................................................................................................................x..............................................................................................x..............x..............................................................................................................x.....x.....x....................................x...........................s
============== 409 passed, 1 skipped, 7 xfailed in 13.80 seconds ===============
++ 10:09:00 starting jit/metainterp/optimizeopt/test/test_rawbuffer.py [103 started in total]
__ jit/metainterp/optimizeopt/test/test_rawbuffer.py [100 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/metainterp/optimizeopt/test/test_rawbuffer.py .......
=========================== 7 passed in 1.56 seconds ===========================
++ 10:09:04 starting jit/metainterp/optimizeopt/test/test_schedule.py [104 started in total]
__ jit/metainterp/optimizeopt/test/test_schedule.py [101 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 2.58 seconds ===========================
++ 10:09:08 starting jit/metainterp/optimizeopt/test/test_short.py [105 started in total]
__ jit/metainterp/optimizeopt/test/test_short.py [102 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
jit/metainterp/optimizeopt/test/test_short.py ..
=========================== 2 passed in 2.06 seconds ===========================
++ 10:09:13 starting jit/metainterp/optimizeopt/test/test_unroll.py [106 started in total]
__ jit/metainterp/optimizeopt/test/test_unroll.py [103 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 12 items
jit/metainterp/optimizeopt/test/test_unroll.py ............
========================== 12 passed in 2.55 seconds ===========================
++ 10:09:18 starting jit/metainterp/optimizeopt/test/test_util.py [107 started in total]
__ jit/metainterp/optimizeopt/test/test_util.py [104 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/metainterp/optimizeopt/test/test_util.py ...
=========================== 3 passed in 2.27 seconds ===========================
++ 10:09:22 starting jit/metainterp/optimizeopt/test/test_vecopt.py [108 started in total]
__ jit/metainterp/optimizeopt/test/test_vecopt.py [105 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.80 seconds ===========================
++ 10:09:27 starting jit/metainterp/optimizeopt/test/test_virtualstate.py [109 started in total]
__ jit/metainterp/optimizeopt/test/test_virtualstate.py [106 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 49 items
jit/metainterp/optimizeopt/test/test_virtualstate.py ...........................................ssssss
===================== 43 passed, 6 skipped in 2.94 seconds =====================
++ 10:09:32 starting jit/metainterp/optimizeopt/test/test_z3checktests.py [110 started in total]
__ jit/metainterp/optimizeopt/test/test_z3checktests.py [107 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.94 seconds ===========================
++ 10:09:37 starting jit/metainterp/optimizeopt/test/test_z3intbound.py [111 started in total]
__ jit/metainterp/optimizeopt/test/test_z3intbound.py [108 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 2.20 seconds ===========================
++ 10:09:41 starting jit/metainterp/ruleopt/test/test_codegen.py [112 started in total]
__ jit/metainterp/ruleopt/test/test_codegen.py [109 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 10:09:44 starting jit/metainterp/ruleopt/test/test_parse.py [113 started in total]
__ jit/metainterp/ruleopt/test/test_parse.py [110 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 10:09:46 starting jit/metainterp/ruleopt/test/test_prove.py [114 started in total]
__ jit/metainterp/ruleopt/test/test_prove.py [111 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 10:09:48 starting jit/metainterp/test/test_ajit.py [115 started in total]
__ jit/backend/x86/test/test_ztranslation_external_exception.py [112 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/backend/x86/test/test_ztranslation_external_exception.py .
========================== 1 passed in 862.48 seconds ==========================
++ 10:12:07 starting jit/metainterp/test/test_blackhole.py [116 started in total]
__ jit/metainterp/test/test_blackhole.py [113 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
jit/metainterp/test/test_blackhole.py ......xxx..
===================== 8 passed, 3 xfailed in 2.47 seconds ======================
++ 10:12:11 starting jit/metainterp/test/test_bridgeopt.py [117 started in total]
__ jit/metainterp/optimizeopt/test/test_intbound.py [114 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 133 items
jit/metainterp/optimizeopt/test/test_intbound.py ......................................................................................................s..............................
=================== 132 passed, 1 skipped in 361.35 seconds ====================
++ 10:12:16 starting jit/metainterp/test/test_bytearray.py [118 started in total]
__ jit/backend/x86/test/test_ztranslation_jit_stats.py [115 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
jit/backend/x86/test/test_ztranslation_jit_stats.py s.
==================== 1 passed, 1 skipped in 574.85 seconds =====================
++ 10:12:21 starting jit/metainterp/test/test_call.py [119 started in total]
__ jit/metainterp/test/test_bytearray.py [116 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 8 items
jit/metainterp/test/test_bytearray.py ......s.
===================== 7 passed, 1 skipped in 4.24 seconds ======================
++ 10:12:23 starting jit/metainterp/test/test_compile.py [120 started in total]
__ jit/metainterp/test/test_compile.py [117 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
jit/metainterp/test/test_compile.py ..
=========================== 2 passed in 1.77 seconds ===========================
++ 10:12:28 starting jit/metainterp/test/test_counter.py [121 started in total]
__ jit/metainterp/test/test_bridgeopt.py [118 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
jit/metainterp/test/test_bridgeopt.py ..........x
==================== 10 passed, 1 xfailed in 14.77 seconds =====================
++ 10:12:29 starting jit/metainterp/test/test_del.py [122 started in total]
__ jit/metainterp/test/test_call.py [119 done in total, somefailed=True] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 16 items
jit/metainterp/test/test_call.py ......FF........
=================================== FAILURES ===================================
________________ TestCall.test_cond_call_constant_in_optimizer _________________
self = <rpython.jit.metainterp.test.test_call.TestCall object at 0xf535152c>
def test_cond_call_constant_in_optimizer(self):
myjitdriver = jit.JitDriver(greens = ['m'], reds = ['n', 'p'])
def externfn(x):
return x - 3
class V:
def __init__(self, value):
self.value = value
def f(n, m, p):
while n > 0:
myjitdriver.can_enter_jit(n=n, p=p, m=m)
myjitdriver.jit_merge_point(n=n, p=p, m=m)
m1 = noConst(m)
n -= jit.conditional_call_elidable(p, externfn, m1)
return n
res = self.meta_interp(f, [21, 5, 0])
assert res == -1
# the COND_CALL_VALUE is constant-folded away by optimizeopt.py
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_call.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5373b8c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-1, 0, 60, 55] -> 60
bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame!
~~~ return value: -1
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 17 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5d7d29de480] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d7d2bef980] {jit-trace-done
trace length: 66
number operations: 12
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d7d2c1c080] jit-trace-done}
[c5fd5d7d2c56f80] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = same_as_i(5)
p4 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i6 = cond_call_value_i(i1, ConstClass(externfn), i3, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf576732c: EF=2>))
i7 = int_sub(i0, i6)
i9 = int_gt(i7, 0)
guard_true(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, i1, descr=<Loop-1>)
[c5fd5d7d2cf1600] jit-log-noopt}
[c5fd5d7d2d01e00] {jit-optimize
[c5fd5d7d2d25680] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5320f6c>) [i3, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d7d31ac780] jit-log-intbounds}
[c5fd5d7d3254b00] {jit-log-exported-state
[i10, i11]
INP(i10 = int_add(i12, -2/ci))
INP(i11)
PureOp(i13 = int_gt(i10, 0/ci))
[c5fd5d7d326f800] jit-log-exported-state}
[c5fd5d7d327aa00] jit-optimize}
[c5fd5d7d3291500] {jit-optimize
[c5fd5d7d33f5e80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
i4 = int_add(i2, -2)
# i4: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2)
i6 = int_gt(i4, 0)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5326c2c>) [i4, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d7d39de980] jit-log-intbounds}
# i4: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i4, i7, descr=TargetToken(-181251828))
[c5fd5d7d3b66d00] jit-optimize}
[c5fd5d7d3b73800] {jit-log-short-preamble
[]
label(i14, i15)
jump()
[c5fd5d7d3b88f80] jit-log-short-preamble}
[c5fd5d7d3bbb480] {jit-backend
[c5fd5d7d3bd4100] {jit-log-compiling-loop
[i12, i11]
label(i12, i11, descr=TargetToken(-181247476))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_add(i12, -2)
i13 = int_gt(i10, 0)
guard_true(i13, descr=<Guard0xf5320f6c>) [i10, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i10, i11, descr=TargetToken(-181251828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i10, -2)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf5326c2c>) [i19, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i19, i11, descr=TargetToken(-181251828))
[c5fd5d7d3c2d880] jit-log-compiling-loop}
[c5fd5d7d3c40d80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d7d3c4cb00] jit-mem-looptoken-alloc}
[c5fd5d7d3c78d80] jit-backend}
compiled new loop
[c5fd5d7d3c84b00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-181247476))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<Guard0xf5320f6c>) [i3, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i3, i1, descr=TargetToken(-181251828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i3, -2)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0xf5326c2c>) [i7, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i7, i1, descr=TargetToken(-181251828))
[c5fd5d7d3ce1780] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d7d3f38200] jit-tracing}
_______________ TestCall.test_cond_call_constant_in_optimizer_1 ________________
self = <rpython.jit.metainterp.test.test_call.TestCall object at 0xf538160c>
def test_cond_call_constant_in_optimizer_1(self):
# same as test_cond_call_constant_in_optimizer, but the 'value'
# argument changes
myjitdriver = jit.JitDriver(greens = ['m'], reds = ['n', 'p'])
def externfn(x):
return x - 3
class V:
def __init__(self, value):
self.value = value
def f(n, m, p):
while n > 0:
myjitdriver.can_enter_jit(n=n, p=p, m=m)
myjitdriver.jit_merge_point(n=n, p=p, m=m)
m1 = noConst(m)
n -= jit.conditional_call_elidable(p, externfn, m1)
return n
assert f(21, 5, 0) == -1
res = self.meta_interp(f, [21, 5, 0])
assert res == -1
# the COND_CALL_VALUE is constant-folded away by optimizeopt.py
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_call.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5293fac>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-1, 0, 60, 55] -> 60
bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame!
~~~ return value: -1
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 17 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5d7ddc36a80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d7dde52780] {jit-trace-done
trace length: 66
number operations: 12
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d7dde7e400] jit-trace-done}
[c5fd5d7ddeba700] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = same_as_i(5)
p4 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i6 = cond_call_value_i(i1, ConstClass(externfn), i3, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf576732c: EF=2>))
i7 = int_sub(i0, i6)
i9 = int_gt(i7, 0)
guard_true(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, i1, descr=<Loop-1>)
[c5fd5d7ddf4a400] jit-log-noopt}
[c5fd5d7ddf59800] {jit-optimize
[c5fd5d7ddf79400] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52e7c2c>) [i3, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d7de3b7300] jit-log-intbounds}
[c5fd5d7de455600] {jit-log-exported-state
[i10, i11]
INP(i11)
PureOp(i12 = int_gt(i10, 0/ci))
INP(i10 = int_add(i13, -2/ci))
[c5fd5d7de46ec80] jit-log-exported-state}
[c5fd5d7de478a80] jit-optimize}
[c5fd5d7de490200] {jit-optimize
[c5fd5d7de5dfd00] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
i4 = int_add(i2, -2)
# i4: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2)
i6 = int_gt(i4, 0)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52eb7cc>) [i4, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d7debb1e80] jit-log-intbounds}
# i4: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i4, i7, descr=TargetToken(-181486420))
[c5fd5d7ded31180] jit-optimize}
[c5fd5d7ded3db00] {jit-log-short-preamble
[]
label(i14, i15)
jump()
[c5fd5d7ded52c80] jit-log-short-preamble}
[c5fd5d7ded85900] {jit-backend
[c5fd5d7ded9fd00] {jit-log-compiling-loop
[i13, i11]
label(i13, i11, descr=TargetToken(-181502708))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_add(i13, -2)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<Guard0xf52e7c2c>) [i10, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i10, i11, descr=TargetToken(-181486420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i10, -2)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf52eb7cc>) [i19, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i19, i11, descr=TargetToken(-181486420))
[c5fd5d7dedf1d80] jit-log-compiling-loop}
[c5fd5d7dee02d00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d7dee0e680] jit-mem-looptoken-alloc}
[c5fd5d7dee39c00] jit-backend}
compiled new loop
[c5fd5d7dee45500] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-181502708))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<Guard0xf52e7c2c>) [i3, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i3, i1, descr=TargetToken(-181486420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i3, -2)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0xf52eb7cc>) [i7, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i7, i1, descr=TargetToken(-181486420))
[c5fd5d7deea2180] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d7df01ba80] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_call.py::TestCall::()::test_cond_call_constant_in_optimizer
FAIL jit/metainterp/test/test_call.py::TestCall::()::test_cond_call_constant_in_optimizer_1
===================== 2 failed, 14 passed in 7.24 seconds ======================
++ 10:12:31 starting jit/metainterp/test/test_dict.py [123 started in total]
__ jit/metainterp/test/test_del.py [120 done in total, somefailed=True] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/metainterp/test/test_del.py F..
=================================== FAILURES ===================================
_________________________ TestLLtype.test_del_keep_obj _________________________
self = <rpython.jit.metainterp.test.test_del.TestLLtype instance at 0xf58e306c>
def test_del_keep_obj(self):
myjitdriver = JitDriver(greens = [], reds = ['n', 'x'])
class Foo:
def __del__(self):
pass
def f(n):
x = None
while n > 0:
myjitdriver.can_enter_jit(x=x, n=n)
myjitdriver.jit_merge_point(x=x, n=n)
x = Foo()
Foo()
n -= 1
return 42
self.meta_interp(f, [20])
self.check_resops({'call_r': 4, # calls to a helper function
'guard_no_exception': 4, # follows the calls
'int_sub': 2,
'int_gt': 2,
'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_del.py:30:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf580764c>
insns = {'call_r': 4, 'guard_no_exception': 4, 'guard_true': 2, 'int_add': 2, ...}
expected = {'call_r': 4, 'guard_no_exception': 4, 'guard_true': 2, 'int_gt': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'call_r': 4,..._add': 2, ...} == {'call_r': 4, ...t_gt': 2, ...}
E Omitting 5 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: live [32] -> 34
bh: int_sub [1, 1] -> 0
bh: live [39] -> 41
bh: goto_if_not_int_gt [0, 0, 51, 46] -> 51
bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame!
~~~ return value: 42
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 2 more blocks -=-
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 5 -live- ops. Size of liveness is 9 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5d8532ad200] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d857fd8600] {jit-trace-done
trace length: 58
number operations: 12
total snapshots: 4
snapshot data: 48
snapshot array data: 26
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d858007000] jit-trace-done}
[c5fd5d858040680] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception()
p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception()
i7 = int_sub(i0, 1)
i9 = int_gt(i7, 0)
guard_true(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, p3, descr=<Loop-1>)
[c5fd5d8580dd580] jit-log-noopt}
[c5fd5d8580f7600] {jit-optimize
[c5fd5d8581c9900] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf5737eec>) [i0, p3]
p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf5737f2c>) [i0, p3]
i7 = int_add(i0, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf574d50c>) [i0, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d858836580] jit-log-intbounds}
[c5fd5d8588beb00] {jit-log-exported-state
[i10, r11]
INP(r11 = call_r(-176299476/ci, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>)))
PureOp(i12 = int_gt(i10, 0/ci))
INP(i10 = int_add(i13, -1/ci))
[c5fd5d8588e8100] jit-log-exported-state}
[c5fd5d8588f3700] jit-optimize}
[c5fd5d85890a000] {jit-optimize
[c5fd5d858a08c80] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf574dc0c>) [i4, p3]
p6 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf574ddec>) [i4, p3]
# i4: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i4, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf574dcec>) [i4, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d859181a00] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, p3, descr=TargetToken(-176786196))
[c5fd5d8592ba200] jit-optimize}
[c5fd5d8592c6b00] {jit-log-short-preamble
[]
label(i14, p15)
jump()
[c5fd5d8592dbd00] jit-log-short-preamble}
[c5fd5d859338780] {jit-backend
[c5fd5d85934fe00] {jit-log-compiling-loop
[i13, p16]
label(i13, p16, descr=TargetToken(-176892276))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p11 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf5737eec>) [i13, p11]
p19 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf5737f2c>) [i13, p11]
i10 = int_add(i13, -1)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<Guard0xf574d50c>) [i13, p11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i10, p11, descr=TargetToken(-176786196))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p23 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf574dc0c>) [i10, p23]
p25 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf574ddec>) [i10, p23]
i27 = int_add(i10, -1)
i29 = int_gt(i27, 0)
guard_true(i29, descr=<Guard0xf574dcec>) [i10, p23]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i27, p23, descr=TargetToken(-176786196))
[c5fd5d8593ec400] jit-log-compiling-loop}
[c5fd5d8593ff100] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d85940b680] jit-mem-looptoken-alloc}
[c5fd5d859454a00] jit-backend}
compiled new loop
[c5fd5d859461580] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops
[i0, p1]
label(i0, p1, descr=TargetToken(-176892276))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf5737eec>) [i0, p3]
p5 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf5737f2c>) [i0, p3]
i7 = int_add(i0, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0xf574d50c>) [i0, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i7, p3, descr=TargetToken(-176786196))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p11 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf574dc0c>) [i7, p11]
p13 = call_r(ConstClass(_ll_0_alloc_with_del___), descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_del.Foo { super }>, (), <EffectInfo 0xf57de92c: EF=5>))
guard_no_exception(descr=<Guard0xf574ddec>) [i7, p11]
i15 = int_add(i7, -1)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<Guard0xf574dcec>) [i7, p11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i15, p11, descr=TargetToken(-176786196))
[c5fd5d859506a00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d859e27e80] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_del.py::TestLLtype::()::test_del_keep_obj
====================== 1 failed, 2 passed in 3.00 seconds ======================
++ 10:12:34 starting jit/metainterp/test/test_exception.py [124 started in total]
__ jit/metainterp/test/test_counter.py [121 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/metainterp/test/test_counter.py .......
=========================== 7 passed in 8.16 seconds ===========================
++ 10:12:38 starting jit/metainterp/test/test_executor.py [125 started in total]
__ jit/metainterp/test/test_executor.py [122 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/metainterp/test/test_executor.py .......
=========================== 7 passed in 1.54 seconds ===========================
++ 10:12:41 starting jit/metainterp/test/test_fficall.py [126 started in total]
__ jit/metainterp/test/test_exception.py [123 done in total, somefailed=True] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 32 items
jit/metainterp/test/test_exception.py .F..............................
=================================== FAILURES ===================================
_________________________ TestLLtype.test_no_exception _________________________
self = <rpython.jit.metainterp.test.test_exception.TestLLtype instance at 0xf5686cac>
def test_no_exception(self):
myjitdriver = JitDriver(greens = [], reds = ['n'])
class X:
pass
def f(n):
while n > 0:
myjitdriver.can_enter_jit(n=n)
myjitdriver.jit_merge_point(n=n)
X()
n -= 1
return n
res = self.meta_interp(f, [10])
assert res == 0
self.check_resops({'jump': 1, 'guard_true': 2,
> 'int_gt': 2, 'int_sub': 2})
jit/metainterp/test/test_exception.py:41:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf563572c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 36, 31] -> 36
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5d8fda94a00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d8fdbc2600] {jit-trace-done
trace length: 40
number operations: 8
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d8fdbedd80] jit-trace-done}
[c5fd5d8fdc1a100] {jit-log-noopt
# Traced loop or bridge with 8 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_exception.X { super }>))
i3 = int_sub(i0, 1)
i5 = int_gt(i3, 0)
guard_true(i5)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i3, descr=<Loop-1>)
[c5fd5d8fdc7cc80] jit-log-noopt}
[c5fd5d8fdc8c280] {jit-optimize
[c5fd5d8fdd41d80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf560874c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d8fe140800] jit-log-intbounds}
[c5fd5d8fe1bb500] {jit-log-exported-state
[i6]
INP(i6 = int_add(i7, -1/ci))
PureOp(i8 = int_gt(i6, 0/ci))
[c5fd5d8fe1d4d80] jit-log-exported-state}
[c5fd5d8fe1ded80] jit-optimize}
[c5fd5d8fe1f5500] {jit-optimize
[c5fd5d8fe2dd380] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf559720c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d8fe81cf80] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-178686420))
[c5fd5d8fe940800] jit-optimize}
[c5fd5d8fe94d380] {jit-log-short-preamble
[]
label(i9)
jump()
[c5fd5d8fe961f80] jit-log-short-preamble}
[c5fd5d8fe990d00] {jit-backend
[c5fd5d8fe9a7100] {jit-log-compiling-loop
[i7]
label(i7, descr=TargetToken(-178223252))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i7, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf560874c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i6, descr=TargetToken(-178686420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_add(i6, -1)
i15 = int_gt(i13, 0)
guard_true(i15, descr=<Guard0xf559720c>) [i13]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i13, descr=TargetToken(-178686420))
[c5fd5d8fe9fb680] jit-log-compiling-loop}
[c5fd5d8fea0c780] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d8fea18a80] jit-mem-looptoken-alloc}
[c5fd5d8fea43680] jit-backend}
compiled new loop
[c5fd5d8fea4fa00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-178223252))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf560874c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-178686420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf559720c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-178686420))
[c5fd5d8feaab300] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d8febf3680] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_exception.py::TestLLtype::()::test_no_exception
===================== 1 failed, 31 passed in 9.82 seconds ======================
++ 10:12:46 starting jit/metainterp/test/test_float.py [127 started in total]
__ jit/metainterp/test/test_float.py [124 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
jit/metainterp/test/test_float.py ..........
========================== 10 passed in 4.90 seconds ===========================
++ 10:12:55 starting jit/metainterp/test/test_greenfield.py [128 started in total]
__ jit/metainterp/test/test_greenfield.py [125 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.65 seconds ===========================
++ 10:12:58 starting jit/metainterp/test/test_heapcache.py [129 started in total]
__ jit/metainterp/test/test_heapcache.py [126 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 44 items
jit/metainterp/test/test_heapcache.py ...............s.sss........................
===================== 40 passed, 4 skipped in 1.95 seconds =====================
++ 10:13:02 starting jit/metainterp/test/test_history.py [130 started in total]
__ jit/metainterp/test/test_fficall.py [127 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
jit/metainterp/test/test_fficall.py ............s....
==================== 16 passed, 1 skipped in 27.67 seconds =====================
++ 10:13:14 starting jit/metainterp/test/test_immutable.py [131 started in total]
__ jit/metainterp/test/test_history.py [128 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/metainterp/test/test_history.py .......
=========================== 7 passed in 9.91 seconds ===========================
++ 10:13:15 starting jit/metainterp/test/test_jitdriver.py [132 started in total]
__ jit/metainterp/test/test_immutable.py [129 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 8 items
jit/metainterp/test/test_immutable.py ........
=========================== 8 passed in 9.20 seconds ===========================
++ 10:13:26 starting jit/metainterp/test/test_jitiface.py [133 started in total]
__ jit/metainterp/test/test_jitdriver.py [130 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/metainterp/test/test_jitdriver.py ....s..
===================== 6 passed, 1 skipped in 11.90 seconds =====================
++ 10:13:29 starting jit/metainterp/test/test_jitprof.py [134 started in total]
__ jit/metainterp/test/test_jitiface.py [131 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
jit/metainterp/test/test_jitiface.py ...........
========================== 11 passed in 5.78 seconds ===========================
++ 10:13:34 starting jit/metainterp/test/test_list.py [135 started in total]
__ jit/metainterp/test/test_jitprof.py [132 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
jit/metainterp/test/test_jitprof.py s...
===================== 3 passed, 1 skipped in 3.11 seconds ======================
++ 10:13:35 starting jit/metainterp/test/test_llop.py [136 started in total]
__ jit/metainterp/test/test_llop.py [133 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/metainterp/test/test_llop.py .....
=========================== 5 passed in 4.56 seconds ===========================
++ 10:13:42 starting jit/metainterp/test/test_logger.py [137 started in total]
__ jit/metainterp/test/test_logger.py [134 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 16 items
jit/metainterp/test/test_logger.py ................
========================== 16 passed in 1.46 seconds ===========================
++ 10:13:45 starting jit/metainterp/test/test_longlong.py [138 started in total]
__ jit/metainterp/test/test_longlong.py [135 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 14 items
jit/metainterp/test/test_longlong.py ..............
========================== 14 passed in 5.92 seconds ===========================
++ 10:13:53 starting jit/metainterp/test/test_loop.py [139 started in total]
__ jit/metainterp/test/test_list.py [136 done in total, somefailed=True] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 27 items
jit/metainterp/test/test_list.py F..s........F....FFF.......
=================================== FAILURES ===================================
_________________________ TestLLtype.test_simple_array _________________________
self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf58057ac>
def test_simple_array(self):
jitdriver = JitDriver(greens = [], reds = ['n'])
def f(n):
while n > 0:
jitdriver.can_enter_jit(n=n)
jitdriver.jit_merge_point(n=n)
lst = [n]
n = lst[0] - 1
return n
res = self.meta_interp(f, [10], listops=True)
assert res == 0
> self.check_resops(int_sub=2)
jit/metainterp/test/test_list.py:25:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5745cec>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = None, check = {'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 0 'int_sub', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 20 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] inlined 2 callsites.
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:16)f at 0xf571bc8c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:16)f at 0xf571bc8c>; should have be removed
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5dffd6cd380] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5e002513b00] {jit-trace-done
trace length: 51
number operations: 9
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5e002540580] jit-trace-done}
[c5fd5e002570880] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new_array(1, descr=ArrayDescr(<GcArray of Signed >))
setarrayitem_gc(p2, 0, i0, descr=ArrayDescr(<GcArray of Signed >))
i5 = int_sub(i0, 1)
i7 = int_gt(i5, 0)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i5, descr=<Loop-1>)
[c5fd5e0025ea880] jit-log-noopt}
[c5fd5e002603280] {jit-optimize
[c5fd5e0026cec80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5679d6c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e002c3a780] jit-log-intbounds}
[c5fd5e002cbdb80] {jit-log-exported-state
[i8]
INP(i8 = int_add(i9, -1/ci))
PureOp(i10 = int_gt(i8, 0/ci))
[c5fd5e002cd8500] jit-log-exported-state}
[c5fd5e002ce2f00] jit-optimize}
[c5fd5e002cfc300] {jit-optimize
[c5fd5e002df0f80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf56968cc>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e0033e5780] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-177759156))
[c5fd5e003500d00] jit-optimize}
[c5fd5e00350d880] {jit-log-short-preamble
[]
label(i11)
jump()
[c5fd5e003521800] jit-log-short-preamble}
[c5fd5e003569880] {jit-backend
[c5fd5e003585200] {jit-log-compiling-loop
[i9]
label(i9, descr=TargetToken(-177758836))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = int_add(i9, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf5679d6c>) [i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, descr=TargetToken(-177759156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i15 = int_add(i8, -1)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<Guard0xf56968cc>) [i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i15, descr=TargetToken(-177759156))
[c5fd5e0035d4f80] jit-log-compiling-loop}
[c5fd5e0035e6900] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5e0035f2680] jit-mem-looptoken-alloc}
[c5fd5e00361d380] jit-backend}
compiled new loop
[c5fd5e003629780] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-177758836))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf5679d6c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-177759156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf56968cc>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-177759156))
[c5fd5e003684280] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5e0037d5c80] jit-tracing}
________________________ TestLLtype.test_virtual_resize ________________________
self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf50ba82c>
def test_virtual_resize(self):
jitdriver = JitDriver(greens = [], reds = ['n', 's'])
def f(n):
s = 0
while n > 0:
jitdriver.jit_merge_point(n=n, s=s)
lst = []
lst += [1]
n -= len(lst)
s += lst[0]
lst.pop()
lst.append(1)
lst.insert(0, 5)
lst.insert(0, 5)
lst.insert(1, 6)
s *= lst.pop()
return s
res = self.meta_interp(f, [15], listops=True)
assert res == f(15)
self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2,
> 'guard_true': 2, 'int_sub': 2})
jit/metainterp/test/test_list.py:232:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4ff266c>
insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_sub': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...}
E Omitting 3 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 154, 151] -> 154
bh: int_return [<BHInterp <JitCode 'f'>>, 15] -> LeaveFrame!
~~~ return value: 15
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 159 blocks (62%)
[rtyper] -=- specialized 159 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] inlined 10 callsites.
[rtyper] specializing: 200 / 200 blocks (100%)
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:214)f at 0xf4ffef8c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_list:214)f at 0xf4ffef8c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0xf4f8cc6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:615)ll_insert_nonneg__listPtr_Signed_Signed at 0xf4f8cc6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really__v623___simple_call__function__ at 0xf4fad5cc>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:635)ll_pop_default__dum_nocheckConst_listPtr at 0xf4fb37ec>; should have be removed
[jitcodewriter:info] There are 15 JitCode instances.
[jitcodewriter:info] There are 41 -live- ops. Size of liveness is 55 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 3 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5e0d92ac100] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5e0d9744980] {jit-tco
removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool
[c5fd5e0d975c080] jit-tco}
[c5fd5e0d98e8600] {jit-tco
removed frame ll_extend__listPtr_arrayPtr
[c5fd5e0d98fda00] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5e0dac85080] {jit-trace-done
trace length: 243
number operations: 33
total snapshots: 2
snapshot data: 24
snapshot array data: 14
bigint consts: 4 4
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5e0daccce80] jit-trace-done}
[c5fd5e0dad20680] {jit-log-noopt
# Traced loop or bridge with 32 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new(descr=SizeDescr(<GcStruct list { length, items }>))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
p5 = new_array(0, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, p5, descr=FieldDescr(<GcStruct list { length, items }>, 'items'))
p7 = new_array(1, descr=ArrayDescr(<GcArray of Signed >))
setarrayitem_gc(p7, 0, 1, descr=ArrayDescr(<GcArray of Signed >))
p11 = new_array(4, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, p11, descr=FieldDescr(<GcStruct list { length, items }>, 'items'))
setfield_gc(p2, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), p7, p11, 0, 0, 1, descr=CallDescr(<Void>, (<* GcArray of Signed >, <* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4fa8f6c: EF=2 OS=1>))
i18 = int_sub(i0, 1)
i20 = int_add(i1, 1)
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
setfield_gc(p2, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
setarrayitem_gc(p11, 0, 1, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, 2, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 0, 1, 1, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>))
setarrayitem_gc(p11, 0, 5, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, 3, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 0, 1, 2, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>))
setarrayitem_gc(p11, 0, 5, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, 4, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
call_n(ConstClass(ll_arraymove__arrayPtr_Signed_Signed_Signed), p11, 1, 2, 2, descr=CallDescr(<Void>, (<* GcArray of Signed >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf4f9f5ec: EF=2 OS=9>))
setarrayitem_gc(p11, 1, 6, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p2, 3, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
i48 = int_mul(i20, 1)
i50 = int_gt(i18, 0)
guard_true(i50)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i18, i48, descr=<Loop-1>)
[c5fd5e0dafcba80] jit-log-noopt}
[c5fd5e0dafe6080] {jit-optimize
[c5fd5e0db01c180] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -1)
i5 = int_add(i1, 1)
# i5 -> (?) IntBound.unbounded()
i7 = int_gt(i3, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4f86e8c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e0db960880] jit-log-intbounds}
[c5fd5e0dba6c180] {jit-log-exported-state
[i51, i52]
PureOp(i53 = int_gt(i51, 0/ci))
INP(i52 = int_add(i54, 1/ci))
INP(i51 = int_add(i55, -1/ci))
[c5fd5e0dba9b900] jit-log-exported-state}
[c5fd5e0dbaad280] jit-optimize}
[c5fd5e0dbad3a00] {jit-optimize
[c5fd5e0dbcfcd80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
i4 = int_add(i2, -1)
i7 = int_add(i5, 1)
# i7 -> (?) IntBound.unbounded()
# i4: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i9 = int_gt(i4, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fde02c>) [i4, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e0dc87e880] jit-log-intbounds}
# i4: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i4, i7, descr=TargetToken(-184667700))
[c5fd5e0dca30d80] jit-optimize}
[c5fd5e0dca3de80] {jit-log-short-preamble
[]
label(i56, i57)
jump()
[c5fd5e0dca53080] jit-log-short-preamble}
[c5fd5e0dca8a700] {jit-backend
[c5fd5e0dcaa1880] {jit-log-compiling-loop
[i55, i54]
label(i55, i54, descr=TargetToken(-185045524))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i51 = int_add(i55, -1)
i52 = int_add(i54, 1)
i53 = int_gt(i51, 0)
guard_true(i53, descr=<Guard0xf4f86e8c>) [i51, i52]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i51, i52, descr=TargetToken(-184667700))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i62 = int_add(i51, -1)
i64 = int_add(i52, 1)
i66 = int_gt(i62, 0)
guard_true(i66, descr=<Guard0xf4fde02c>) [i62, i64]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i62, i64, descr=TargetToken(-184667700))
[c5fd5e0dcafec80] jit-log-compiling-loop}
[c5fd5e0dcb10d80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5e0dcb1cd00] jit-mem-looptoken-alloc}
[c5fd5e0dcb4d800] jit-backend}
compiled new loop
[c5fd5e0dcb59a00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-185045524))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, -1)
i5 = int_add(i1, 1)
i7 = int_gt(i3, 0)
guard_true(i7, descr=<Guard0xf4f86e8c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i3, i5, descr=TargetToken(-184667700))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i3, -1)
i11 = int_add(i5, 1)
i13 = int_gt(i9, 0)
guard_true(i13, descr=<Guard0xf4fde02c>) [i9, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i9, i11, descr=TargetToken(-184667700))
[c5fd5e0dcbc3a80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5e0dcd91580] jit-tracing}
_______________________ TestLLtype.test_list_mul_virtual _______________________
self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4cc2acc>
def test_list_mul_virtual(self):
class Foo:
def __init__(self, l):
self.l = l
l[0] = self
myjitdriver = JitDriver(greens = [], reds = ['y'])
def f(y):
while y > 0:
myjitdriver.jit_merge_point(y=y)
Foo([None] * 5)
y -= 1
return 42
self.meta_interp(f, [5])
self.check_resops({'int_sub': 2,
'int_gt': 2,
'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_list.py:299:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4ddf86c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54
bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame!
~~~ return value: 42
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 78 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] specializing: 100 / 114 blocks (87%)
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4c9680c>; should have be removed
[jitcodewriter:info] There are 12 JitCode instances.
[jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5e11ee40d80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5e11eec8300] {jit-tco
removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr
[c5fd5e11eed5a00] jit-tco}
[c5fd5e11efa0600] {jit-tco
removed frame Foo.__init__
[c5fd5e11efb0600] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5e11f0b8300] {jit-trace-done
trace length: 61
number operations: 11
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5e11f0e9d80] jit-trace-done}
[c5fd5e11f118600] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>))
setfield_gc(p3, p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l'))
setarrayitem_gc(p2, 0, p3, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
i6 = int_sub(i0, 1)
i8 = int_gt(i6, 0)
guard_true(i8)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i6, descr=<Loop-1>)
[c5fd5e11f1a9a00] jit-log-noopt}
[c5fd5e11f1baf80] {jit-optimize
[c5fd5e11f1d8e00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4cb0c0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e11f6b9a80] jit-log-intbounds}
[c5fd5e11f73b280] {jit-log-exported-state
[i9]
INP(i9 = int_add(i10, -1/ci))
PureOp(i11 = int_gt(i9, 0/ci))
[c5fd5e11f75cc00] jit-log-exported-state}
[c5fd5e11f767980] jit-optimize}
[c5fd5e11f780080] {jit-optimize
[c5fd5e11f878680] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4c397ac>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e11fe0c680] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-188507156))
[c5fd5e11ff34300] jit-optimize}
[c5fd5e11ff40c00] {jit-log-short-preamble
[]
label(i12)
jump()
[c5fd5e11ff55480] jit-log-short-preamble}
[c5fd5e11ff85580] {jit-backend
[c5fd5e11ff9bd00] {jit-log-compiling-loop
[i10]
label(i10, descr=TargetToken(-188019668))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i10, -1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<Guard0xf4cb0c0c>) [i9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i9, descr=TargetToken(-188507156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i16 = int_add(i9, -1)
i18 = int_gt(i16, 0)
guard_true(i18, descr=<Guard0xf4c397ac>) [i16]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i16, descr=TargetToken(-188507156))
[c5fd5e11fff3380] jit-log-compiling-loop}
[c5fd5e120005300] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5e120014700] jit-mem-looptoken-alloc}
[c5fd5e120042f00] jit-backend}
compiled new loop
[c5fd5e120050400] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-188019668))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4cb0c0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-188507156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4c397ac>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-188507156))
[c5fd5e1200b2800] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5e1201dd980] jit-tracing}
___________________ TestLLtype.test_list_mul_virtual_nonzero ___________________
self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4bdc36c>
def test_list_mul_virtual_nonzero(self):
class base:
pass
class Foo(base):
def __init__(self, l):
self.l = l
l[0] = self
class nil(base):
pass
nil = nil()
myjitdriver = JitDriver(greens = [], reds = ['y'])
def f(y):
while y > 0:
myjitdriver.jit_merge_point(y=y)
Foo([nil] * 5)
y -= 1
return 42
self.meta_interp(f, [5])
self.check_resops({'int_sub': 2,
'int_gt': 2,
'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_list.py:325:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4c4eb6c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54
bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame!
~~~ return value: 42
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 78 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] specializing: 100 / 114 blocks (87%)
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4c1ef2c>; should have be removed
[jitcodewriter:info] There are 12 JitCode instances.
[jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5e12eb78f00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5e12ec00900] {jit-tco
removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr
[c5fd5e12ec0df80] jit-tco}
[c5fd5e12ec2eb00] {jit-tco
removed frame _ll_alloc_and_set_jit__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr
[c5fd5e12ec3b200] jit-tco}
[c5fd5e12ec73e00] {jit-tco
removed frame _ll_alloc_and_set_nonnull_look_inside_iff__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr
[c5fd5e12ec80b80] jit-tco}
[c5fd5e12ee93b80] {jit-tco
removed frame Foo.__init__
[c5fd5e12eea1400] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5e12ef98b00] {jit-trace-done
trace length: 109
number operations: 17
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 5 4 2
descrs: 1
[c5fd5e12efc6980] jit-trace-done}
[c5fd5e12eff4280] {jit-log-noopt
# Traced loop or bridge with 17 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = same_as_i(1)
p4 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
setarrayitem_gc(p4, 0, ConstPtr(ptr6), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
setarrayitem_gc(p4, 1, ConstPtr(ptr8), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
setarrayitem_gc(p4, 2, ConstPtr(ptr10), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
setarrayitem_gc(p4, 3, ConstPtr(ptr12), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
setarrayitem_gc(p4, 4, ConstPtr(ptr14), descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p15 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>))
setfield_gc(p15, p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l'))
setarrayitem_gc(p4, 0, p15, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
i18 = int_sub(i0, 1)
i20 = int_gt(i18, 0)
guard_true(i20)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i18, descr=<Loop-1>)
[c5fd5e12f130e80] jit-log-noopt}
[c5fd5e12f151480] {jit-optimize
[c5fd5e12f184300] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bd1b2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e12f980d80] jit-log-intbounds}
[c5fd5e12fa2f680] {jit-log-exported-state
[i21]
PureOp(i22 = int_gt(i21, 0/ci))
INP(i21 = int_add(i23, -1/ci))
[c5fd5e12fa4ae00] jit-log-exported-state}
[c5fd5e12fa56380] jit-optimize}
[c5fd5e12fa6f400] {jit-optimize
[c5fd5e12fb6de00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bf71ec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e130245980] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-188778996))
[c5fd5e130375a80] jit-optimize}
[c5fd5e130383380] {jit-log-short-preamble
[]
label(i24)
jump()
[c5fd5e130398b00] jit-log-short-preamble}
[c5fd5e1303cbb80] {jit-backend
[c5fd5e1303e1580] {jit-log-compiling-loop
[i23]
label(i23, descr=TargetToken(-188933108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i23, -1)
i22 = int_gt(i21, 0)
guard_true(i22, descr=<Guard0xf4bd1b2c>) [i21]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i21, descr=TargetToken(-188778996))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i28 = int_add(i21, -1)
i30 = int_gt(i28, 0)
guard_true(i30, descr=<Guard0xf4bf71ec>) [i28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i28, descr=TargetToken(-188778996))
[c5fd5e130430e80] jit-log-compiling-loop}
[c5fd5e130443780] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5e13044f900] jit-mem-looptoken-alloc}
[c5fd5e13047a480] jit-backend}
compiled new loop
[c5fd5e130486600] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-188933108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4bd1b2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-188778996))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4bf71ec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-188778996))
[c5fd5e1304e6300] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5e13065fa80] jit-tracing}
__________________ TestLLtype.test_list_mul_unsigned_virtual ___________________
self = <rpython.jit.metainterp.test.test_list.TestLLtype instance at 0xf4c54eec>
def test_list_mul_unsigned_virtual(self):
from rpython.rlib.rarithmetic import r_uint
class Foo:
def __init__(self, l):
self.l = l
l[0] = self
myjitdriver = JitDriver(greens = [], reds = ['y'])
def f(y):
while y > 0:
myjitdriver.jit_merge_point(y=y)
Foo([None] * r_uint(5))
y -= 1
return 42
self.meta_interp(f, [5])
self.check_resops({'int_sub': 2,
'int_gt': 2,
'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_list.py:347:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4ba58ac>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 54, 51] -> 54
bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame!
~~~ return value: 42
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 78 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] specializing: 100 / 114 blocks (87%)
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_objectPtr at 0xf4ba3dcc>; should have be removed
[jitcodewriter:info] There are 12 JitCode instances.
[jitcodewriter:info] There are 19 -live- ops. Size of liveness is 39 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5e13fd6b300] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5e13fdee400] {jit-tco
removed frame ll_alloc_and_set__GcArray_Ptr_GcStruct_objectLlT_Signed_objectPtr
[c5fd5e13fdfad80] jit-tco}
[c5fd5e13feca000] {jit-tco
removed frame Foo.__init__
[c5fd5e13fed6d00] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5e13ffbfb80] {jit-trace-done
trace length: 61
number operations: 11
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5e13ffeba80] jit-trace-done}
[c5fd5e140017e00] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new_array_clear(5, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>))
setfield_gc(p3, p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_list.Foo { super, inst_l }>, 'inst_l'))
setarrayitem_gc(p2, 0, p3, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
i6 = int_sub(i0, 1)
i8 = int_gt(i6, 0)
guard_true(i8)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i6, descr=<Loop-1>)
[c5fd5e14009b580] jit-log-noopt}
[c5fd5e1400aab00] {jit-optimize
[c5fd5e1400c4b80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b09e0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e140519980] jit-log-intbounds}
[c5fd5e140596000] {jit-log-exported-state
[i9]
INP(i9 = int_add(i10, -1/ci))
PureOp(i11 = int_gt(i9, 0/ci))
[c5fd5e1405af080] jit-log-exported-state}
[c5fd5e1405b9a80] jit-optimize}
[c5fd5e1405cfc00] {jit-optimize
[c5fd5e1406be800] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b10a2c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5e140c2e380] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-189723028))
[c5fd5e140e4f000] jit-optimize}
[c5fd5e140e5c180] {jit-log-short-preamble
[]
label(i12)
jump()
[c5fd5e140e70b80] jit-log-short-preamble}
[c5fd5e140ea1900] {jit-backend
[c5fd5e140eb8980] {jit-log-compiling-loop
[i10]
label(i10, descr=TargetToken(-189751764))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i10, -1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<Guard0xf4b09e0c>) [i9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i9, descr=TargetToken(-189723028))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i16 = int_add(i9, -1)
i18 = int_gt(i16, 0)
guard_true(i18, descr=<Guard0xf4b10a2c>) [i16]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i16, descr=TargetToken(-189723028))
[c5fd5e140f0c980] jit-log-compiling-loop}
[c5fd5e140f1e100] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5e140f2a400] jit-mem-looptoken-alloc}
[c5fd5e140f57100] jit-backend}
compiled new loop
[c5fd5e140f63600] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-189751764))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4b09e0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-189723028))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4b10a2c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-189723028))
[c5fd5e140fbfc80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5e1410e4a00] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_simple_array
FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_virtual_resize
FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_virtual
FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_virtual_nonzero
FAIL jit/metainterp/test/test_list.py::TestLLtype::()::test_list_mul_unsigned_virtual
=============== 5 failed, 21 passed, 1 skipped in 19.23 seconds ================
++ 10:13:58 starting jit/metainterp/test/test_loop_unroll.py [140 started in total]
__ jit/metainterp/test/test_ajit.py [137 done in total, somefailed=True] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 223 items
jit/metainterp/test/test_ajit.py .....F...FF...F...F.........FF.FF....................................................................F......F................................................s.............Fs.....FFF...s................F...............s.s...
=================================== FAILURES ===================================
____________________________ TestLLtype.test_loop_1 ____________________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf55096ec>
def test_loop_1(self):
myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'res'])
def f(x, y):
res = 0
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, res=res)
myjitdriver.jit_merge_point(x=x, y=y, res=res)
res += x
y -= 1
return res
res = self.meta_interp(f, [6, 7])
assert res == 42
self.check_trace_count(1)
self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2,
> 'guard_true': 2, 'int_sub': 2})
jit/metainterp/test/test_ajit.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf552bbcc>
insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_sub': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...}
E Omitting 3 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 38, 33] -> 38
bh: int_return [<BHInterp <JitCode 'f'>>, 42] -> LeaveFrame!
~~~ return value: 42
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5c5b44dc400] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c5b4650b00] {jit-trace-done
trace length: 44
number operations: 10
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c5b467f900] jit-trace-done}
[c5fd5c5b46c0800] {jit-log-noopt
# Traced loop or bridge with 8 ops
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i2, i0)
i5 = int_sub(i1, 1)
i7 = int_gt(i5, 0)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i5, i3, descr=<Loop-1>)
[c5fd5c5b473bc80] jit-log-noopt}
[c5fd5c5b474ca80] {jit-optimize
[c5fd5c5b4808a00] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i2, i0)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i1, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54821cc>) [i0, i5, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5b4d44400] jit-log-intbounds}
[c5fd5c5b4e2d400] {jit-log-exported-state
[i8, i9, i10]
INP(i9 = int_add(i11, -1/ci))
INP(i10 = int_add(i12, i8))
PureOp(i13 = int_gt(i9, 0/ci))
INP(i8)
[c5fd5c5b4e4f700] jit-log-exported-state}
[c5fd5c5b4e5a680] jit-optimize}
[c5fd5c5b4e70e00] {jit-optimize
[c5fd5c5b5062b80] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, i4)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5482b0c>) [i4, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5b56a7900] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i4, i8, i5, descr=TargetToken(-179760468))
[c5fd5c5b58a3400] jit-optimize}
[c5fd5c5b58af780] {jit-log-short-preamble
[]
label(i14, i15, i16)
jump()
[c5fd5c5b58c4f00] jit-log-short-preamble}
[c5fd5c5b5900f80] {jit-backend
[c5fd5c5b5917900] {jit-log-compiling-loop
[i8, i11, i12]
label(i8, i11, i12, descr=TargetToken(-179822452))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_add(i12, i8)
i9 = int_add(i11, -1)
i13 = int_gt(i9, 0)
guard_true(i13, descr=<Guard0xf54821cc>) [i8, i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i9, i10, descr=TargetToken(-179760468))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i10, i8)
i21 = int_add(i9, -1)
i23 = int_gt(i21, 0)
guard_true(i23, descr=<Guard0xf5482b0c>) [i8, i21, i19]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i8, i21, i19, descr=TargetToken(-179760468))
[c5fd5c5b597a180] jit-log-compiling-loop}
[c5fd5c5b598ad00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c5b5997000] jit-mem-looptoken-alloc}
[c5fd5c5b59c8580] jit-backend}
compiled new loop
[c5fd5c5b59d4700] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops
[i0, i1, i2]
label(i0, i1, i2, descr=TargetToken(-179822452))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i2, i0)
i5 = int_add(i1, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<Guard0xf54821cc>) [i0, i5, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i5, i3, descr=TargetToken(-179760468))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = int_add(i3, i0)
i10 = int_add(i5, -1)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<Guard0xf5482b0c>) [i0, i10, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i10, i8, descr=TargetToken(-179760468))
[c5fd5c5b5a41b00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c5b5ba8900] jit-tracing}
_____________________ TestLLtype.test_loop_invariant_mul1 ______________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf5337cec>
def test_loop_invariant_mul1(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x'])
def f(x, y):
res = 0
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, res=res)
myjitdriver.jit_merge_point(x=x, y=y, res=res)
res += x * x
y -= 1
return res
res = self.meta_interp(f, [6, 7])
assert res == 252
self.check_trace_count(1)
self.check_simple_loop(int_mul=0)
self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2,
> 'int_mul': 1, 'guard_true': 2, 'int_sub': 2})
jit/metainterp/test/test_ajit.py:178:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf53524ac>
insns = {'guard_true': 2, 'int_add': 4, 'int_gt': 2, 'int_mul': 1, ...}
expected = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'int_mul': 1, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'..._mul': 1, ...} == {'guard_true':..._mul': 1, ...}
E Omitting 4 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 42, 37] -> 42
bh: int_return [<BHInterp <JitCode 'f'>>, 252] -> LeaveFrame!
~~~ return value: 252
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5c5e6819e80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c5e69abe00] {jit-trace-done
trace length: 49
number operations: 11
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c5e69da200] jit-trace-done}
[c5fd5c5e6a1a380] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_mul(i2, i2)
i4 = int_add(i1, i3)
i6 = int_sub(i0, 1)
i8 = int_gt(i6, 0)
guard_true(i8)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i6, i4, i2, descr=<Loop-1>)
[c5fd5c5e6a9f080] jit-log-noopt}
[c5fd5c5e6ab0d80] {jit-optimize
[c5fd5c5e6adbb00] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_mul(i2, i2)
# i3 -> (?) IntBound.unbounded()
i4 = int_add(i1, i3)
# i4 -> (?) IntBound.unbounded()
i6 = int_add(i0, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf507720c>) [i6, i4, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5e7062800] jit-log-intbounds}
[c5fd5c5e7142800] {jit-log-exported-state
[i9, i10, i11]
PureOp(i12 = int_mul(i11, i11))
PureOp(i13 = int_gt(i9, 0/ci))
INP(i9 = int_add(i14, -1/ci))
INP(i10 = int_add(i15, i12))
INP(i11)
[c5fd5c5e716a300] jit-log-exported-state}
[c5fd5c5e7175e80] jit-optimize}
[c5fd5c5e718d380] {jit-optimize
[c5fd5c5e73a0d00] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, i4)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf507756c>) [i8, i5, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5e7a9fb00] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, i5, i11, i4, descr=TargetToken(-180184820))
[c5fd5c5e7cae100] jit-optimize}
[c5fd5c5e7cbaa80] {jit-log-short-preamble
[]
label(i16, i17, i18)
i19 = int_mul(i18, i18)
jump(i19)
[c5fd5c5e7cd7d80] jit-log-short-preamble}
[c5fd5c5e7d11300] {jit-backend
[c5fd5c5e7d27100] {jit-log-compiling-loop
[i14, i15, i11]
label(i14, i15, i11, descr=TargetToken(-179399732))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_mul(i11, i11)
i10 = int_add(i15, i12)
i9 = int_add(i14, -1)
i13 = int_gt(i9, 0)
guard_true(i13, descr=<Guard0xf507720c>) [i9, i10, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i9, i10, i11, i12, descr=TargetToken(-180184820))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_add(i10, i12)
i24 = int_add(i9, -1)
i26 = int_gt(i24, 0)
guard_true(i26, descr=<Guard0xf507756c>) [i24, i22, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i24, i22, i11, i12, descr=TargetToken(-180184820))
[c5fd5c5e7d97180] jit-log-compiling-loop}
[c5fd5c5e7da9100] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c5e7db6200] jit-mem-looptoken-alloc}
[c5fd5c5e7df0580] jit-backend}
compiled new loop
[c5fd5c5e7dfd480] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops
[i0, i1, i2]
label(i0, i1, i2, descr=TargetToken(-179399732))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_mul(i2, i2)
i4 = int_add(i1, i3)
i6 = int_add(i0, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf507720c>) [i6, i4, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i6, i4, i2, i3, descr=TargetToken(-180184820))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i4, i3)
i11 = int_add(i6, -1)
i13 = int_gt(i11, 0)
guard_true(i13, descr=<Guard0xf507756c>) [i11, i9, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i11, i9, i2, i3, descr=TargetToken(-180184820))
[c5fd5c5e7e73100] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c5e7fdad00] jit-tracing}
___________________ TestLLtype.test_loop_invariant_mul_ovf1 ____________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4e053ec>
def test_loop_invariant_mul_ovf1(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x'])
def f(x, y):
res = 0
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, res=res)
myjitdriver.jit_merge_point(x=x, y=y, res=res)
b = y * 2
try:
res += ovfcheck(x * x) + b
except OverflowError:
assert 0
y -= 1
return res
res = self.meta_interp(f, [6, 7])
assert res == 308
self.check_trace_count(1)
self.check_simple_loop(int_mul_ovf=0)
self.check_resops({'jump': 1, 'int_lshift': 2, 'int_gt': 2,
'int_mul_ovf': 1, 'int_add': 4,
'guard_true': 2, 'guard_no_overflow': 1,
> 'int_sub': 2})
jit/metainterp/test/test_ajit.py:202:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4e9950c>
insns = {'guard_no_overflow': 1, 'guard_true': 2, 'int_add': 6, 'int_gt': 2, ...}
expected = {'guard_no_overflow': 1, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_no_ov...t_gt': 2, ...} == {'guard_no_ove...t_gt': 2, ...}
E Omitting 6 identical items, use -v to show
E Differing items:
E {'int_add': 6} != {'int_add': 4}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 55, 50] -> 55
bh: int_return [<BHInterp <JitCode 'f'>>, 308] -> LeaveFrame!
~~~ return value: 308
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 10 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5c5f839df80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c5f85b1380] {jit-trace-done
trace length: 62
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 28
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c5f85dff80] jit-trace-done}
[c5fd5c5f8621880] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_mul(i0, 2)
i5 = int_mul_ovf(i2, i2)
guard_no_overflow()
i6 = int_add(i5, i4)
i7 = int_add(i1, i6)
i9 = int_sub(i0, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i9, i7, i2, descr=<Loop-1>)
[c5fd5c5f86bcd00] jit-log-noopt}
[c5fd5c5f86cd480] {jit-optimize
[c5fd5c5f86f9b80] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_lshift(i0, 1)
i5 = int_mul_ovf(i2, i2)
guard_no_overflow(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4e9db0c>) [i0, i1, i2, i4]
# i5: (0 <= 0b0?...?) IntBound.nonnegative()
# i4: (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10))
i6 = int_add(i5, i4)
# i6 -> (?) IntBound.unbounded()
i7 = int_add(i1, i6)
# i7 -> (?) IntBound.unbounded()
i9 = int_add(i0, -1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4e9df6c>) [i0, i1, i2, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5f8eee980] jit-log-intbounds}
[c5fd5c5f8fcbe00] {jit-log-exported-state
[i12, i13, i14]
PureOp(i15 = int_mul_ovf(i14, i14))
PureOp(i16 = int_gt(i12, 0/ci))
INP(i13 = int_add(i17, i18))
INP(i14)
INP(i12 = int_add(i19, -1/ci))
[c5fd5c5f8fef880] jit-log-exported-state}
[c5fd5c5f8ffb000] jit-optimize}
[c5fd5c5f9010e00] {jit-optimize
[c5fd5c5f9206b00] {jit-log-intbounds
[i0, i1, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
i5 = int_lshift(i3, 1)
# i6: (0 <= 0b0?...?) IntBound.nonnegative()
# i5: (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10))
i7 = int_add(i6, i5)
# i7 -> (?) IntBound.unbounded()
i9 = int_add(i8, i7)
# i9 -> (?) IntBound.unbounded()
i11 = int_add(i3, -1)
# i11: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i13 = int_gt(i11, 0)
guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ea1e0c>) [i11, i9, i14]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c5f9c90d00] jit-log-intbounds}
# i11: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i9, i14, i6, descr=TargetToken(-186001364))
[c5fd5c5f9f81e00] jit-optimize}
[c5fd5c5f9f8f480] {jit-log-short-preamble
[]
label(i20, i21, i22)
i23 = int_mul_ovf(i22, i22)
guard_no_overflow()
i25 = int_ge(i23, 0)
guard_true(i25)
jump(i23)
[c5fd5c5f9fbb800] jit-log-short-preamble}
[c5fd5c5fa004d80] {jit-backend
[c5fd5c5fa01d000] {jit-log-compiling-loop
[i19, i17, i14]
label(i19, i17, i14, descr=TargetToken(-186001108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i27 = int_lshift(i19, 1)
i15 = int_mul_ovf(i14, i14)
guard_no_overflow(descr=<Guard0xf4e9db0c>) [i19, i17, i14, i27]
i18 = int_add(i15, i27)
i13 = int_add(i17, i18)
i12 = int_add(i19, -1)
i16 = int_gt(i12, 0)
guard_true(i16, descr=<Guard0xf4e9df6c>) [i19, i17, i14, i27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, i13, i14, i15, descr=TargetToken(-186001364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i31 = int_lshift(i12, 1)
i32 = int_add(i15, i31)
i33 = int_add(i13, i32)
i35 = int_add(i12, -1)
i37 = int_gt(i35, 0)
guard_true(i37, descr=<Guard0xf4ea1e0c>) [i35, i33, i14]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i35, i33, i14, i15, descr=TargetToken(-186001364))
[c5fd5c5fa0a8300] jit-log-compiling-loop}
[c5fd5c5fa0b9c80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c5fa0c6580] jit-mem-looptoken-alloc}
[c5fd5c5fa107800] jit-backend}
compiled new loop
[c5fd5c5fa117200] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops
[i0, i1, i2]
label(i0, i1, i2, descr=TargetToken(-186001108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_lshift(i0, 1)
i5 = int_mul_ovf(i2, i2)
guard_no_overflow(descr=<Guard0xf4e9db0c>) [i0, i1, i2, i4]
i6 = int_add(i5, i4)
i7 = int_add(i1, i6)
i9 = int_add(i0, -1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<Guard0xf4e9df6c>) [i0, i1, i2, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i9, i7, i2, i5, descr=TargetToken(-186001364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_lshift(i9, 1)
i14 = int_add(i5, i13)
i15 = int_add(i7, i14)
i17 = int_add(i9, -1)
i19 = int_gt(i17, 0)
guard_true(i19, descr=<Guard0xf4ea1e0c>) [i17, i15, i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i17, i15, i2, i5, descr=TargetToken(-186001364))
[c5fd5c5fa1ac500] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c5fa32d100] jit-tracing}
____________ TestLLtype.test_loop_invariant_mul_bridge_maintaining3 ____________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf5306ecc>
def test_loop_invariant_mul_bridge_maintaining3(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x', 'm'])
def f(x, y, m):
res = 0
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, res=res, m=m)
myjitdriver.jit_merge_point(x=x, y=y, res=res, m=m)
z = x * x
res += z
if y<m:
res += z
y -= 1
return res
res = self.meta_interp(f, [6, 32, 16])
assert res == 1692
self.check_trace_count(3)
self.check_resops({'int_lt': 4, 'int_gt': 4, 'guard_false': 2,
'guard_true': 6, 'int_sub': 4, 'jump': 3,
> 'int_mul': 3, 'int_add': 4})
jit/metainterp/test/test_ajit.py:273:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5322e6c>
insns = {'guard_false': 2, 'guard_true': 6, 'int_add': 8, 'int_gt': 4, ...}
expected = {'guard_false': 2, 'guard_true': 6, 'int_add': 4, 'int_gt': 4, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_false...t_gt': 4, ...} == {'guard_false'...t_gt': 4, ...}
E Omitting 6 identical items, use -v to show
E Differing items:
E {'int_add': 8} != {'int_add': 4}
E Right contains more items:
E {'int_sub': 4}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_lt [15, 16, 57, 34] -> 34
bh: int_add [648, 36] -> 684
bh: int_sub [15, 1] -> 14
bh: live [43] -> 45
bh: goto_if_not_int_gt [14, 0, 55, 50] -> 50
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [14, 684, 6, 16], [], []] -> ContinueRunningNormally!
bh: goto_if_not_int_lt [13, 16, 57, 34] -> 34
bh: int_add [792, 36] -> 828
bh: int_sub [13, 1] -> 12
bh: live [43] -> 45
bh: goto_if_not_int_gt [12, 0, 55, 50] -> 50
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [12, 828, 6, 16], [], []] -> ContinueRunningNormally!
bh: goto_if_not_int_lt [1, 16, 57, 34] -> 34
bh: int_add [1656, 36] -> 1692
bh: int_sub [1, 1] -> 0
bh: live [43] -> 45
bh: goto_if_not_int_gt [0, 0, 55, 50] -> 55
bh: int_return [<BHInterp <JitCode 'f'>>, 1692] -> LeaveFrame!
~~~ return value: 1692
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5c621823180] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c621b71100] {jit-trace-done
trace length: 60
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 34
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c621bb6800] jit-trace-done}
[c5fd5c621c31380] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, i1, i2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_mul(i2, i2)
i5 = int_add(i1, i4)
i6 = int_lt(i0, i3)
guard_false(i6)
i8 = int_sub(i0, 1)
i10 = int_gt(i8, 0)
guard_true(i10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i8, i5, i2, i3, descr=<Loop-1>)
[c5fd5c621d53600] jit-log-noopt}
[c5fd5c621d74d00] {jit-optimize
[c5fd5c621dd4000] {jit-log-intbounds
[i0, i1, i2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_mul(i2, i2)
# i4 -> (?) IntBound.unbounded()
i5 = int_add(i1, i4)
# i5 -> (?) IntBound.unbounded()
i6 = int_lt(i0, i3)
guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf528d38c>) [i0, i5, i2, i3, i4]
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf528d8ac>) [i0, i5, i2, i3, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6226f0880] jit-log-intbounds}
[c5fd5c6227fe900] {jit-log-exported-state
[i11, i12, i13, i14]
PureOp(i15 = int_mul(i13, i13))
INP(i12 = int_add(i16, i15))
INP(i11 = int_add(i17, -1/ci))
PureOp(i18 = int_gt(i11, 0/ci))
INP(i13)
INP(i14)
[c5fd5c622827780] jit-log-exported-state}
[c5fd5c622833e80] jit-optimize}
[c5fd5c62284bd80] {jit-optimize
[c5fd5c622aa2580] {jit-log-intbounds
[i0, i1, i2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i4, i5)
# i6 -> (?) IntBound.unbounded()
# i7: (1 <= 0b0?...?) IntBound(1, MAXINT)
i9 = int_lt(i7, i8)
guard_false(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529222c>) [i7, i6, i10, i8, i5]
i12 = int_add(i7, -1)
# i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf52921ac>) [i7, i6, i10, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6232c5580] jit-log-intbounds}
# i12: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i12, i6, i10, i8, i5, descr=TargetToken(-181852148))
[c5fd5c62354f200] jit-optimize}
[c5fd5c62355c100] {jit-log-short-preamble
[]
label(i19, i20, i21, i22)
i23 = int_mul(i21, i21)
jump(i23)
[c5fd5c623578080] jit-log-short-preamble}
[c5fd5c6235ca100] {jit-backend
[c5fd5c6235e1a00] {jit-log-compiling-loop
[i17, i16, i13, i14]
label(i17, i16, i13, i14, descr=TargetToken(-181873364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i15 = int_mul(i13, i13)
i12 = int_add(i16, i15)
i24 = int_lt(i17, i14)
guard_false(i24, descr=<Guard0xf528d38c>) [i17, i12, i13, i14, i15]
i11 = int_add(i17, -1)
i18 = int_gt(i11, 0)
guard_true(i18, descr=<Guard0xf528d8ac>) [i17, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i11, i12, i13, i14, i15, descr=TargetToken(-181852148))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i27 = int_add(i12, i15)
i28 = int_lt(i11, i14)
guard_false(i28, descr=<Guard0xf529222c>) [i11, i27, i13, i14, i15]
i30 = int_add(i11, -1)
i32 = int_gt(i30, 0)
guard_true(i32, descr=<Guard0xf52921ac>) [i11, i27, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i30, i27, i13, i14, i15, descr=TargetToken(-181852148))
[c5fd5c623669000] jit-log-compiling-loop}
[c5fd5c62367b300] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c623687600] jit-mem-looptoken-alloc}
[c5fd5c6236ff600] jit-backend}
compiled new loop
[c5fd5c623711180] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 20 ops
[i0, i1, i2, i3]
label(i0, i1, i2, i3, descr=TargetToken(-181873364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_mul(i2, i2)
i5 = int_add(i1, i4)
i6 = int_lt(i0, i3)
guard_false(i6, descr=<Guard0xf528d38c>) [i0, i5, i2, i3, i4]
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf528d8ac>) [i0, i5, i2, i3, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i5, i2, i3, i4, descr=TargetToken(-181852148))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i11 = int_add(i5, i4)
i12 = int_lt(i8, i3)
guard_false(i12, descr=<Guard0xf529222c>) [i8, i11, i2, i3, i4]
i14 = int_add(i8, -1)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf52921ac>) [i8, i11, i2, i3, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i14, i11, i2, i3, i4, descr=TargetToken(-181852148))
[c5fd5c6237a9e80] jit-log-opt-loop}
ContinueRunningNormally
[c5fd5c623a54c80] jit-tracing}
[c5fd5c623d04880] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5c623f94280] {jit-trace-done
trace length: 60
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 34
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5c623fc1500] jit-trace-done}
[c5fd5c623fd7680] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0, i1, i2, i3, i4]
i5 = int_lt(i0, i3)
guard_true(i5)
i6 = int_add(i1, i4)
i8 = int_sub(i0, 1)
i10 = int_gt(i8, 0)
guard_true(i10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i8, i6, i2, i3, descr=<Loop1>)
[c5fd5c624061180] jit-log-noopt}
[c5fd5c624070a00] {jit-optimize
[c5fd5c62413e700] {jit-log-intbounds
[i0, i1, i2, i3, i4]
i5 = int_lt(i0, i3)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529602c>) [i0, i1, i2, i3, i4]
i6 = int_add(i1, i4)
# i6 -> (?) IntBound.unbounded()
# i0: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1)
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf529650c>) [i0, i1, i2, i3, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c62479f780] jit-log-intbounds}
i11 = int_mul(i2, i2)
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, i6, i2, i3, i11, descr=TargetToken(-181852148))
[c5fd5c624954800] jit-optimize}
[c5fd5c624971500] {jit-backend
[c5fd5c62497ca80] {jit-log-compiling-bridge
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c6249c5680] jit-log-compiling-bridge}
[c5fd5c6249d7400] {jit-mem-looptoken-alloc
allocating Bridge # 1 of Loop # 1
[c5fd5c6249e6000] jit-mem-looptoken-alloc}
[c5fd5c624a0cd00] jit-backend}
compiled new bridge
[c5fd5c624a1a800] {jit-log-opt-bridge
# bridge out of Guard 0xf528d38c with 9 ops
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c624a66280] jit-log-opt-bridge}
[c5fd5c624a70c80] {jit-log-opt-bridge
# bridge out of Guard 0xf528d38c with 9 ops
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529602c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529650c>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c624abc200] jit-log-opt-bridge}
[c5fd5c624b4d400] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5c624dece00] {jit-trace-done
trace length: 60
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 34
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5c624e1a100] jit-trace-done}
[c5fd5c624e2fc80] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0, i1, i2, i3, i4]
i5 = int_lt(i0, i3)
guard_true(i5)
i6 = int_add(i1, i4)
i8 = int_sub(i0, 1)
i10 = int_gt(i8, 0)
guard_true(i10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i8, i6, i2, i3, descr=<Loop1>)
[c5fd5c624ebc680] jit-log-noopt}
[c5fd5c624ecbc80] {jit-optimize
[c5fd5c624f8fd80] {jit-log-intbounds
[i0, i1, i2, i3, i4]
i5 = int_lt(i0, i3)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf529a46c>) [i0, i1, i2, i3, i4]
i6 = int_add(i1, i4)
# i6 -> (?) IntBound.unbounded()
# i0: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1)
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf529a8cc>) [i0, i1, i2, i3, i4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6255f3980] jit-log-intbounds}
i11 = int_mul(i2, i2)
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, i6, i2, i3, i11, descr=TargetToken(-181852148))
[c5fd5c6257a7000] jit-optimize}
[c5fd5c6257c3b00] {jit-backend
[c5fd5c6257cec80] {jit-log-compiling-bridge
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c625819000] jit-log-compiling-bridge}
[c5fd5c62582b300] {jit-mem-looptoken-alloc
allocating Bridge # 2 of Loop # 1
[c5fd5c625839e00] jit-mem-looptoken-alloc}
[c5fd5c625861880] jit-backend}
compiled new bridge
[c5fd5c62586f300] {jit-log-opt-bridge
# bridge out of Guard 0xf529222c with 9 ops
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c6258b9100] jit-log-opt-bridge}
[c5fd5c6258c3700] {jit-log-opt-bridge
# bridge out of Guard 0xf529222c with 9 ops
[i11, i12, i13, i14, i15]
i16 = int_lt(i11, i14)
guard_true(i16, descr=<Guard0xf529a46c>) [i11, i12, i13, i14, i15]
i17 = int_add(i12, i15)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf529a8cc>) [i11, i12, i13, i14, i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i22 = int_mul(i13, i13)
jump(i19, i17, i13, i14, i22, descr=TargetToken(-181852148))
[c5fd5c62590eb80] jit-log-opt-bridge}
DoneWithThisFrameInt
[c5fd5c625b78a80] jit-tracing}
DoneWithThisFrameInt
[c5fd5c625ba9000] jit-tracing}
____________________ TestLLtype.test_loop_invariant_intbox _____________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf51a318c>
def test_loop_invariant_intbox(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'res', 'x'])
class I:
__slots__ = 'intval'
_immutable_ = True
def __init__(self, intval):
self.intval = intval
def f(i, y):
res = 0
x = I(i)
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, res=res)
myjitdriver.jit_merge_point(x=x, y=y, res=res)
res += x.intval * x.intval
y -= 1
return res
res = self.meta_interp(f, [6, 7])
assert res == 252
self.check_trace_count(1)
self.check_resops({'jump': 1, 'int_gt': 2, 'int_add': 2,
'getfield_gc_i': 1, 'int_mul': 1,
> 'guard_true': 2, 'int_sub': 2})
jit/metainterp/test/test_ajit.py:356:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf51abbec>
insns = {'getfield_gc_i': 1, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...}
expected = {'getfield_gc_i': 1, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'getfield_gc...t_gt': 2, ...} == {'getfield_gc_...t_gt': 2, ...}
E Omitting 5 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 52, 47] -> 52
bh: int_return [<BHInterp <JitCode 'f'>>, 252] -> LeaveFrame!
~~~ return value: 252
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 5 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5c674dae500] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c674f85c00] {jit-trace-done
trace length: 54
number operations: 12
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c674fb5600] jit-trace-done}
[c5fd5c674ff5d00] {jit-log-noopt
# Traced loop or bridge with 10 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))
i4 = int_mul(i3, i3)
i5 = int_add(i1, i4)
i7 = int_sub(i0, 1)
i9 = int_gt(i7, 0)
guard_true(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, i5, p2, descr=<Loop-1>)
[c5fd5c675092500] jit-log-noopt}
[c5fd5c6750a3280] {jit-optimize
[c5fd5c6750cdc00] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))
i4 = int_mul(i3, i3)
# i4 -> (?) IntBound.unbounded()
i5 = int_add(i1, i4)
# i5 -> (?) IntBound.unbounded()
i7 = int_add(i0, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf515a7ac>) [i7, i5, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6756cab80] jit-log-intbounds}
[c5fd5c675798080] {jit-log-exported-state
[i10, i11, r12]
PureOp(i13 = int_gt(i10, 0/ci))
INP(r12)
HeapOp(i14 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')), i15 = getfield_gc_i(r12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval')))
PureOp(i16 = int_mul(i14, i14))
INP(i11 = int_add(i17, i16))
INP(i10 = int_add(i18, -1/ci))
[c5fd5c6757c7280] jit-log-exported-state}
[c5fd5c6757d2e00] jit-optimize}
[c5fd5c6757ea700] {jit-optimize
[c5fd5c675972880] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, i4)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf516136c>) [i8, i5, p11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c676180680] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, i5, p11, i4, descr=TargetToken(-183100564))
[c5fd5c6763b9800] jit-optimize}
[c5fd5c6763c6d00] {jit-log-short-preamble
[]
label(i19, i20, p21)
guard_nonnull(p21)
guard_is_object(p21)
guard_subclass(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.I_vtable { super=... }>)
i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))
i24 = int_mul(i23, i23)
jump(i24)
[c5fd5c6763fbc80] jit-log-short-preamble}
[c5fd5c67643a480] {jit-backend
[c5fd5c676451600] {jit-log-compiling-loop
[i18, i17, p12]
label(i18, i17, p12, descr=TargetToken(-183149652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i14 = getfield_gc_i(p12, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))
i16 = int_mul(i14, i14)
i11 = int_add(i17, i16)
i10 = int_add(i18, -1)
i13 = int_gt(i10, 0)
guard_true(i13, descr=<Guard0xf515a7ac>) [i10, i11, p12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i10, i11, p12, i16, descr=TargetToken(-183100564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i27 = int_add(i11, i16)
i29 = int_add(i10, -1)
i31 = int_gt(i29, 0)
guard_true(i31, descr=<Guard0xf516136c>) [i29, i27, p12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i29, i27, p12, i16, descr=TargetToken(-183100564))
[c5fd5c6764c5f00] jit-log-compiling-loop}
[c5fd5c6764d7c80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c6764e4780] jit-mem-looptoken-alloc}
[c5fd5c67651f880] jit-backend}
compiled new loop
[c5fd5c67652ca00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-183149652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.I { super, inst_intval }>, 'inst_intval'))
i4 = int_mul(i3, i3)
i5 = int_add(i1, i4)
i7 = int_add(i0, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0xf515a7ac>) [i7, i5, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i7, i5, p2, i4, descr=TargetToken(-183100564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_add(i5, i4)
i12 = int_add(i7, -1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<Guard0xf516136c>) [i12, i10, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, i10, p2, i4, descr=TargetToken(-183100564))
[c5fd5c6765abe80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c67672e280] jit-tracing}
___________________ TestLLtype.test_constfold_call_elidable ____________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4b61bec>
def test_constfold_call_elidable(self):
myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
@elidable
def externfn(x):
return x - 3
def f(n, m):
while n > 0:
myjitdriver.can_enter_jit(n=n, m=m)
myjitdriver.jit_merge_point(n=n, m=m)
n -= externfn(m)
return n
res = self.meta_interp(f, [21, 5])
assert res == -1
# the CALL_PURE is constant-folded away by optimizeopt.py
> self.check_resops(call_pure_i=0, call_i=0, int_sub=2)
jit/metainterp/test/test_ajit.py:499:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4a7e72c>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 0 'int_sub', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-1, 0, 46, 41] -> 46
bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame!
~~~ return value: -1
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5c6d7f69b00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c6d80bfc00] {jit-trace-done
trace length: 41
number operations: 7
total snapshots: 2
snapshot data: 24
snapshot array data: 14
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c6d80eda80] jit-trace-done}
[c5fd5c6d8127480] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_sub(i0, 2)
i4 = int_gt(i2, 0)
guard_true(i4)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i2, descr=<Loop-1>)
[c5fd5c6d8185a00] jit-log-noopt}
[c5fd5c6d8197900] {jit-optimize
[c5fd5c6d81b2e80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -2)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4aa8d8c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6d85f0180] jit-log-intbounds}
[c5fd5c6d866d380] {jit-log-exported-state
[i5]
PureOp(i6 = int_gt(i5, 0/ci))
INP(i5 = int_add(i7, -2/ci))
[c5fd5c6d8685680] jit-log-exported-state}
[c5fd5c6d868fc80] jit-optimize}
[c5fd5c6d86a6b80] {jit-optimize
[c5fd5c6d87b4c00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -2)
# i3: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4aa8c8c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6d8d77000] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-190130548))
[c5fd5c6d8ea0980] jit-optimize}
[c5fd5c6d8ead900] {jit-log-short-preamble
[]
label(i8)
jump()
[c5fd5c6d8ec1f00] jit-log-short-preamble}
[c5fd5c6d8ef2e00] {jit-backend
[c5fd5c6d8f0bc80] {jit-log-compiling-loop
[i7]
label(i7, descr=TargetToken(-190148852))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i7, -2)
i6 = int_gt(i5, 0)
guard_true(i6, descr=<Guard0xf4aa8d8c>) [i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, descr=TargetToken(-190130548))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i5, -2)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<Guard0xf4aa8c8c>) [i12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, descr=TargetToken(-190130548))
[c5fd5c6d8f5eb00] jit-log-compiling-loop}
[c5fd5c6d8f70000] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c6d8f7c380] jit-mem-looptoken-alloc}
[c5fd5c6d8fa6f00] jit-backend}
compiled new loop
[c5fd5c6d8fb3400] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-190148852))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -2)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4aa8d8c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-190130548))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -2)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4aa8c8c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-190130548))
[c5fd5c6d9010080] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c6d9187e00] jit-tracing}
__________________ TestLLtype.test_constfold_call_elidable_2 ___________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf4a8cc8c>
def test_constfold_call_elidable_2(self):
myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
@elidable
def externfn(x):
return x - 3
class V:
def __init__(self, value):
self.value = value
def f(n, m):
while n > 0:
myjitdriver.can_enter_jit(n=n, m=m)
myjitdriver.jit_merge_point(n=n, m=m)
v = V(m)
n -= externfn(v.value)
return n
res = self.meta_interp(f, [21, 5])
assert res == -1
# the CALL_PURE is constant-folded away by optimizeopt.py
> self.check_resops(call_pure_i=0, call_i=0, int_sub=2)
jit/metainterp/test/test_ajit.py:519:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4679eac>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 0 'int_sub', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-1, 0, 65, 60] -> 65
bh: int_return [<BHInterp <JitCode 'f'>>, -1] -> LeaveFrame!
~~~ return value: -1
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 10 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 5 -live- ops. Size of liveness is 9 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5c6ea813280] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c6eaa25080] {jit-trace-done
trace length: 51
number operations: 9
total snapshots: 2
snapshot data: 24
snapshot array data: 14
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c6eaa53d00] jit-trace-done}
[c5fd5c6eaa8a800] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.V { super, inst_value }>))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.V { super, inst_value }>, 'inst_value'))
i4 = int_sub(i0, 2)
i6 = int_gt(i4, 0)
guard_true(i6)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i4, descr=<Loop-1>)
[c5fd5c6eab03f00] jit-log-noopt}
[c5fd5c6eab16200] {jit-optimize
[c5fd5c6eab32900] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -2)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46a154c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6eafb3c80] jit-log-intbounds}
[c5fd5c6eb033f80] {jit-log-exported-state
[i7]
PureOp(i8 = int_gt(i7, 0/ci))
INP(i7 = int_add(i9, -2/ci))
[c5fd5c6eb04e100] jit-log-exported-state}
[c5fd5c6eb059100] jit-optimize}
[c5fd5c6eb071b80] {jit-optimize
[c5fd5c6eb169600] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -2)
# i3: (-1 <= ? <= MAXINT - 2) IntBound(-1, MAXINT - 2)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46a1dac>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c6eb754080] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-194350100))
[c5fd5c6eb893080] jit-optimize}
[c5fd5c6eb8a0500] {jit-log-short-preamble
[]
label(i10)
jump()
[c5fd5c6eb8b5b00] jit-log-short-preamble}
[c5fd5c6eb8e7400] {jit-backend
[c5fd5c6eb900800] {jit-log-compiling-loop
[i9]
label(i9, descr=TargetToken(-194373940))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i9, -2)
i8 = int_gt(i7, 0)
guard_true(i8, descr=<Guard0xf46a154c>) [i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i7, descr=TargetToken(-194350100))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i14 = int_add(i7, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf46a1dac>) [i14]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i14, descr=TargetToken(-194350100))
[c5fd5c6eb955580] jit-log-compiling-loop}
[c5fd5c6eb966d00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c6eb973800] jit-mem-looptoken-alloc}
[c5fd5c6eb9a0500] jit-backend}
compiled new loop
[c5fd5c6eb9ace00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-194373940))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -2)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf46a154c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-194350100))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -2)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf46a1dac>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-194350100))
[c5fd5c6eba0ee80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c6ebb8ba80] jit-tracing}
_______________________ TestLLtype.test_elidable_raising _______________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf46db88c>
def test_elidable_raising(self):
myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
@elidable
def externfn(x):
if x <= 0:
raise ValueError
return x - 1
def f(n, m):
while n > 0:
myjitdriver.can_enter_jit(n=n, m=m)
myjitdriver.jit_merge_point(n=n, m=m)
try:
n -= externfn(m)
except ValueError:
n -= 1
return n
res = self.meta_interp(f, [22, 6])
assert res == -3
# the CALL_PURE is constant-folded away during tracing
> self.check_resops(call_pure_i=0, call_i=0, int_sub=2)
jit/metainterp/test/test_ajit.py:566:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf46f4eac>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 0 'int_sub', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-3, 0, 52, 47] -> 52
bh: int_return [<BHInterp <JitCode 'f'>>, -3] -> LeaveFrame!
~~~ return value: -3
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 14 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 5 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5c700219100] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c70038b880] {jit-trace-done
trace length: 41
number operations: 7
total snapshots: 2
snapshot data: 24
snapshot array data: 14
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c7003ba480] jit-trace-done}
[c5fd5c7003f2500] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_sub(i0, 5)
i4 = int_gt(i2, 0)
guard_true(i4)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i2, descr=<Loop-1>)
[c5fd5c700455700] jit-log-noopt}
[c5fd5c700466080] {jit-optimize
[c5fd5c700482200] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -5)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf46102cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c7009b7a00] jit-log-intbounds}
[c5fd5c700a3a980] {jit-log-exported-state
[i5]
INP(i5 = int_add(i6, -5/ci))
PureOp(i7 = int_gt(i5, 0/ci))
[c5fd5c700a53a00] jit-log-exported-state}
[c5fd5c700a5e780] jit-optimize}
[c5fd5c700a75a80] {jit-optimize
[c5fd5c700b6f700] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -5)
# i3: (-4 <= ? <= MAXINT - 5) IntBound(-4, MAXINT - 5)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45fb12c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c70113f180] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-194243604))
[c5fd5c701277d80] jit-optimize}
[c5fd5c701284900] {jit-log-short-preamble
[]
label(i8)
jump()
[c5fd5c701299080] jit-log-short-preamble}
[c5fd5c7012c9080] {jit-backend
[c5fd5c7012e1e80] {jit-log-compiling-loop
[i6]
label(i6, descr=TargetToken(-194209652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i6, -5)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<Guard0xf46102cc>) [i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, descr=TargetToken(-194243604))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i5, -5)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<Guard0xf45fb12c>) [i12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, descr=TargetToken(-194243604))
[c5fd5c701335b00] jit-log-compiling-loop}
[c5fd5c701346c00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c701352f00] jit-mem-looptoken-alloc}
[c5fd5c70137e100] jit-backend}
compiled new loop
[c5fd5c70138ba00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-194209652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -5)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf46102cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-194243604))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -5)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf45fb12c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-194243604))
[c5fd5c7013e8e00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c7014d3f80] jit-tracing}
______________________ TestLLtype.test_elidable_raising_2 ______________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf465c5cc>
def test_elidable_raising_2(self):
myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
@elidable
def externfn(x):
if x <= 0:
raise ValueError
return x - 1
def f(n, m):
while n > 0:
myjitdriver.can_enter_jit(n=n, m=m)
myjitdriver.jit_merge_point(n=n, m=m)
try:
n -= externfn(noConst(m))
except ValueError:
n -= 1
return n
res = self.meta_interp(f, [22, 6])
assert res == -3
# the CALL_PURE is constant-folded away by optimizeopt.py
> self.check_resops(call_pure_i=0, call_i=0, int_sub=2)
jit/metainterp/test/test_ajit.py:592:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4559cec>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = None, check = {'call_i': 0, 'call_pure_i': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 0 'int_sub', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [-3, 0, 65, 60] -> 65
bh: int_return [<BHInterp <JitCode 'f'>>, -3] -> LeaveFrame!
~~~ return value: -3
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 17 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 6 -live- ops. Size of liveness is 8 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5c712de5d80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5c712fbab00] {jit-trace-done
trace length: 56
number operations: 10
total snapshots: 3
snapshot data: 36
snapshot array data: 22
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5c712fe7a00] jit-trace-done}
[c5fd5c71301c600] {jit-log-noopt
# Traced loop or bridge with 10 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = same_as_i(6)
i4 = call_pure_i(ConstClass(externfn), i2, descr=CallDescr(<Signed>, (<Signed>,), <EffectInfo 0xf46c54ec: EF=4>))
guard_no_exception()
i5 = int_sub(i0, i4)
i7 = int_gt(i5, 0)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i5, descr=<Loop-1>)
[c5fd5c713099000] jit-log-noopt}
[c5fd5c7130a9000] {jit-optimize
[c5fd5c7130c4380] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -5)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45c482c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c713535480] jit-log-intbounds}
[c5fd5c7135b0580] {jit-log-exported-state
[i8]
INP(i8 = int_add(i9, -5/ci))
PureOp(i10 = int_gt(i8, 0/ci))
[c5fd5c7135c8280] jit-log-exported-state}
[c5fd5c7135d2480] jit-optimize}
[c5fd5c7135e7e00] {jit-optimize
[c5fd5c7136d6680] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -5)
# i3: (-4 <= ? <= MAXINT - 5) IntBound(-4, MAXINT - 5)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf45c43ec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5c713ca4600] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-195251412))
[c5fd5c713ddae80] jit-optimize}
[c5fd5c713de7f80] {jit-log-short-preamble
[]
label(i11)
jump()
[c5fd5c713dfcf80] jit-log-short-preamble}
[c5fd5c713e2e480] {jit-backend
[c5fd5c713e47900] {jit-log-compiling-loop
[i9]
label(i9, descr=TargetToken(-195278420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = int_add(i9, -5)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf45c482c>) [i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, descr=TargetToken(-195251412))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i15 = int_add(i8, -5)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<Guard0xf45c43ec>) [i15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i15, descr=TargetToken(-195251412))
[c5fd5c713e9ed80] jit-log-compiling-loop}
[c5fd5c713eb0300] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5c713ebce00] jit-mem-looptoken-alloc}
[c5fd5c713ee9500] jit-backend}
compiled new loop
[c5fd5c713ef5e00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-195278420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -5)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf45c482c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-195251412))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -5)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf45c43ec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-195251412))
[c5fd5c713f56100] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5c714041100] jit-tracing}
________________ TestLLtype.test_multiple_specialied_versions1 _________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf2481e0c>
def test_multiple_specialied_versions1(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'x', 'res'])
class Base:
def __init__(self, val):
self.val = val
class A(Base):
def binop(self, other):
return A(self.val + other.val)
class B(Base):
def binop(self, other):
return B(self.val * other.val)
def f(x, y):
res = x
while y > 0:
myjitdriver.can_enter_jit(y=y, x=x, res=res)
myjitdriver.jit_merge_point(y=y, x=x, res=res)
res = res.binop(x)
y -= 1
return res
def g(x, y):
a1 = f(A(x), y)
a2 = f(A(x), y)
b1 = f(B(x), y)
b2 = f(B(x), y)
assert a1.val == a2.val
assert b1.val == b2.val
return a1.val + b1.val
res = self.meta_interp(g, [6, 7])
assert res == 6*8 + 6**8
self.check_trace_count(4)
self.check_resops({'guard_class': 2, 'int_gt': 4,
'getfield_gc_i': 4, 'guard_true': 4,
'int_sub': 4, 'jump': 2, 'int_mul': 2,
> 'int_add': 2})
jit/metainterp/test/test_ajit.py:1984:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf242f4ec>
insns = {'getfield_gc_i': 4, 'guard_class': 2, 'guard_true': 4, 'int_add': 6, ...}
expected = {'getfield_gc_i': 4, 'guard_class': 2, 'guard_true': 4, 'int_add': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'getfield_gc..._add': 6, ...} == {'getfield_gc_..._add': 2, ...}
E Omitting 6 identical items, use -v to show
E Differing items:
E {'int_add': 6} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 4}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58
bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame!
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop }>, 'cls_binop')] -> <AddressAsInt * fn B.binop>
bh: live [26] -> 28
bh: int_guard_value [<AddressAsInt * fn B.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf242f88c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf2448b2c: EF=5>)] -> * GCREF hidden
bh: live [39] -> 41
bh: int_sub [7, 1] -> 6
bh: live [46] -> 48
bh: goto_if_not_int_gt [6, 0, 58, 53] -> 53
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [6], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally!
bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58
bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame!
~~~ return value: 1679664
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 21 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 7 -live- ops. Size of liveness is 14 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 1 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5cb41bfd980] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5cb41ee3a80] {jit-trace-done
trace length: 71
number operations: 15
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5cb41f14000] jit-trace-done}
[c5fd5cb41f53580] {jit-log-noopt
# Traced loop or bridge with 13 ops
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_add(i4, i5)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i9 = int_sub(i0, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i9, p1, p7, descr=<Loop-1>)
[c5fd5cb41ffe000] jit-log-noopt}
[c5fd5cb4200e600] {jit-optimize
[c5fd5cb42038600] {jit-log-intbounds
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23daf4c>) [i0, p1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_add(i4, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf23e25cc>) [i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cb42624580] jit-log-intbounds}
[c5fd5cb42712400] {jit-log-exported-state
[i12, r13, r14]
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)))
INP(r13)
HeapOp(i15 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i16 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')))
INP(i12 = int_add(i17, -1/ci))
PureOp(i18 = int_gt(i12, 0/ci))
INP(i19 = int_add(i20, i15))
[c5fd5cb42741080] jit-log-exported-state}
[c5fd5cb4274d380] jit-optimize}
[c5fd5cb42765a00] {jit-optimize
[c5fd5cb428fbc00] {jit-log-intbounds
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, i4)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23e706c>) [i8, p11, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cb43098000] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, p11, i5, i4, descr=TargetToken(-230786964))
[c5fd5cb432f6580] jit-optimize}
[c5fd5cb43304200] {jit-log-short-preamble
[]
label(i21, p22, i23, p24)
guard_nonnull(p22)
guard_is_object(p22)
guard_subclass(p22, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=... }>)
i26 = getfield_gc_i(p22, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
jump(i26)
[c5fd5cb43334b80] jit-log-short-preamble}
[c5fd5cb43379900] {jit-backend
[c5fd5cb43391000] {jit-log-compiling-loop
[i17, p13, p27]
label(i17, p13, p27, descr=TargetToken(-230838324))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf23daf4c>) [i17, p13, p27]
i20 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i19 = int_add(i20, i15)
i12 = int_add(i17, -1)
i18 = int_gt(i12, 0)
guard_true(i18, descr=<Guard0xf23e25cc>) [i17, p13, p27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, p13, i19, i15, descr=TargetToken(-230786964))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i31 = int_add(i19, i15)
i33 = int_add(i12, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf23e706c>) [i33, p13, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i33, p13, i31, i15, descr=TargetToken(-230786964))
[c5fd5cb43412c00] jit-log-compiling-loop}
[c5fd5cb43424d00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5cb43431a80] jit-mem-looptoken-alloc}
[c5fd5cb43471400] jit-backend}
compiled new loop
[c5fd5cb4347e080] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 18 ops
[i0, p1, p2]
label(i0, p1, p2, descr=TargetToken(-230838324))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf23daf4c>) [i0, p1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_add(i4, i5)
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf23e25cc>) [i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, p1, i6, i5, descr=TargetToken(-230786964))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i11 = int_add(i6, i5)
i13 = int_add(i8, -1)
i15 = int_gt(i13, 0)
guard_true(i15, descr=<Guard0xf23e706c>) [i13, p1, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i13, p1, i11, i5, descr=TargetToken(-230786964))
[c5fd5cb43507600] jit-log-opt-loop}
DoneWithThisFrameRef
[c5fd5cb4371d500] jit-tracing}
[c5fd5cb43908e00] {jit-tracing
[c5fd5cb43afc080] {jit-trace-done
trace length: 33
number operations: 9
total snapshots: 1
snapshot data: 12
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cb43b2d380] jit-trace-done}
[c5fd5cb43b42180] {jit-log-noopt
# Traced loop or bridge with 6 ops
[i0, p1, i2]
p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p3, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_gt(i0, 0)
guard_false(i5)
leave_portal_frame(0)
finish(p3, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb43ba2e80] jit-log-noopt}
[c5fd5cb43bb2a80] {jit-optimize
[c5fd5cb43c5de80] {jit-log-intbounds
[i0, p1, i2]
i4 = int_gt(i0, 0)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23eb7ec>) [i0, p1, i2]
leave_portal_frame(0)
p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p6, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p6, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb43fb8700] jit-log-intbounds}
[c5fd5cb43fc2700] jit-optimize}
[c5fd5cb43fd8480] {jit-backend
[c5fd5cb43fe3480] {jit-log-compiling-bridge
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb44013400] jit-log-compiling-bridge}
[c5fd5cb44023a00] {jit-mem-looptoken-alloc
allocating Bridge # 1 of Loop # 1
[c5fd5cb44032400] jit-mem-looptoken-alloc}
[c5fd5cb44050480] jit-backend}
compiled new bridge
[c5fd5cb4405db80] {jit-log-opt-bridge
# bridge out of Guard 0xf23e706c with 6 ops
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb44091d80] jit-log-opt-bridge}
[c5fd5cb4409c180] {jit-log-opt-bridge
# bridge out of Guard 0xf23e706c with 6 ops
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23eb7ec>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb440cf580] jit-log-opt-bridge}
DoneWithThisFrameRef
[c5fd5cb440e0980] jit-tracing}
[c5fd5cb445b0880] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5cb448f3f80] {jit-trace-done
trace length: 73
number operations: 15
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cb44925a80] jit-trace-done}
[c5fd5cb4493c780] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, p1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_mul(i4, i5)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i9 = int_sub(i0, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i9, p1, p7, descr=<Loop1>)
[c5fd5cb449dbc80] jit-log-noopt}
[c5fd5cb449ebc00] {jit-optimize
[c5fd5cb44a9d800] {jit-log-intbounds
[i0, p1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23ee4cc>) [i0, p1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_mul(i4, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf23eeb0c>) [i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cb44ff1c00] jit-log-intbounds}
Retracing (1/5)
[c5fd5cb4518da00] {jit-log-exported-state
[i12, r13, r14]
INP(r13)
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)))
HeapOp(i15 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i16 = getfield_gc_i(r13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')))
INP(i17 = int_mul(i18, i15))
INP(i12 = int_add(i19, -1/ci))
PureOp(i20 = int_gt(i12, 0/ci))
[c5fd5cb451bb080] jit-log-exported-state}
[c5fd5cb451c7400] jit-optimize}
(jitdriver: no get_printable_location)
[c5fd5cb4542eb80] {jit-trace-done
trace length: 121
number operations: 25
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cb4545fa80] jit-trace-done}
[c5fd5cb454a6400] {jit-optimize
[c5fd5cb4562a880] {jit-log-intbounds
[i0, p1, p2]
i5 = int_mul(i3, i4)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23f3d0c>) [i8, p11, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cb45d12380] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, p11, i5, i4, descr=TargetToken(-230718708))
[c5fd5cb45f9ba80] jit-optimize}
[c5fd5cb45fa5c80] {jit-log-short-preamble
[]
label(i21, p22, i23, p24)
guard_nonnull(p22)
guard_is_object(p22)
guard_subclass(p22, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=... }>)
i26 = getfield_gc_i(p22, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
jump(i26)
[c5fd5cb45fd9c80] jit-log-short-preamble}
[c5fd5cb45ffd880] {jit-backend
[c5fd5cb46008a80] {jit-log-compiling-bridge
[i19, p13, p27]
guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27]
i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_mul(i18, i15)
i12 = int_add(i19, -1)
i20 = int_gt(i12, 0)
guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, p13, i17, i15, descr=TargetToken(-230718708))
i31 = int_mul(i17, i15)
i33 = int_add(i12, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i33, p13, i31, i15, descr=TargetToken(-230718708))
[c5fd5cb46073b80] jit-log-compiling-bridge}
[c5fd5cb46086000] {jit-mem-looptoken-alloc
allocating Bridge # 2 of Loop # 1
[c5fd5cb46094b00] jit-mem-looptoken-alloc}
[c5fd5cb460cbb80] jit-backend}
compiled new bridge
[c5fd5cb460dc700] {jit-log-opt-bridge
# bridge out of Guard 0xf23daf4c with 15 ops
[i19, p13, p27]
guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27]
i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_mul(i18, i15)
i12 = int_add(i19, -1)
i20 = int_gt(i12, 0)
guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, p13, i17, i15, descr=TargetToken(-230718708))
i31 = int_mul(i17, i15)
i33 = int_add(i12, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i33, p13, i31, i15, descr=TargetToken(-230718708))
[c5fd5cb46150100] jit-log-opt-bridge}
[c5fd5cb4615ac80] {jit-log-opt-bridge
# bridge out of Guard 0xf23daf4c with 15 ops
[i19, p13, p27]
guard_class(p27, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf23ee4cc>) [i19, p13, p27]
i18 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i15 = getfield_gc_i(p13, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_mul(i18, i15)
i12 = int_add(i19, -1)
i20 = int_gt(i12, 0)
guard_true(i20, descr=<Guard0xf23eeb0c>) [i19, p13, p27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, p13, i17, i15, descr=TargetToken(-230718708))
i31 = int_mul(i17, i15)
i33 = int_add(i12, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf23f3d0c>) [i33, p13, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i33, p13, i31, i15, descr=TargetToken(-230718708))
[c5fd5cb461c8e80] jit-log-opt-bridge}
DoneWithThisFrameRef
[c5fd5cb463da900] jit-tracing}
[c5fd5cb465bca00] {jit-tracing
[c5fd5cb4679d100] {jit-trace-done
trace length: 33
number operations: 9
total snapshots: 1
snapshot data: 12
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cb467cbf80] jit-trace-done}
[c5fd5cb467e1d00] {jit-log-noopt
# Traced loop or bridge with 6 ops
[i0, p1, i2]
p3 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p3, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_gt(i0, 0)
guard_false(i5)
leave_portal_frame(0)
finish(p3, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb46843380] jit-log-noopt}
[c5fd5cb46852d80] {jit-optimize
[c5fd5cb468fe600] {jit-log-intbounds
[i0, p1, i2]
i4 = int_gt(i0, 0)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf23f8a2c>) [i0, p1, i2]
leave_portal_frame(0)
p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p6, i2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p6, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb46c42480] jit-log-intbounds}
[c5fd5cb46c4c680] jit-optimize}
[c5fd5cb46c63000] {jit-backend
[c5fd5cb46c6e380] {jit-log-compiling-bridge
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb46c9eb00] jit-log-compiling-bridge}
[c5fd5cb46cb0480] {jit-mem-looptoken-alloc
allocating Bridge # 3 of Loop # 1
[c5fd5cb46cbf100] jit-mem-looptoken-alloc}
[c5fd5cb46cdd700] jit-backend}
compiled new bridge
[c5fd5cb46ceae00] {jit-log-opt-bridge
# bridge out of Guard 0xf23f3d0c with 6 ops
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb46d20780] jit-log-opt-bridge}
[c5fd5cb46d2d600] {jit-log-opt-bridge
# bridge out of Guard 0xf23f3d0c with 6 ops
[i7, p8, i9]
i11 = int_gt(i7, 0)
guard_false(i11, descr=<Guard0xf23f8a2c>) [i7, p8, i9]
leave_portal_frame(0)
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p13, i9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p13, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf243c02c>)
[c5fd5cb46d61680] jit-log-opt-bridge}
DoneWithThisFrameRef
[c5fd5cb46d73980] jit-tracing}
__________________ TestLLtype.test_multiple_specialied_zigzag __________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xf224578c>
def test_multiple_specialied_zigzag(self):
myjitdriver = JitDriver(greens = [], reds = ['y', 'x', 'res'])
class Base:
def __init__(self, val):
self.val = val
class A(Base):
def binop(self, other):
return A(self.val + other.val)
def switch(self):
return B(self.val)
class B(Base):
def binop(self, other):
return B(self.val * other.val)
def switch(self):
return A(self.val)
def f(x, y):
res = x
while y > 0:
myjitdriver.can_enter_jit(y=y, x=x, res=res)
myjitdriver.jit_merge_point(y=y, x=x, res=res)
if y % 4 == 0:
res = res.switch()
res = res.binop(x)
y -= 1
return res
def g(x, y):
set_param(myjitdriver, 'max_unroll_loops', 5)
a1 = f(A(x), y)
a2 = f(A(x), y)
b1 = f(B(x), y)
b2 = f(B(x), y)
assert a1.val == a2.val
assert b1.val == b2.val
return a1.val + b1.val
res = self.meta_interp(g, [3, 23])
assert res == 7068153
self.check_trace_count(6)
self.check_resops(guard_true=8, guard_class=2, int_mul=3,
> int_add=3, guard_false=4)
jit/metainterp/test/test_ajit.py:2216:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf21ecc2c>
insns = {'debug_merge_point': 6, 'getfield_gc_i': 6, 'guard_class': 2, 'guard_false': 4, ...}
expected = None
check = {'guard_class': 2, 'guard_false': 4, 'guard_true': 8, 'int_add': 3, ...}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 9 'int_add', expected 3
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_is_zero [0, 102, 33] -> 33
bh: live [34] -> 36
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn B.switch>
bh: live [45] -> 47
bh: int_guard_value [<AddressAsInt * fn B.switch>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn A.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [16, 1] -> 15
bh: live [88] -> 90
bh: goto_if_not_int_gt [15, 0, 100, 95] -> 95
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [15], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally!
bh: goto_if_not_int_is_zero [2, 102, 33] -> 102
bh: goto [56] -> 56
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn A.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [14, 1] -> 13
bh: live [88] -> 90
bh: goto_if_not_int_gt [13, 0, 100, 95] -> 95
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [13], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally!
bh: goto_if_not_int_is_zero [0, 102, 33] -> 33
bh: live [34] -> 36
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn A.switch>
bh: live [45] -> 47
bh: int_guard_value [<AddressAsInt * fn A.switch>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn B.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [12, 1] -> 11
bh: live [88] -> 90
bh: goto_if_not_int_gt [11, 0, 100, 95] -> 95
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [11], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally!
bh: goto_if_not_int_is_zero [0, 102, 33] -> 33
bh: live [34] -> 36
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_switch')] -> <AddressAsInt * fn A.switch>
bh: live [45] -> 47
bh: int_guard_value [<AddressAsInt * fn A.switch>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.switch>, [<* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>,), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn B.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [4, 1] -> 3
bh: live [88] -> 90
bh: goto_if_not_int_gt [3, 0, 100, 95] -> 95
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [3], [<* GCREF hidden>, <* GCREF hidden>], []] -> ContinueRunningNormally!
bh: goto_if_not_int_is_zero [1, 102, 33] -> 102
bh: goto [56] -> 56
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn B.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn B.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn B.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [1, 1] -> 0
bh: live [88] -> 90
bh: goto_if_not_int_gt [0, 0, 100, 95] -> 100
bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame!
bh: goto_if_not_int_is_zero [1, 102, 33] -> 102
bh: goto [56] -> 56
bh: live [57] -> 59
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super, cls_binop, cls_switch }>, 'cls_binop')] -> <AddressAsInt * fn A.binop>
bh: live [68] -> 70
bh: int_guard_value [<AddressAsInt * fn A.binop>]
bh: residual_call_r_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf21ec52c>, <AddressAsInt * fn A.binop>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, (<* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, <* GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>), <EffectInfo 0xf21ce06c: EF=5>)] -> * GCREF hidden
bh: live [81] -> 83
bh: int_sub [1, 1] -> 0
bh: live [88] -> 90
bh: goto_if_not_int_gt [0, 0, 100, 95] -> 100
bh: ref_return [<BHInterp <JitCode 'f'>>, <* GCREF hidden>] -> LeaveFrame!
~~~ return value: 7068153
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 33 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 6 JitCode instances.
[jitcodewriter:info] There are 13 -live- ops. Size of liveness is 14 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 3 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 1 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5cbca39af00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5cbca851000] {jit-trace-done
trace length: 100
number operations: 20
total snapshots: 4
snapshot data: 48
snapshot array data: 36
bigint consts: 3 3
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5cbca87ee80] jit-trace-done}
[c5fd5cbca8be280] {jit-log-noopt
# Traced loop or bridge with 18 ops
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i0, 4, descr=CallDescr(<Signed>, (<Signed>, <Signed>), <EffectInfo 0xf50bd64c: EF=0 OS=14>))
i6 = int_is_zero(i5)
guard_true(i6)
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)
i8 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i10 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i11 = int_mul(i8, i10)
p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p12, i11, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i14 = int_sub(i0, 1)
i16 = int_gt(i14, 0)
guard_true(i16)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i14, p1, p12, descr=<Loop-1>)
[c5fd5cbca9a0d80] jit-log-noopt}
[c5fd5cbca9b1300] {jit-optimize
[c5fd5cbca9dad00] {jit-log-intbounds
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_and(i0, 3)
# i4: (0 <= 0b0...0?? <= 3) IntBound(0, 3)
i5 = int_is_zero(i4)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2160e4c>) [i0, i4, p1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2160a2c>) [i0, i4, p1, p2]
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i9 = int_mul(i7, i8)
# i9 -> (?) IntBound.unbounded()
# i0: (0b?...?00 <= MAXINT - 3) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b100))
i11 = int_add(i0, -1)
# i11: (MININT + 3 <= 0b?...?11) IntBound.from_knownbits(r_uint(0b11), r_uint(-0b100))
i13 = int_gt(i11, 0)
guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216538c>) [i0, i4, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbcb49ac00] jit-log-intbounds}
[c5fd5cbcb58d100] {jit-log-exported-state
[i17, r18, r19]
INP(r18)
HeapOp(i20 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i21 = getfield_gc_i(r18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')))
INP(i22 = int_mul(i23, i20))
INP(r19 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)))
INP(i17 = int_add(i24, -1/ci))
PureOp(i25 = int_gt(i17, 0/ci))
[c5fd5cbcb5bce80] jit-log-exported-state}
[c5fd5cbcb5c9c00] jit-optimize}
[c5fd5cbcb5e2c00] {jit-optimize
[c5fd5cbcb778e80] {jit-log-intbounds
[i0, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i3: (3 <= 0b0?...?) IntBound(3, MAXINT)
i5 = int_and(i3, 3)
# i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3)
i6 = int_is_zero(i5)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2165fec>) [i3, i5, p7, i8]
[c5fd5cbcbe41780] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)) was proven to always fail
[c5fd5cbcbe4e480] jit-abort}
[c5fd5cbcbe57500] jit-log-intbounds}
[c5fd5cbcbe60f80] jit-optimize}
cancelled, tracing more...
(jitdriver: no get_printable_location)
[c5fd5cbcc1bc180] {jit-trace-done
trace length: 178
number operations: 34
total snapshots: 8
snapshot data: 96
snapshot array data: 70
bigint consts: 6 6
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbcc1e9c00] jit-trace-done}
[c5fd5cbcc229580] {jit-log-noopt
# Traced loop or bridge with 15 ops
[i26, p27, p28]
i31 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i26, 4, descr=CallDescr(<Signed>, (<Signed>, <Signed>), <EffectInfo 0xf50bd64c: EF=0 OS=14>))
i32 = int_is_zero(i31)
guard_false(i32)
guard_class(p28, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>)
i34 = getfield_gc_i(p28, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i35 = getfield_gc_i(p27, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i36 = int_mul(i34, i35)
p37 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p37, i36, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i39 = int_sub(i26, 1)
i41 = int_gt(i39, 0)
guard_true(i41)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i39, p27, p37, descr=<Loop-1>)
[c5fd5cbcc2eb700] jit-log-noopt}
[c5fd5cbcc2fb500] {jit-optimize
[c5fd5cbcc325e80] {jit-log-intbounds
[i0, p1, p2]
i4 = int_and(i0, 3)
# i4: (0 <= 0b0...0?? <= 3) IntBound(0, 3)
i5 = int_is_zero(i4)
guard_false(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2165f0c>) [i0, i4, p1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2165d8c>) [i0, i4, p1, p2]
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i9 = int_mul(i7, i8)
# i9 -> (?) IntBound.unbounded()
i11 = int_add(i0, -1)
i13 = int_gt(i11, 0)
guard_true(i13, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216502c>) [i0, i4, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbccc77080] jit-log-intbounds}
[c5fd5cbccd5cc80] {jit-log-exported-state
[i42, r43, r44]
INP(i45 = int_mul(i46, i47))
HeapOp(i47 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i48 = getfield_gc_i(r43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')))
INP(i42 = int_add(i49, -1/ci))
PureOp(i50 = int_gt(i42, 0/ci))
INP(r44 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>)))
INP(r43)
[c5fd5cbccd8b480] jit-log-exported-state}
[c5fd5cbccd97980] jit-optimize}
[c5fd5cbccdafb00] {jit-optimize
[c5fd5cbccf2f980] {jit-log-intbounds
[i0, p1, p2]
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
i5 = int_and(i3, 3)
# i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3)
i6 = int_is_zero(i5)
guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf216b86c>) [i3, i5, p7, i8]
i10 = int_mul(i8, i9)
# i10 -> (?) IntBound.unbounded()
i12 = int_add(i3, -1)
# i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216bc4c>) [i3, i5, p7, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbcda5ce80] jit-log-intbounds}
# i12: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i12, p7, i10, i9, descr=TargetToken(-233390324))
[c5fd5cbcdca0600] jit-optimize}
[c5fd5cbcdcad500] {jit-log-short-preamble
[]
label(i51, p52, i53, p54)
guard_nonnull(p52)
guard_is_object(p52)
guard_subclass(p52, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=..., cls_switch=... }>)
i56 = getfield_gc_i(p52, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
jump(i56)
[c5fd5cbcdce0180] jit-log-short-preamble}
[c5fd5cbcdd2c080] {jit-backend
[c5fd5cbcdd45e80] {jit-log-compiling-loop
[i49, p43, p57]
label(i49, p43, p57, descr=TargetToken(-233414676))
i59 = int_and(i49, 3)
i60 = int_is_zero(i59)
guard_false(i60, descr=<Guard0xf2165f0c>) [i49, i59, p43, p57]
guard_class(p57, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf2165d8c>) [i49, i59, p43, p57]
i46 = getfield_gc_i(p57, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i47 = getfield_gc_i(p43, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i45 = int_mul(i46, i47)
i42 = int_add(i49, -1)
i50 = int_gt(i42, 0)
guard_true(i50, descr=<Guard0xf216502c>) [i49, i59, p43, p57]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i42, p43, i45, i47, descr=TargetToken(-233390324))
i65 = int_and(i42, 3)
i66 = int_is_zero(i65)
guard_false(i66, descr=<Guard0xf216b86c>) [i42, i65, p43, i45]
i67 = int_mul(i45, i47)
i69 = int_add(i42, -1)
i71 = int_gt(i69, 0)
guard_true(i71, descr=<Guard0xf216bc4c>) [i42, i65, p43, i45]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i69, p43, i67, i47, descr=TargetToken(-233390324))
[c5fd5cbcdde7280] jit-log-compiling-loop}
[c5fd5cbcddf9980] {jit-mem-looptoken-alloc
allocating Loop # 2
[c5fd5cbcde06480] jit-mem-looptoken-alloc}
[c5fd5cbcde5a080] jit-backend}
compiled new loop
[c5fd5cbcde67d00] {jit-log-opt-loop
# Loop 2 ((jitdriver: no get_printable_location)) : loop with 22 ops
[i0, p1, p2]
label(i0, p1, p2, descr=TargetToken(-233414676))
i4 = int_and(i0, 3)
i5 = int_is_zero(i4)
guard_false(i5, descr=<Guard0xf2165f0c>) [i0, i4, p1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.B_vtable { super=... }>, descr=<Guard0xf2165d8c>) [i0, i4, p1, p2]
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i9 = int_mul(i7, i8)
i11 = int_add(i0, -1)
i13 = int_gt(i11, 0)
guard_true(i13, descr=<Guard0xf216502c>) [i0, i4, p1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i11, p1, i9, i8, descr=TargetToken(-233390324))
i15 = int_and(i11, 3)
i16 = int_is_zero(i15)
guard_false(i16, descr=<Guard0xf216b86c>) [i11, i15, p1, i9]
i17 = int_mul(i9, i8)
i19 = int_add(i11, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf216bc4c>) [i11, i15, p1, i9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i19, p1, i17, i8, descr=TargetToken(-233390324))
[c5fd5cbcdf17780] jit-log-opt-loop}
ContinueRunningNormally
[c5fd5cbce3bfc00] jit-tracing}
[c5fd5cbceeb1a00] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5cbcf3b6c00] {jit-trace-done
trace length: 90
number operations: 20
total snapshots: 3
snapshot data: 36
snapshot array data: 28
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbcf3e5080] jit-trace-done}
[c5fd5cbcf3fbd80] {jit-log-noopt
# Traced loop or bridge with 16 ops
[i0, i1, p2, i3]
p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_is_zero(i1)
guard_true(i5)
p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p6, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = int_add(i3, i7)
p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i11 = int_sub(i0, 1)
i13 = int_gt(i11, 0)
guard_true(i13)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i11, p2, p9, descr=<Loop2>)
[c5fd5cbcf4bd580] jit-log-noopt}
[c5fd5cbcf4cd780] {jit-optimize
[c5fd5cbcf591000] {jit-log-intbounds
[i0, i1, p2, i3]
i4 = int_is_zero(i1)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2160ecc>) [i0, i1, p2, i3]
i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_add(i3, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf217376c>) [i0, i1, p2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbcfc2cc80] jit-log-intbounds}
Retracing (1/5)
[c5fd5cbcfdbd880] {jit-log-exported-state
[i14, r15, r16]
INP(i17 = int_add(i18, i19))
PureOp(i20 = int_gt(i14, 0/ci))
INP(r15)
INP(r16 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>)))
INP(i14 = int_add(i21, -1/ci))
HeapOp(i19 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')), i22 = getfield_gc_i(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val')))
[c5fd5cbcfde9e00] jit-log-exported-state}
[c5fd5cbcfdf5d00] jit-optimize}
(jitdriver: no get_printable_location)
[c5fd5cbd0139680] {jit-trace-done
trace length: 157
number operations: 33
total snapshots: 7
snapshot data: 84
snapshot array data: 62
bigint consts: 3 3
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbd0166e80] jit-trace-done}
[c5fd5cbd01ada00] {jit-optimize
[c5fd5cbd0332280] {jit-log-intbounds
[i0, p1, p2]
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
i5 = int_and(i3, 3)
# i5: (0 <= 0b0...0?? <= 3) IntBound(0, 3)
i6 = int_is_zero(i5)
guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf217948c>) [i3, i5, p7, i8]
i10 = int_add(i8, i9)
# i10 -> (?) IntBound.unbounded()
i12 = int_add(i3, -1)
# i12: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf217986c>) [i3, i5, p7, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbd0e61c80] jit-log-intbounds}
# i12: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i12, p7, i10, i9, descr=TargetToken(-233333844))
[c5fd5cbd10d2100] jit-optimize}
[c5fd5cbd10dc100] {jit-log-short-preamble
[]
label(i23, p24, i25, p26)
guard_nonnull(p24)
guard_is_object(p24)
guard_subclass(p24, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.Base_vtable { super=..., cls_binop=..., cls_switch=... }>)
i28 = getfield_gc_i(p24, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
jump(i28)
[c5fd5cbd110ee00] jit-log-short-preamble}
[c5fd5cbd1138000] {jit-backend
[c5fd5cbd1143980] {jit-log-compiling-bridge
[i21, i29, p15, i18]
i30 = int_is_zero(i29)
guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18]
i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_add(i18, i19)
i14 = int_add(i21, -1)
i20 = int_gt(i14, 0)
guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i14, p15, i17, i19, descr=TargetToken(-233333844))
i34 = int_and(i14, 3)
i35 = int_is_zero(i34)
guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17]
i36 = int_add(i17, i19)
i38 = int_add(i14, -1)
i40 = int_gt(i38, 0)
guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i38, p15, i36, i19, descr=TargetToken(-233333844))
[c5fd5cbd11c8080] jit-log-compiling-bridge}
[c5fd5cbd11dbf00] {jit-mem-looptoken-alloc
allocating Bridge # 1 of Loop # 2
[c5fd5cbd11eb900] jit-mem-looptoken-alloc}
[c5fd5cbd122c200] jit-backend}
compiled new bridge
[c5fd5cbd123aa80] {jit-log-opt-bridge
# bridge out of Guard 0xf216b86c with 18 ops
[i21, i29, p15, i18]
i30 = int_is_zero(i29)
guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18]
i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_add(i18, i19)
i14 = int_add(i21, -1)
i20 = int_gt(i14, 0)
guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i14, p15, i17, i19, descr=TargetToken(-233333844))
i34 = int_and(i14, 3)
i35 = int_is_zero(i34)
guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17]
i36 = int_add(i17, i19)
i38 = int_add(i14, -1)
i40 = int_gt(i38, 0)
guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i38, p15, i36, i19, descr=TargetToken(-233333844))
[c5fd5cbd12c1900] jit-log-opt-bridge}
[c5fd5cbd12cca80] {jit-log-opt-bridge
# bridge out of Guard 0xf216b86c with 18 ops
[i21, i29, p15, i18]
i30 = int_is_zero(i29)
guard_true(i30, descr=<Guard0xf2160ecc>) [i21, i29, p15, i18]
i19 = getfield_gc_i(p15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i17 = int_add(i18, i19)
i14 = int_add(i21, -1)
i20 = int_gt(i14, 0)
guard_true(i20, descr=<Guard0xf217376c>) [i21, i29, p15, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i14, p15, i17, i19, descr=TargetToken(-233333844))
i34 = int_and(i14, 3)
i35 = int_is_zero(i34)
guard_false(i35, descr=<Guard0xf217948c>) [i14, i34, p15, i17]
i36 = int_add(i17, i19)
i38 = int_add(i14, -1)
i40 = int_gt(i38, 0)
guard_true(i40, descr=<Guard0xf217986c>) [i14, i34, p15, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i38, p15, i36, i19, descr=TargetToken(-233333844))
[c5fd5cbd134db00] jit-log-opt-bridge}
[c5fd5cbd13e0880] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5cbd17c5a00] {jit-trace-done
trace length: 82
number operations: 18
total snapshots: 4
snapshot data: 48
snapshot array data: 36
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbd17f5980] jit-trace-done}
[c5fd5cbd180bb00] {jit-log-noopt
# Traced loop or bridge with 14 ops
[i0, i1, p2, p3]
i4 = int_is_zero(i1)
guard_false(i4)
guard_class(p3, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>)
i6 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = int_add(i6, i7)
p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i11 = int_sub(i0, 1)
i13 = int_gt(i11, 0)
guard_true(i13)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i11, p2, p9, descr=<Loop2>)
[c5fd5cbd18e4580] jit-log-noopt}
[c5fd5cbd18f4380] {jit-optimize
[c5fd5cbd19b5300] {jit-log-intbounds
[i0, i1, p2, p3]
i4 = int_is_zero(i1)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf217916c>) [i0, i1, p2, p3]
guard_class(p3, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf21791cc>) [i0, i1, p2, p3]
i6 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = int_add(i6, i7)
# i8 -> (?) IntBound.unbounded()
i10 = int_add(i0, -1)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf216b80c>) [i0, i1, p2, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbd21bb300] jit-log-intbounds}
# i10: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i10, p2, i8, i7, descr=TargetToken(-233333844))
[c5fd5cbd2375300] jit-optimize}
[c5fd5cbd2396280] {jit-backend
[c5fd5cbd23a1a00] {jit-log-compiling-bridge
[i14, i15, p16, p17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17]
guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17]
i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i22 = int_add(i20, i21)
i24 = int_add(i14, -1)
i26 = int_gt(i24, 0)
guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i24, p16, i22, i21, descr=TargetToken(-233333844))
[c5fd5cbd23fea00] jit-log-compiling-bridge}
[c5fd5cbd2411100] {jit-mem-looptoken-alloc
allocating Bridge # 2 of Loop # 2
[c5fd5cbd2420380] jit-mem-looptoken-alloc}
[c5fd5cbd244f700] jit-backend}
compiled new bridge
[c5fd5cbd245d780] {jit-log-opt-bridge
# bridge out of Guard 0xf2165d8c with 11 ops
[i14, i15, p16, p17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17]
guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17]
i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i22 = int_add(i20, i21)
i24 = int_add(i14, -1)
i26 = int_gt(i24, 0)
guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i24, p16, i22, i21, descr=TargetToken(-233333844))
[c5fd5cbd24ba280] jit-log-opt-bridge}
[c5fd5cbd24c7700] {jit-log-opt-bridge
# bridge out of Guard 0xf2165d8c with 11 ops
[i14, i15, p16, p17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf217916c>) [i14, i15, p16, p17]
guard_class(p17, <AddressAsInt * struct rpython.jit.metainterp.test.test_ajit.A_vtable { super=... }>, descr=<Guard0xf21791cc>) [i14, i15, p16, p17]
i20 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i21 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i22 = int_add(i20, i21)
i24 = int_add(i14, -1)
i26 = int_gt(i24, 0)
guard_true(i26, descr=<Guard0xf216b80c>) [i14, i15, p16, p17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i24, p16, i22, i21, descr=TargetToken(-233333844))
[c5fd5cbd2523c00] jit-log-opt-bridge}
ContinueRunningNormally
[c5fd5cbd29aa080] jit-tracing}
ContinueRunningNormally
[c5fd5cbd29bac80] jit-tracing}
[c5fd5cbd2ff9a80] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd5cbd34da300] {jit-trace-done
trace length: 90
number operations: 20
total snapshots: 3
snapshot data: 36
snapshot array data: 28
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbd3508380] jit-trace-done}
[c5fd5cbd351ee80] {jit-log-noopt
# Traced loop or bridge with 16 ops
[i0, i1, p2, i3]
p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_is_zero(i1)
guard_true(i5)
p6 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p6, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i8 = int_mul(i3, i7)
p9 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p9, i8, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i11 = int_sub(i0, 1)
i13 = int_gt(i11, 0)
guard_true(i13)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i11, p2, p9, descr=<Loop2>)
[c5fd5cbd35e1000] jit-log-noopt}
[c5fd5cbd35f4700] {jit-optimize
[c5fd5cbd36b6400] {jit-log-intbounds
[i0, i1, p2, i3]
i4 = int_is_zero(i1)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218380c>) [i0, i1, p2, i3]
i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_mul(i3, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2183e2c>) [i0, i1, p2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5cbd3cf8500] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, p2, i6, i5, descr=TargetToken(-233390324))
[c5fd5cbd3e98d00] jit-optimize}
[c5fd5cbd3eb5a00] {jit-backend
[c5fd5cbd3ec0f80] {jit-log-compiling-bridge
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i22, p16, i20, i19, descr=TargetToken(-233390324))
[c5fd5cbd3f09f80] jit-log-compiling-bridge}
[c5fd5cbd3f1bf00] {jit-mem-looptoken-alloc
allocating Bridge # 3 of Loop # 2
[c5fd5cbd3f2ab00] jit-mem-looptoken-alloc}
[c5fd5cbd3f51e00] jit-backend}
compiled new bridge
[c5fd5cbd3f5fc80] {jit-log-opt-bridge
# bridge out of Guard 0xf217948c with 9 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i22, p16, i20, i19, descr=TargetToken(-233390324))
[c5fd5cbd3faea00] jit-log-opt-bridge}
[c5fd5cbd3fb9600] {jit-log-opt-bridge
# bridge out of Guard 0xf217948c with 9 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_true(i18, descr=<Guard0xf218380c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_true(i24, descr=<Guard0xf2183e2c>) [i14, i15, p16, i17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i22, p16, i20, i19, descr=TargetToken(-233390324))
[c5fd5cbd4003580] jit-log-opt-bridge}
[c5fd5cbd425e600] {jit-tracing
[c5fd5cbd4606700] {jit-trace-done
trace length: 67
number operations: 17
total snapshots: 2
snapshot data: 24
snapshot array data: 20
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbd4635f00] jit-trace-done}
[c5fd5cbd464c000] {jit-log-noopt
# Traced loop or bridge with 13 ops
[i0, i1, p2, i3]
p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_is_zero(i1)
guard_false(i5)
i6 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = int_mul(i3, i6)
p8 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p8, i7, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i10 = int_sub(i0, 1)
i12 = int_gt(i10, 0)
guard_false(i12)
leave_portal_frame(0)
finish(p8, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd46f1480] jit-log-noopt}
[c5fd5cbd4701680] {jit-optimize
[c5fd5cbd47edc00] {jit-log-intbounds
[i0, i1, p2, i3]
i4 = int_is_zero(i1)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218348c>) [i0, i1, p2, i3]
i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_mul(i3, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_false(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2173eac>) [i0, i1, p2, i3]
leave_portal_frame(0)
p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p12, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p12, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd4e80200] jit-log-intbounds}
[c5fd5cbd4e8ab80] jit-optimize}
[c5fd5cbd4ea8800] {jit-backend
[c5fd5cbd4eb6700] {jit-log-compiling-bridge
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd4f08380] jit-log-compiling-bridge}
[c5fd5cbd4f1aa80] {jit-mem-looptoken-alloc
allocating Bridge # 4 of Loop # 2
[c5fd5cbd4f29c80] jit-mem-looptoken-alloc}
[c5fd5cbd4f56980] jit-backend}
compiled new bridge
[c5fd5cbd4f64a00] {jit-log-opt-bridge
# bridge out of Guard 0xf216bc4c with 11 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd4fb6680] jit-log-opt-bridge}
[c5fd5cbd4fc1000] {jit-log-opt-bridge
# bridge out of Guard 0xf216bc4c with 11 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218348c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_mul(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf2173eac>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.B { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd5011b80] jit-log-opt-bridge}
DoneWithThisFrameRef
[c5fd5cbd5025a00] jit-tracing}
DoneWithThisFrameRef
[c5fd5cbd5034600] jit-tracing}
[c5fd5cbd598ea80] {jit-tracing
[c5fd5cbd5d3b180] {jit-trace-done
trace length: 67
number operations: 17
total snapshots: 2
snapshot data: 24
snapshot array data: 20
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5cbd5d6a700] jit-trace-done}
[c5fd5cbd5d80500] {jit-log-noopt
# Traced loop or bridge with 13 ops
[i0, i1, p2, i3]
p4 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p4, i3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i5 = int_is_zero(i1)
guard_false(i5)
i6 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i7 = int_add(i3, i6)
p8 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p8, i7, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i10 = int_sub(i0, 1)
i12 = int_gt(i10, 0)
guard_false(i12)
leave_portal_frame(0)
finish(p8, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd5e25200] jit-log-noopt}
[c5fd5cbd5e34b80] {jit-optimize
[c5fd5cbd5ef3e80] {jit-log-intbounds
[i0, i1, p2, i3]
i4 = int_is_zero(i1)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf218de8c>) [i0, i1, p2, i3]
i5 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i6 = int_add(i3, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_false(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf21104cc>) [i0, i1, p2, i3]
leave_portal_frame(0)
p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p12, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p12, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd65ce900] jit-log-intbounds}
[c5fd5cbd65d9280] jit-optimize}
[c5fd5cbd65f6b80] {jit-backend
[c5fd5cbd6602100] {jit-log-compiling-bridge
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_add(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd6652a00] jit-log-compiling-bridge}
[c5fd5cbd6664b00] {jit-mem-looptoken-alloc
allocating Bridge # 5 of Loop # 2
[c5fd5cbd6673700] jit-mem-looptoken-alloc}
[c5fd5cbd66a0c00] jit-backend}
compiled new bridge
[c5fd5cbd66aea80] {jit-log-opt-bridge
# bridge out of Guard 0xf217986c with 11 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_add(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd66ff580] jit-log-opt-bridge}
[c5fd5cbd670b100] {jit-log-opt-bridge
# bridge out of Guard 0xf217986c with 11 ops
[i14, i15, p16, i17]
i18 = int_is_zero(i15)
guard_false(i18, descr=<Guard0xf218de8c>) [i14, i15, p16, i17]
i19 = getfield_gc_i(p16, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
i20 = int_add(i17, i19)
i22 = int_add(i14, -1)
i24 = int_gt(i22, 0)
guard_false(i24, descr=<Guard0xf21104cc>) [i14, i15, p16, i17]
leave_portal_frame(0)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.A { super }>))
setfield_gc(p26, i20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.Base { super, inst_val }>, 'inst_val'))
finish(p26, descr=<rpython.jit.metainterp.compile.DoneWithThisFrameDescrRef object at 0xf21bc5cc>)
[c5fd5cbd675b280] jit-log-opt-bridge}
DoneWithThisFrameRef
[c5fd5cbd676ee80] jit-tracing}
____________________ TestLLtype.test_reuse_elidable_result _____________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef7b5fac>
def test_reuse_elidable_result(self):
driver = JitDriver(reds=['n', 's'], greens = [])
def main(n):
s = 0
while n > 0:
driver.jit_merge_point(s=s, n=n)
s += len(str(n)) + len(str(n))
n -= 1
return s
res = self.meta_interp(main, [10])
assert res == main(10)
self.check_resops({'int_gt': 2, 'strlen': 2, 'guard_true': 2,
'int_sub': 2, 'jump': 1, 'call_r': 2,
> 'guard_no_exception': 2, 'int_add': 4})
jit/metainterp/test/test_ajit.py:3737:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xef78dd2c>
insns = {'call_r': 2, 'guard_no_exception': 2, 'guard_true': 2, 'int_add': 6, ...}
expected = {'call_r': 2, 'guard_no_exception': 2, 'guard_true': 2, 'int_add': 4, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'call_r': 2,..._add': 6, ...} == {'call_r': 2, ..._add': 4, ...}
E Omitting 6 identical items, use -v to show
E Differing items:
E {'int_add': 6} != {'int_add': 4}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: live [25] -> 27
bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <JitCode 'll_strlen__rpy_stringPtr'>, [<* GCREF hidden>]] -> 1
bh: live [34] -> 36
bh: residual_call_ir_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>)] -> * GCREF hidden
bh: live [45] -> 47
bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xef78d5ac>, <JitCode 'll_strlen__rpy_stringPtr'>, [<* GCREF hidden>]] -> 1
bh: live [54] -> 56
bh: int_add [1, 1] -> 2
bh: int_add [20, 2] -> 22
bh: int_sub [1, 1] -> 0
bh: live [69] -> 71
bh: goto_if_not_int_gt [0, 0, 79, 76] -> 79
bh: int_return [<BHInterp <JitCode 'main'>>, 22] -> LeaveFrame!
~~~ return value: 22
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 35 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 7 -live- ops. Size of liveness is 22 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5d19b478980] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d19bb9e900] {jit-trace-done
trace length: 78
number operations: 16
total snapshots: 4
snapshot data: 48
snapshot array data: 32
bigint consts: 4 4
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d19bbce680] jit-trace-done}
[c5fd5d19bc07880] {jit-log-noopt
# Traced loop or bridge with 15 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception()
i4 = strlen(p3)
p6 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception()
i7 = strlen(p6)
i8 = int_add(i4, i7)
i9 = int_add(i1, i8)
i11 = int_sub(i0, 1)
i13 = int_gt(i11, 0)
guard_true(i13)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i11, i9, descr=<Loop-1>)
[c5fd5d19bcc0b80] jit-log-noopt}
[c5fd5d19bcd1900] {jit-optimize
[c5fd5d19bcf5f80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xef747d2c>) [i0, i1, p3]
i4 = strlen(p3)
# i4 -> (0 <= 0b0?...?) IntBound.nonnegative()
i5 = int_add(i4, i4)
# i5 -> (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10))
i6 = int_add(i1, i5)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xef74b4ac>) [i0, i1, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d19c4d6500] jit-log-intbounds}
[c5fd5d19c593280] {jit-log-exported-state
[i14, i15]
INP(i15 = int_add(i16, i17))
PureOp(i18 = int_gt(i14, 0/ci))
INP(i14 = int_add(i19, -1/ci))
[c5fd5d19c5b1a80] jit-log-exported-state}
[c5fd5d19c5bde00] jit-optimize}
[c5fd5d19c5d7200] {jit-optimize
[c5fd5d19c751d00] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
p4 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i2, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xef74b98c>) [i2, i5, p4]
i6 = strlen(p4)
# i6 -> (0 <= 0b0?...?) IntBound.nonnegative()
i7 = int_add(i6, i6)
# i7 -> (0b?...?0 <= MAXINT - 1) IntBound.from_knownbits(r_uint(0b0), r_uint(-0b10))
i8 = int_add(i5, i7)
# i8 -> (?) IntBound.unbounded()
i10 = int_add(i2, -1)
# i10: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xef74bfec>) [i2, i5, p4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d19d0fd080] jit-log-intbounds}
# i10: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i10, i8, descr=TargetToken(-278064308))
[c5fd5d19d29a380] jit-optimize}
[c5fd5d19d2a7a80] {jit-log-short-preamble
[]
label(i20, i21)
jump()
[c5fd5d19d2be200] jit-log-short-preamble}
[c5fd5d19d30a680] {jit-backend
[c5fd5d19d322580] {jit-log-compiling-loop
[i19, i16]
label(i19, i16, descr=TargetToken(-277580052))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p23 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i19, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<Guard0xef747d2c>) [i19, i16, p23]
i24 = strlen(p23)
i17 = int_add(i24, i24)
i15 = int_add(i16, i17)
i14 = int_add(i19, -1)
i18 = int_gt(i14, 0)
guard_true(i18, descr=<Guard0xef74b4ac>) [i19, i16, p23]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i14, i15, descr=TargetToken(-278064308))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p28 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i14, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<Guard0xef74b98c>) [i14, i15, p28]
i29 = strlen(p28)
i30 = int_add(i29, i29)
i31 = int_add(i15, i30)
i33 = int_add(i14, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xef74bfec>) [i14, i15, p28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i33, i31, descr=TargetToken(-278064308))
[c5fd5d19d3c1480] jit-log-compiling-loop}
[c5fd5d19d3d6c00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d19d3e3180] jit-mem-looptoken-alloc}
[c5fd5d19d42af80] jit-backend}
compiled new loop
[c5fd5d19d437b00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 23 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-277580052))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<Guard0xef747d2c>) [i0, i1, p3]
i4 = strlen(p3)
i5 = int_add(i4, i4)
i6 = int_add(i1, i5)
i8 = int_add(i0, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xef74b4ac>) [i0, i1, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i6, descr=TargetToken(-278064308))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p12 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i8, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf5028a2c: EF=3>))
guard_no_exception(descr=<Guard0xef74b98c>) [i8, i6, p12]
i13 = strlen(p12)
i14 = int_add(i13, i13)
i15 = int_add(i6, i14)
i17 = int_add(i8, -1)
i19 = int_gt(i17, 0)
guard_true(i19, descr=<Guard0xef74bfec>) [i8, i6, p12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i17, i15, descr=TargetToken(-278064308))
[c5fd5d19d4e3d00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d19e7a4380] jit-tracing}
__________________ TestLLtype.test_virtual_dict_constant_keys __________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef127b0c>
def test_virtual_dict_constant_keys(self):
myjitdriver = JitDriver(greens = [], reds = ["n"])
def g(d):
return d["key"] - 1
def f(n):
while n > 0:
myjitdriver.jit_merge_point(n=n)
x = {"key": n}
n = g(x)
del x["key"]
return n
res = self.meta_interp(f, [10])
assert res == 0
self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2,
> 'int_sub': 2})
jit/metainterp/test/test_ajit.py:3894:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xeef5064c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 60, 57] -> 60
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 703 blocks (14%)
[rtyper] specializing: 200 / 717 blocks (27%)
[rtyper] specializing: 300 / 717 blocks (41%)
[rtyper] specializing: 400 / 719 blocks (55%)
[rtyper] specializing: 500 / 719 blocks (69%)
[rtyper] specializing: 600 / 719 blocks (83%)
[rtyper] specializing: 700 / 719 blocks (97%)
[rtyper] -=- specialized 719 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 0 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:582)ll_call_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed at 0xef025eec>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UCHARLlT at 0xef06bc6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_USHORTLlT at 0xef06f2cc>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UnsignedLlT at 0xef0b49ec>; should have be removed
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UCHARLlT at 0xef1487cc>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0xef09ee4c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_USHORTLlT at 0xef2aef4c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UnsignedLlT at 0xef2a4d0c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v7594___simple_call__function_ at 0xef37dd8c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xef35214c>; should have be removed
[jitcodewriter:info] There are 59 JitCode instances.
[jitcodewriter:info] There are 168 -live- ops. Size of liveness is 152 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 22 effectinfos:
[jitcodewriter] 4 descrs for arrays
[jitcodewriter] 14 descrs for fields
[jitcodewriter] 2 descrs for interiorfields
[jitcodewriter] -> 17 bitstrings, mean length 1.0, max length 2
[c5fd5d2bfbd4600] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5d2bfdd3780] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d2bfde1e00] jit-tco}
[c5fd5d2bfe76580] {jit-tco
removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed
[c5fd5d2bfe84200] jit-tco}
[c5fd5d2bfeacc00] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d2bfeb9b80] jit-tco}
[c5fd5d2bff1bf80] {jit-tco
removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr
[c5fd5d2bff29680] jit-tco}
[c5fd5d2c0040580] {jit-tco
removed frame ll_call_lookup_function__v7565___simple_call__function_
[c5fd5d2c0051500] jit-tco}
[c5fd5d2c0079180] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d2c0086100] jit-tco}
[c5fd5d2c02ba200] {jit-tco
removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d2c02c8880] jit-tco}
[c5fd5d2c02f0900] {jit-tco
removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed
[c5fd5d2c02fd880] jit-tco}
[c5fd5d2c0390580] {jit-tco
removed frame ll_dict_grow_look_inside_iff__dicttablePtr
[c5fd5d2c039f600] jit-tco}
[c5fd5d2c0885080] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d2c0893900] jit-tco}
[c5fd5d2c0919b80] {jit-tco
removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr
[c5fd5d2c0927080] jit-tco}
[c5fd5d2c094e700] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d2c095b000] jit-tco}
[c5fd5d2c0997d00] {jit-tco
removed frame ll_call_lookup_function__v7565___simple_call__function_
[c5fd5d2c09a4a80] jit-tco}
[c5fd5d2c09cb500] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d2c09d9600] jit-tco}
[c5fd5d2c0c5fb80] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d2c0c6e000] jit-tco}
[c5fd5d2c0cf2b00] {jit-tco
removed frame ll_dict_delitem__dicttablePtr_rpy_stringPtr
[c5fd5d2c0d00200] jit-tco}
[c5fd5d2c0d29c00] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d2c0d36b80] jit-tco}
[c5fd5d2c0d75d00] {jit-tco
removed frame ll_call_lookup_function__v7565___simple_call__function_
[c5fd5d2c0d83180] jit-tco}
[c5fd5d2c0dac980] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d2c0db9900] jit-tco}
[c5fd5d2c0f17a80] {jit-tco
removed frame ll_dict_delitem_with_hash__dicttablePtr_rpy_stringPtr_Signed
[c5fd5d2c0f25900] jit-tco}
[c5fd5d2c0f4d000] {jit-tco
removed frame _ll_dict_del_look_inside_iff__dicttablePtr_Signed_Signed
[c5fd5d2c0f59f00] jit-tco}
[c5fd5d2c0fa3a80] {jit-tco
removed frame ll_call_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed
[c5fd5d2c0fb1580] jit-tco}
[c5fd5d2c1006300] {jit-tco
removed frame ll_dict_delete_by_entry_index__dicttablePtr_Signed_Signed_Signed_UCHARLlT
[c5fd5d2c1013800] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5d2c13b1080] {jit-trace-done
trace length: 386
number operations: 66
total snapshots: 6
snapshot data: 64
snapshot array data: 72
bigint consts: 3 3
float consts: 0 0
ref consts: 13 8 4
descrs: 1
[c5fd5d2c13e0200] jit-trace-done}
[c5fd5d2c1410200] {jit-log-noopt
# Traced loop or bridge with 66 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>))
setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
p7 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p7, ConstPtr(ptr8), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i10 = same_as_i(9)
p12 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
setfield_gc(p1, p12, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
i16 = same_as_i(14)
i18 = getarrayitem_gc_i(p12, 6, descr=ArrayDescr(<GcArray of UCHAR >))
i20 = int_ge(i18, 2)
guard_false(i20)
i22 = int_eq(i18, 1)
guard_false(i22)
setarrayitem_gc(p12, 6, 2, descr=ArrayDescr(<GcArray of UCHAR >))
i26 = same_as_i(21)
p28 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >))
call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr30), p28, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xef35488c: EF=2 OS=1>))
setfield_gc(p1, p28, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
p35 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p35, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p35, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setinteriorfield_gc(p28, 0, ConstPtr(ptr38), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key'))
setinteriorfield_gc(p28, 0, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
p42 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p42, ConstPtr(ptr43), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i45 = same_as_i(35)
i47 = same_as_i(36)
p48 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p48, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p48, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
p50 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p50, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p50, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
i53 = int_sub(i0, 1)
p54 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p54, ConstPtr(ptr55), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i57 = same_as_i(46)
i59 = same_as_i(47)
p60 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p60, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p60, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
i63 = same_as_i(51)
i65 = same_as_i(52)
setarrayitem_gc(p12, 6, 1, descr=ArrayDescr(<GcArray of UCHAR >))
p68 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p68, p28, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p68, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setinteriorfield_gc(p28, 0, ConstPtr(ptr71), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
i76 = int_gt(i53, 0)
guard_true(i76)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i53, descr=<Loop-1>)
[c5fd5d2c170bc80] jit-log-noopt}
[c5fd5d2c171ef80] {jit-optimize
[c5fd5d2c173cd80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xef3a05ec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d2c1e0cc00] jit-log-intbounds}
[c5fd5d2c1e91380] {jit-log-exported-state
[i77]
PureOp(i78 = int_gt(i77, 0/ci))
INP(i77 = int_add(i79, -1/ci))
[c5fd5d2c1eaa780] jit-log-exported-state}
[c5fd5d2c1eb6300] jit-optimize}
[c5fd5d2c1ecea00] {jit-optimize
[c5fd5d2c1fe7d80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xef390eec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d2c27f3100] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-281473620))
[c5fd5d2c291e800] jit-optimize}
[c5fd5d2c292bd00] {jit-log-short-preamble
[]
label(i80)
jump()
[c5fd5d2c2940900] jit-log-short-preamble}
[c5fd5d2c296fc80] {jit-backend
[c5fd5d2c2986c00] {jit-log-compiling-loop
[i79]
label(i79, descr=TargetToken(-281418420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i77 = int_add(i79, -1)
i78 = int_gt(i77, 0)
guard_true(i78, descr=<Guard0xef3a05ec>) [i77]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i77, descr=TargetToken(-281473620))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i84 = int_add(i77, -1)
i86 = int_gt(i84, 0)
guard_true(i86, descr=<Guard0xef390eec>) [i84]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i84, descr=TargetToken(-281473620))
[c5fd5d2c29db580] jit-log-compiling-loop}
[c5fd5d2c29ed080] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d2c29f9400] jit-mem-looptoken-alloc}
[c5fd5d2c2a25700] jit-backend}
compiled new loop
[c5fd5d2c2a32200] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-281418420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xef3a05ec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-281473620))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xef390eec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-281473620))
[c5fd5d2c2a8e680] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d2c2becc00] jit-tracing}
______________________ TestLLtype.test_virtual_opaque_ptr ______________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xef3fcb0c>
def test_virtual_opaque_ptr(self):
myjitdriver = JitDriver(greens = [], reds = ["n"])
erase, unerase = rerased.new_erasing_pair("x")
@look_inside_iff(lambda x: isvirtual(x))
def g(x):
return x[0]
def f(n):
while n > 0:
myjitdriver.jit_merge_point(n=n)
x = []
y = erase(x)
z = unerase(y)
z.append(1)
n -= g(z)
return n
res = self.meta_interp(f, [10])
assert res == 0
self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2,
> 'int_sub': 2})
jit/metainterp/test/test_ajit.py:3914:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xef3a280c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 60, 57] -> 60
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 115 blocks (86%)
[rtyper] -=- specialized 115 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:690)ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed at 0xeeb1a58c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really__v7853___simple_call__function_ at 0xeeea33cc>; should have be removed
[jitcodewriter:info] There are 14 JitCode instances.
[jitcodewriter:info] There are 27 -live- ops. Size of liveness is 45 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 3 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5d2dd4b3300] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5d2dd669700] {jit-tco
removed frame _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool
[c5fd5d2dd677700] jit-tco}
[c5fd5d2dd80f280] {jit-tco
removed frame g_look_inside_iff
[c5fd5d2dd81d780] jit-tco}
[c5fd5d2dd82d300] {jit-tco
removed frame g__v7844___simple_call__function_
[c5fd5d2dd839700] jit-tco}
[c5fd5d2dd861380] {jit-tco
removed frame ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed
[c5fd5d2dd86da80] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5d2dd944a00] {jit-trace-done
trace length: 90
number operations: 16
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d2dd971e80] jit-trace-done}
[c5fd5d2dd9a0080] {jit-log-noopt
# Traced loop or bridge with 16 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct list { length, items }>))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
p4 = new_array(0, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p1, p4, descr=FieldDescr(<GcStruct list { length, items }>, 'items'))
p6 = new_array(4, descr=ArrayDescr(<GcArray of Signed >))
setfield_gc(p1, p6, descr=FieldDescr(<GcStruct list { length, items }>, 'items'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct list { length, items }>, 'length'))
setarrayitem_gc(p6, 0, 1, descr=ArrayDescr(<GcArray of Signed >))
i11 = same_as_i(9)
i13 = int_sub(i0, 1)
i15 = int_gt(i13, 0)
guard_true(i15)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i13, descr=<Loop-1>)
[c5fd5d2dda5f180] jit-log-noopt}
[c5fd5d2dda6ff00] {jit-optimize
[c5fd5d2dda8ce00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeeec0dac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d2ddf19d00] jit-log-intbounds}
[c5fd5d2ddf99180] {jit-log-exported-state
[i16]
PureOp(i17 = int_gt(i16, 0/ci))
INP(i16 = int_add(i18, -1/ci))
[c5fd5d2ddfb1680] jit-log-exported-state}
[c5fd5d2ddfbc080] jit-optimize}
[c5fd5d2ddfd2f80] {jit-optimize
[c5fd5d2de0c2b80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeeeafaec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d2de6b1600] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-286589140))
[c5fd5d2de7ea200] jit-optimize}
[c5fd5d2de7f7700] {jit-log-short-preamble
[]
label(i19)
jump()
[c5fd5d2de80ce80] jit-log-short-preamble}
[c5fd5d2de83f580] {jit-backend
[c5fd5d2de857000] {jit-log-compiling-loop
[i18]
label(i18, descr=TargetToken(-286647828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i16 = int_add(i18, -1)
i17 = int_gt(i16, 0)
guard_true(i17, descr=<Guard0xeeec0dac>) [i16]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i16, descr=TargetToken(-286589140))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i23 = int_add(i16, -1)
i25 = int_gt(i23, 0)
guard_true(i25, descr=<Guard0xeeeafaec>) [i23]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i23, descr=TargetToken(-286589140))
[c5fd5d2de8b2580] jit-log-compiling-loop}
[c5fd5d2de8c5200] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d2de8d1b80] jit-mem-looptoken-alloc}
[c5fd5d2de8fe480] jit-backend}
compiled new loop
[c5fd5d2de90af80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-286647828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xeeec0dac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-286589140))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xeeeafaec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-286589140))
[c5fd5d2de96a680] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d2dead7280] jit-tracing}
_____________________ TestLLtype.test_virtual_opaque_dict ______________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xeeeaf72c>
def test_virtual_opaque_dict(self):
myjitdriver = JitDriver(greens = [], reds = ["n"])
erase, unerase = rerased.new_erasing_pair("x")
@look_inside_iff(lambda x: isvirtual(x))
def g(x):
return x[0]["key"] - 1
def f(n):
while n > 0:
myjitdriver.jit_merge_point(n=n)
x = [{}]
x[0]["key"] = n
x[0]["other key"] = n
y = erase(x)
z = unerase(y)
n = g(x)
return n
res = self.meta_interp(f, [10])
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_ajit.py:3936:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xeee0fcac>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 100, 97] -> 100
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 651 blocks (15%)
[rtyper] specializing: 200 / 653 blocks (30%)
[rtyper] specializing: 300 / 660 blocks (45%)
[rtyper] specializing: 400 / 660 blocks (60%)
[rtyper] specializing: 500 / 660 blocks (75%)
[rtyper] specializing: 600 / 665 blocks (90%)
[rtyper] -=- specialized 665 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] specializing: 700 / 701 blocks (99%)
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UCHARLlT at 0xeedcf84c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rstr:420)ll_strfasthash__rpy_stringPtr at 0xeed56f6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UCHARLlT at 0xeeda326c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_USHORTLlT at 0xeed7a9ec>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_USHORTLlT at 0xeed7ad6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Signed_Signed_UnsignedLlT at 0xeed8996c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:557)_ll_write_indexes__dicttablePtr_Unsigned_Signed_UnsignedLlT at 0xeed89c6c>; should have be removed
[rtyper] -=- specialized 0 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v7968___simple_call__function_ at 0xeed24d0c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:690)ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xeed3468c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:728)ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_dicttablePtr at 0xeed34b2c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xeed374cc>; should have be removed
[jitcodewriter:info] There are 51 JitCode instances.
[jitcodewriter:info] There are 140 -live- ops. Size of liveness is 136 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 22 effectinfos:
[jitcodewriter] 5 descrs for arrays
[jitcodewriter] 14 descrs for fields
[jitcodewriter] 2 descrs for interiorfields
[jitcodewriter] -> 17 bitstrings, mean length 1.0, max length 2
[c5fd5d345182480] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5d345432700] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d345444000] jit-tco}
[c5fd5d3454c9c80] {jit-tco
removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed
[c5fd5d3454d7380] jit-tco}
[c5fd5d3454fe080] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d34550bb00] jit-tco}
[c5fd5d345570500] {jit-tco
removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr
[c5fd5d34557d580] jit-tco}
[c5fd5d34569e680] {jit-tco
removed frame ll_call_lookup_function__v7940___simple_call__function_
[c5fd5d3456abf80] jit-tco}
[c5fd5d3456d1c80] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d3456de200] jit-tco}
[c5fd5d345914100] {jit-tco
removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d345922300] jit-tco}
[c5fd5d34594a080] {jit-tco
removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed
[c5fd5d345956f00] jit-tco}
[c5fd5d3459f6980] {jit-tco
removed frame ll_dict_grow_look_inside_iff__dicttablePtr
[c5fd5d345a04480] jit-tco}
[c5fd5d345f93c00] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d345fa3a00] jit-tco}
[c5fd5d346035c00] {jit-tco
removed frame ll_dict_setitem__dicttablePtr_rpy_stringPtr_Signed
[c5fd5d346042c80] jit-tco}
[c5fd5d346068800] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d346074800] jit-tco}
[c5fd5d3460b7800] {jit-tco
removed frame ll_call_lookup_function__v7940___simple_call__function_
[c5fd5d3460c4500] jit-tco}
[c5fd5d3460ea080] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d3460f6400] jit-tco}
[c5fd5d346335e80] {jit-tco
removed frame ll_hash_recomputed__arrayPtr_dicttablePtr_Signed
[c5fd5d346343d80] jit-tco}
[c5fd5d34650f300] {jit-tco
removed frame ll_dict_setitem_with_hash__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d34651d000] jit-tco}
[c5fd5d346543300] {jit-tco
removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_Signed
[c5fd5d34654f800] jit-tco}
[c5fd5d34684b100] {jit-tco
removed frame g_look_inside_iff
[c5fd5d346859380] jit-tco}
[c5fd5d3468b6400] {jit-tco
removed frame ll_strhash__rpy_stringPtr
[c5fd5d3468c3500] jit-tco}
[c5fd5d34695a900] {jit-tco
removed frame ll_dict_getitem__dicttablePtr_rpy_stringPtr
[c5fd5d346967e00] jit-tco}
[c5fd5d34698eb00] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed
[c5fd5d34699c380] jit-tco}
[c5fd5d3469ddc00] {jit-tco
removed frame ll_call_lookup_function__v7940___simple_call__function_
[c5fd5d3469ea980] jit-tco}
[c5fd5d346a10500] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_rpy_stringPtr_Signed_Signed_UCHARLlT
[c5fd5d346a1cc80] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5d346d1e880] {jit-trace-done
trace length: 441
number operations: 75
total snapshots: 9
snapshot data: 92
snapshot array data: 114
bigint consts: 5 3
float consts: 0 0
ref consts: 15 10 4
descrs: 1
[c5fd5d346d4c380] jit-trace-done}
[c5fd5d346d7bc80] {jit-log-noopt
# Traced loop or bridge with 75 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>))
setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
p8 = new_array_clear(1, descr=ArrayDescr(<GcArray of * GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries } >))
setarrayitem_gc(p8, 0, p1, descr=ArrayDescr(<GcArray of * GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries } >))
p10 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p10, ConstPtr(ptr11), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i13 = same_as_i(11)
p15 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
i19 = same_as_i(16)
i21 = getarrayitem_gc_i(p15, 6, descr=ArrayDescr(<GcArray of UCHAR >))
i23 = int_ge(i21, 2)
guard_false(i23)
i25 = int_eq(i21, 1)
guard_false(i25)
setarrayitem_gc(p15, 6, 2, descr=ArrayDescr(<GcArray of UCHAR >))
i29 = same_as_i(23)
p31 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >))
call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr33), p31, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <* GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xeed2d9ec: EF=2 OS=1>))
setfield_gc(p1, p31, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
p38 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p38, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p38, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setinteriorfield_gc(p31, 0, ConstPtr(ptr41), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key'))
setinteriorfield_gc(p31, 0, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
p45 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p45, ConstPtr(ptr46), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i48 = same_as_i(37)
i50 = same_as_i(38)
p51 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p51, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p51, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
p53 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p53, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p53, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
i56 = getarrayitem_gc_i(p15, 5, descr=ArrayDescr(<GcArray of UCHAR >))
i57 = int_is_zero(i56)
guard_true(i57)
setarrayitem_gc(p15, 5, 3, descr=ArrayDescr(<GcArray of UCHAR >))
i61 = same_as_i(49)
setfield_gc(p1, 26, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
p63 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p63, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p63, 1, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setinteriorfield_gc(p31, 1, ConstPtr(ptr66), descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'key'))
setinteriorfield_gc(p31, 1, i0, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpy_string { hash, chars }, value: Signed } >, 'value'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
i71 = same_as_i(58)
p72 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p72, ConstPtr(ptr73), descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i75 = same_as_i(61)
i77 = same_as_i(62)
p78 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p78, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p78, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
p80 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p80, p31, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p80, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
i83 = int_sub(i0, 1)
i85 = int_gt(i83, 0)
guard_true(i85)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i83, descr=<Loop-1>)
[c5fd5d3470baa00] jit-log-noopt}
[c5fd5d3470ccb00] {jit-optimize
[c5fd5d3470eb100] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeece054c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d347839f00] jit-log-intbounds}
[c5fd5d3478b9b80] {jit-log-exported-state
[i86]
PureOp(i87 = int_gt(i86, 0/ci))
INP(i86 = int_add(i88, -1/ci))
[c5fd5d3478d2400] jit-log-exported-state}
[c5fd5d3478dde00] jit-optimize}
[c5fd5d3478f6e80] {jit-optimize
[c5fd5d3479e7800] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xeece674c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d34827f180] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-288461876))
[c5fd5d3483b5200] jit-optimize}
[c5fd5d3483c2900] {jit-log-short-preamble
[]
label(i89)
jump()
[c5fd5d3483d8080] jit-log-short-preamble}
[c5fd5d348409200] {jit-backend
[c5fd5d348420880] {jit-log-compiling-loop
[i88]
label(i88, descr=TargetToken(-288542516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i86 = int_add(i88, -1)
i87 = int_gt(i86, 0)
guard_true(i87, descr=<Guard0xeece054c>) [i86]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i86, descr=TargetToken(-288461876))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i93 = int_add(i86, -1)
i95 = int_gt(i93, 0)
guard_true(i95, descr=<Guard0xeece674c>) [i93]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i93, descr=TargetToken(-288461876))
[c5fd5d348478900] jit-log-compiling-loop}
[c5fd5d34848ae00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d348497980] jit-mem-looptoken-alloc}
[c5fd5d3484c4800] jit-backend}
compiled new loop
[c5fd5d3484d1500] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-288542516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xeece054c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-288461876))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xeece674c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-288461876))
[c5fd5d348532200] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d3486aa780] jit-tracing}
_________________________ TestLLtype.test_not_in_trace _________________________
self = <rpython.jit.metainterp.test.test_ajit.TestLLtype instance at 0xee2a592c>
def test_not_in_trace(self):
class X:
n = 0
def g(x):
if we_are_jitted():
raise NotImplementedError
x.n += 1
g.oopspec = 'jit.not_in_trace()'
jitdriver = JitDriver(greens=[], reds=['n', 'token', 'x'])
def f(n):
token = 0
x = X()
while n >= 0:
jitdriver.jit_merge_point(n=n, x=x, token=token)
if not we_are_jitted():
token += 1
g(x)
n -= 1
return x.n + token * 1000
res = self.meta_interp(f, [10])
assert res == 2003 # two runs before jitting; then one tracing run
self.check_resops(int_add=0, call_i=0, call_may_force_i=0,
call_r=0, call_may_force_r=0, call_f=0,
> call_may_force_f=0)
jit/metainterp/test/test_ajit.py:4419:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xee243e4c>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 2, 'int_ge': 2, ...}
expected = None
check = {'call_f': 0, 'call_i': 0, 'call_may_force_f': 0, 'call_may_force_i': 0, ...}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 2 'int_add', expected 0
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_ge [-1, 0, 41, 38] -> 41
bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xee24370c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_ajit.X { super, inst_n }>, 'inst_n')] -> 3
bh: int_mul [2, 1000] -> 2000
bh: int_add [3, 2000] -> 2003
bh: int_return [<BHInterp <JitCode 'f'>>, 2003] -> LeaveFrame!
~~~ return value: 2003
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 14 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 5 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 1 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5d451f21c00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5d4520be980] {jit-trace-done
trace length: 39
number operations: 9
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5d4520ec200] jit-trace-done}
[c5fd5d45212ae00] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_sub(i0, 1)
i6 = int_ge(i4, 0)
guard_true(i6)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i4, i1, p2, descr=<Loop-1>)
[c5fd5d45219a380] jit-log-noopt}
[c5fd5d4521ab480] {jit-optimize
[c5fd5d4521d5300] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_add(i0, -1)
i6 = int_ge(i4, 0)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xee1ec2ec>) [i4, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d4527b7e00] jit-log-intbounds}
[c5fd5d452869800] {jit-log-exported-state
[i7, i8, r9]
PureOp(i10 = int_ge(i7, 0/ci))
INP(r9)
INP(i8)
INP(i7 = int_add(i11, -1/ci))
[c5fd5d452888a00] jit-log-exported-state}
[c5fd5d452893a00] jit-optimize}
[c5fd5d4528abc80] {jit-optimize
[c5fd5d452a0bf80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i3: (0 <= 0b0?...?) IntBound.nonnegative()
i5 = int_add(i3, -1)
# i5: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1)
i7 = int_ge(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xee1f648c>) [i5, i8, p9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5d452ff3480] jit-log-intbounds}
# i5: (0 <= 0b0?...?) IntBound.nonnegative()
jump(i5, i8, p9, descr=TargetToken(-299931156))
[c5fd5d453189700] jit-optimize}
[c5fd5d453196d80] {jit-log-short-preamble
[]
label(i12, i13, p14)
jump()
[c5fd5d4531ad180] jit-log-short-preamble}
[c5fd5d4531e0d80] {jit-backend
[c5fd5d4531f8680] {jit-log-compiling-loop
[i11, i8, p9]
label(i11, i8, p9, descr=TargetToken(-299955924))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i11, -1)
i10 = int_ge(i7, 0)
guard_true(i10, descr=<Guard0xee1ec2ec>) [i7, i8, p9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i7, i8, p9, descr=TargetToken(-299931156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i18 = int_add(i7, -1)
i20 = int_ge(i18, 0)
guard_true(i20, descr=<Guard0xee1f648c>) [i18, i8, p9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i18, i8, p9, descr=TargetToken(-299931156))
[c5fd5d453250080] jit-log-compiling-loop}
[c5fd5d453262980] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5d45326ee80] jit-mem-looptoken-alloc}
[c5fd5d45329e080] jit-backend}
compiled new loop
[c5fd5d4532aa600] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-299955924))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_add(i0, -1)
i6 = int_ge(i4, 0)
guard_true(i6, descr=<Guard0xee1ec2ec>) [i4, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i4, i1, p2, descr=TargetToken(-299931156))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = int_add(i4, -1)
i10 = int_ge(i8, 0)
guard_true(i10, descr=<Guard0xee1f648c>) [i8, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i8, i1, p2, descr=TargetToken(-299931156))
[c5fd5d453310e80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5d4534d2f80] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_1
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul1
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul_ovf1
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_mul_bridge_maintaining3
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_loop_invariant_intbox
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_constfold_call_elidable
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_constfold_call_elidable_2
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_elidable_raising
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_elidable_raising_2
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_multiple_specialied_versions1
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_multiple_specialied_zigzag
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_reuse_elidable_result
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_dict_constant_keys
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_opaque_ptr
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_virtual_opaque_dict
FAIL jit/metainterp/test/test_ajit.py::TestLLtype::()::test_not_in_trace
============== 16 failed, 202 passed, 5 skipped in 251.34 seconds ==============
++ 10:14:08 starting jit/metainterp/test/test_loop_unroll_disopt.py [141 started in total]
__ jit/metainterp/test/test_loop_unroll.py [138 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 37 items
jit/metainterp/test/test_loop_unroll.py ..............................ss.s...
==================== 34 passed, 3 skipped in 37.99 seconds =====================
++ 10:14:42 starting jit/metainterp/test/test_math.py [142 started in total]
__ jit/metainterp/test/test_loop.py [139 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 37 items
jit/metainterp/test/test_loop.py ..............................ss.s...
==================== 34 passed, 3 skipped in 43.56 seconds =====================
++ 10:14:45 starting jit/metainterp/test/test_memmgr.py [143 started in total]
__ jit/metainterp/test/test_math.py [140 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/metainterp/test/test_math.py .
=========================== 1 passed in 3.55 seconds ===========================
++ 10:14:48 starting jit/metainterp/test/test_opencoder.py [144 started in total]
__ jit/metainterp/test/test_opencoder.py [141 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
jit/metainterp/test/test_opencoder.py ...........
========================== 11 passed in 2.04 seconds ===========================
++ 10:14:52 starting jit/metainterp/test/test_pyjitpl.py [145 started in total]
__ jit/metainterp/test/test_pyjitpl.py [142 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/metainterp/test/test_pyjitpl.py s..
===================== 2 passed, 1 skipped in 1.88 seconds ======================
++ 10:14:57 starting jit/metainterp/test/test_quasiimmut.py [146 started in total]
__ jit/metainterp/test/test_quasiimmut.py [143 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 21 items
jit/metainterp/test/test_quasiimmut.py ...............s.....
===================== 20 passed, 1 skipped in 8.46 seconds =====================
++ 10:15:09 starting jit/metainterp/test/test_rawmem.py [147 started in total]
__ jit/metainterp/test/test_rawmem.py [144 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 8 items
jit/metainterp/test/test_rawmem.py ........
=========================== 8 passed in 3.89 seconds ===========================
++ 10:15:16 starting jit/metainterp/test/test_recursive.py [148 started in total]
__ jit/metainterp/test/test_dict.py [145 done in total, somefailed=True] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 42 items
jit/metainterp/test/test_dict.py .......FF...............s.ss.....s......s.
=================================== FAILURES ===================================
_______________________ TestLLtype.test_repeated_lookup ________________________
self = <rpython.jit.metainterp.test.test_dict.TestLLtype instance at 0xf3ec0cac>
def test_repeated_lookup(self):
if type(self.newdict()) is not dict:
py.test.skip("this is an r_dict test")
myjitdriver = JitDriver(greens = [], reds = ['n', 'd'])
class Wrapper(object):
_immutable_fields_ = ["value"]
def __init__(self, value):
self.value = value
def eq_func(a, b):
return a.value == b.value
def hash_func(x):
return objectmodel.compute_hash(x.value)
def f(n):
d = None
while n > 0:
myjitdriver.jit_merge_point(n=n, d=d)
d = objectmodel.r_dict(eq_func, hash_func)
y = Wrapper(str(n))
d[y] = n - 1
n = d[y]
return d[Wrapper(str(n + 1))]
# XXX <arigo> unsure I see the point of this test: the repeated
# dict lookup is *not* elided so far, and the test happens to
# check this... with rdict.py, it's a write followed by a read,
# where the dict cache is thrown away after the first lookup
# (correctly: we don't want the two lookups to return the exact
# same result!). With rordereddict.py, FLAG_STORE lookups are
# not cached anyway.
res = self.meta_interp(f, [100], listops=True)
assert res == f(50)
self.check_resops({'new_array_clear': 2, 'getfield_gc_r': 2,
'guard_true': 4, 'jump': 1,
'new_with_vtable': 2, 'getinteriorfield_gc_i': 2,
'setfield_gc': 14, 'int_gt': 2, 'int_sub': 2,
'call_i': 4, 'call_n': 2, 'call_r': 2, 'int_ge': 2,
'cond_call_value_i': 2, 'strhash': 4,
'guard_no_exception': 8, 'new': 2,
> 'guard_nonnull': 2})
jit/metainterp/test/test_dict.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf3a60e4c>
insns = {'call_i': 4, 'call_n': 2, 'call_r': 2, 'cond_call_value_i': 2, ...}
expected = {'call_i': 4, 'call_n': 2, 'call_r': 2, 'cond_call_value_i': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'call_i': 4,...ue_i': 2, ...} == {'call_i': 4, ...ue_i': 2, ...}
E Omitting 17 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: live [44] -> 46
bh: int_return [<BHInterp <JitCode 'll_call_lookup_function_look_inside_iff__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed'>>, 0] -> LeaveFrame!
bh: live [11] -> 13
bh: goto_if_not_int_ge [0, 0, 55, 18] -> 18
bh: getfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')] -> * GCREF hidden
bh: new [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, SizeDescr(<GcStruct Interior { ptr, index }>)] -> * GCREF hidden
bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')]
bh: setfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, 0, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')]
bh: getfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr')] -> * GCREF hidden
bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, FieldDescr(<GcStruct Interior { ptr, index }>, 'index')] -> 0
bh: getinteriorfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <* GCREF hidden>, 0, InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')] -> 0
bh: int_return [<BHInterp <JitCode 'll_dict_getitem_with_hash__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed'>>, 0] -> LeaveFrame!
bh: live [71] -> 73
bh: goto_if_not_int_gt [0, 0, 81, 78] -> 81
bh: int_add [0, 1] -> 1
bh: residual_call_ir_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <AddressAsInt * fn ll_str__IntegerR_SignedConst_Signed>, [1], [], CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>)] -> * GCREF hidden
bh: live [94] -> 96
bh: new_with_vtable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>)] -> * GCREF hidden
bh: inline_call_r_v [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <JitCode 'Wrapper.__init__'>, [<* GCREF hidden>, <* GCREF hidden>]]
bh: live [107] -> 109
bh: inline_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf3a60c0c>, <JitCode 'll_dict_getitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr'>, [<* GCREF hidden>, <* GCREF hidden>]] -> 0
bh: live [117] -> 119
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 716 blocks (13%)
[rtyper] specializing: 200 / 726 blocks (27%)
[rtyper] specializing: 300 / 726 blocks (41%)
[rtyper] specializing: 400 / 730 blocks (54%)
[rtyper] specializing: 500 / 734 blocks (68%)
[rtyper] specializing: 600 / 734 blocks (81%)
[rtyper] specializing: 700 / 734 blocks (95%)
[rtyper] -=- specialized 736 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] inlined 17 callsites.
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3295___simple_call__function_ at 0xf3a2e7cc>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3295___simple_call__function_ at 0xf3a2e7cc>; should have be removed
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] specializing: 800 / 801 blocks (99%)
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3299___simple_call__function_ at 0xf39e008c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3299___simple_call__function_ at 0xf39e008c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3305___simple_call__function_ at 0xf3a39dac>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3305___simple_call__function_ at 0xf3a39dac>; should have be removed
[rtyper] -=- specialized 0 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v3320___simple_call__function_ at 0xf398548c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xf399984c>; should have be removed
[jitcodewriter:info] There are 40 JitCode instances.
[jitcodewriter:info] There are 157 -live- ops. Size of liveness is 175 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 22 effectinfos:
[jitcodewriter] 4 descrs for arrays
[jitcodewriter] 15 descrs for fields
[jitcodewriter] 3 descrs for interiorfields
[jitcodewriter] -> 19 bitstrings, mean length 1.1, max length 2
[c5fd5de3b5c2680] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5de3bbf4580] {jit-tco
removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr
[c5fd5de3bc02c00] jit-tco}
[c5fd5de3bc2ed00] {jit-tco
removed frame hash_func
[c5fd5de3bc3c400] jit-tco}
[c5fd5de3bdbca80] {jit-tco
removed frame ll_dict_setitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed
[c5fd5de3bdcaf00] jit-tco}
[c5fd5de3bdf3b00] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed
[c5fd5de3be00e00] jit-tco}
[c5fd5de3be63c80] {jit-tco
removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr
[c5fd5de3be71180] jit-tco}
[c5fd5de3bf86e80] {jit-tco
removed frame ll_call_lookup_function__v3291___simple_call__function_
[c5fd5de3bf94d00] jit-tco}
[c5fd5de3c200f00] {jit-tco
removed frame ll_dict_setitem_with_hash__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr_Signed_Signed
[c5fd5de3c210f00] jit-tco}
[c5fd5de3c6b1000] {jit-tco
removed frame ll_keyhash_custom__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr
[c5fd5de3c6c0200] jit-tco}
[c5fd5de3c706b80] {jit-tco
removed frame hash_func
[c5fd5de3c714600] jit-tco}
[c5fd5de3c875c80] {jit-tco
removed frame ll_dict_getitem__dicttablePtr_rpython_jit_metainterp_test_test_dict_WrapperPtr
[c5fd5de3c883b00] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5de3cd15980] {jit-trace-done
trace length: 288
number operations: 48
total snapshots: 18
snapshot data: 180
snapshot array data: 110
bigint consts: 7 7
float consts: 0 0
ref consts: 2 0 2
descrs: 1
[c5fd5de3cd45780] jit-trace-done}
[c5fd5de3cd7e000] {jit-log-noopt
# Traced loop or bridge with 47 ops
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
setfield_gc(p2, ConstPtr(ptr3), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p2, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
setfield_gc(p2, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
p9 = call_pure_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception()
p10 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p10, p9, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i12 = int_sub(i0, 1)
i14 = same_as_i(12)
guard_nonnull(p9)
i15 = strhash(p9)
p16 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p16, p9, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i18 = cond_call_value_i(i15, ConstClass(_ll_strhash__rpy_stringPtr), p9, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
i20 = same_as_i(18)
p22 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
setfield_gc(p2, p22, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
setfield_gc(p2, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
i27 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p2, p10, i18, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
guard_no_exception()
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p2, p10, i12, i18, i27, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception()
p29 = getfield_gc_r(p10, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
guard_nonnull(p29)
i30 = strhash(p29)
p31 = new(descr=SizeDescr(<GcStruct tuple1 { item0 }>))
setfield_gc(p31, p29, descr=FieldDescr(<GcStruct tuple1 { item0 }>, 'item0'))
i33 = cond_call_value_i(i30, ConstClass(_ll_strhash__rpy_stringPtr), p29, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
i36 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p2, p10, i33, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception()
i38 = int_ge(i36, 0)
guard_true(i38)
p39 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
p40 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p40, p39, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p40, i36, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
i41 = getinteriorfield_gc_i(p39, i36, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i43 = int_gt(i41, 0)
guard_true(i43)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i41, p2, descr=<Loop-1>)
[c5fd5de3cfd1500] jit-log-noopt}
[c5fd5de3cfe4000] {jit-optimize
[c5fd5de3d009380] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39b358c>) [i0, p3]
i5 = int_add(i0, -1)
guard_nonnull(p3, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf39baf2c>) [i0, p3]
i6 = strhash(p3)
i8 = cond_call_value_i(i6, ConstClass(_ll_strhash__rpy_stringPtr), p3, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p9 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p11 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p9, p11, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p9, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p12, p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i17 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p9, p12, i8, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p9, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c074c>) [p9, p12, i8, i5, i17]
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p9, p12, i5, i8, i17, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c094c>) [p9, p12]
i22 = strhash(p3)
i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p9, p12, i8, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf39c080c>) [p9, i25]
i27 = int_ge(i25, 0)
guard_true(i27, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf39c0cac>) [p9, i25]
p28 = getfield_gc_r(p9, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
# i25: (0 <= 0b0?...?) IntBound.nonnegative()
i29 = getinteriorfield_gc_i(p28, i25, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i31 = int_gt(i29, 0)
guard_true(i31, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394546c>) [p9, i25]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5de3e146a80] jit-log-intbounds}
[c5fd5de3e1f7900] {jit-log-exported-state
[i44, r45]
INP(i44 = getinteriorfield_gc_i(r46, i47, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value')))
INP(r45 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>)))
HeapOp(r46 = getfield_gc_r(r45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')), r48 = getfield_gc_r(r45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries')))
PureOp(i49 = int_gt(i44, 0/ci))
[c5fd5de3e220b00] jit-log-exported-state}
[c5fd5de3e22f780] jit-optimize}
[c5fd5de3e248000] {jit-optimize
[c5fd5de3e359a80] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
p4 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i2, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3945c0c>) [i2, p4]
i6 = int_add(i2, -1)
guard_nonnull(p4, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf3945eac>) [i2, p4]
i7 = strhash(p4)
i9 = cond_call_value_i(i7, ConstClass(_ll_strhash__rpy_stringPtr), p4, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p10 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p12 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p13 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p10, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p10, p12, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p13, p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i18 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p10, p13, i9, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p10, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p10, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949a4c>) [p10, p13, i9, i6, i18]
# i6: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p10, p13, i6, i9, i18, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949bcc>) [p10, p13]
i23 = strhash(p4)
i26 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p10, p13, i9, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf3949b6c>) [p10, i26]
i28 = int_ge(i26, 0)
guard_true(i28, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394c20c>) [p10, i26]
p29 = getfield_gc_r(p10, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
# i26: (0 <= 0b0?...?) IntBound.nonnegative()
i30 = getinteriorfield_gc_i(p29, i26, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i32 = int_gt(i30, 0)
guard_true(i32, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf394c6cc>) [p10, i26]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5de3f56a900] jit-log-intbounds}
# i30: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i30, p10, descr=TargetToken(-208352916))
[c5fd5de3f6d3a80] jit-optimize}
[c5fd5de3f6e0f00] {jit-log-short-preamble
[]
label(i50, p51)
jump()
[c5fd5de3f6f7480] jit-log-short-preamble}
[c5fd5de3f7aec80] {jit-backend
[c5fd5de3f7c9980] {jit-log-compiling-loop
[i52, p53]
label(i52, p53, descr=TargetToken(-207932628))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p55 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i52, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<Guard0xf39b358c>) [i52, p55]
i57 = int_add(i52, -1)
guard_nonnull(p55, descr=<Guard0xf39baf2c>) [i52, p55]
i58 = strhash(p55)
i60 = cond_call_value_i(i58, ConstClass(_ll_strhash__rpy_stringPtr), p55, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p45 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p62 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p63 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p45, p62, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p45, ConstPtr(ptr65), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p63, p55, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i68 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p45, p63, i60, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p45, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p45, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<Guard0xf39c074c>) [p45, p63, i60, i57, i68]
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p45, p63, i57, i60, i68, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<Guard0xf39c094c>) [p45, p63]
i73 = strhash(p55)
i47 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p45, p63, i60, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<Guard0xf39c080c>) [p45, i47]
i77 = int_ge(i47, 0)
guard_true(i77, descr=<Guard0xf39c0cac>) [p45, i47]
p46 = getfield_gc_r(p45, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
i44 = getinteriorfield_gc_i(p46, i47, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i49 = int_gt(i44, 0)
guard_true(i49, descr=<Guard0xf394546c>) [p45, i47]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i44, p45, descr=TargetToken(-208352916))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p80 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i44, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<Guard0xf3945c0c>) [i44, p80]
i82 = int_add(i44, -1)
guard_nonnull(p80, descr=<Guard0xf3945eac>) [i44, p80]
i83 = strhash(p80)
i85 = cond_call_value_i(i83, ConstClass(_ll_strhash__rpy_stringPtr), p80, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p86 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p88 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p89 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p86, ConstPtr(ptr90), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p86, p88, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p89, p80, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i94 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p86, p89, i85, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p86, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p86, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<Guard0xf3949a4c>) [p86, p89, i85, i82, i94]
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p86, p89, i82, i85, i94, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<Guard0xf3949bcc>) [p86, p89]
i99 = strhash(p80)
i102 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p86, p89, i85, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<Guard0xf3949b6c>) [p86, i102]
i104 = int_ge(i102, 0)
guard_true(i104, descr=<Guard0xf394c20c>) [p86, i102]
p105 = getfield_gc_r(p86, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
i106 = getinteriorfield_gc_i(p105, i102, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i108 = int_gt(i106, 0)
guard_true(i108, descr=<Guard0xf394c6cc>) [p86, i102]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i106, p86, descr=TargetToken(-208352916))
[c5fd5de3f9fd780] jit-log-compiling-loop}
[c5fd5de3fa11000] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5de3fa1de80] jit-mem-looptoken-alloc}
[c5fd5de3fb19080] jit-backend}
compiled new loop
[c5fd5de3fb27300] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 65 ops
[i0, p1]
label(i0, p1, descr=TargetToken(-207932628))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i0, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<Guard0xf39b358c>) [i0, p3]
i5 = int_add(i0, -1)
guard_nonnull(p3, descr=<Guard0xf39baf2c>) [i0, p3]
i6 = strhash(p3)
i8 = cond_call_value_i(i6, ConstClass(_ll_strhash__rpy_stringPtr), p3, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p9 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p11 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p12 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p9, p11, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p9, ConstPtr(ptr14), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p12, p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i17 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p9, p12, i8, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p9, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p9, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<Guard0xf39c074c>) [p9, p12, i8, i5, i17]
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p9, p12, i5, i8, i17, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<Guard0xf39c094c>) [p9, p12]
i22 = strhash(p3)
i25 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p9, p12, i8, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<Guard0xf39c080c>) [p9, i25]
i27 = int_ge(i25, 0)
guard_true(i27, descr=<Guard0xf39c0cac>) [p9, i25]
p28 = getfield_gc_r(p9, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
i29 = getinteriorfield_gc_i(p28, i25, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i31 = int_gt(i29, 0)
guard_true(i31, descr=<Guard0xf394546c>) [p9, i25]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i29, p9, descr=TargetToken(-208352916))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p33 = call_r(ConstClass(ll_str__IntegerR_SignedConst_Signed), i29, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<Signed>,), <EffectInfo 0xf407110c: EF=3>))
guard_no_exception(descr=<Guard0xf3945c0c>) [i29, p33]
i35 = int_add(i29, -1)
guard_nonnull(p33, descr=<Guard0xf3945eac>) [i29, p33]
i36 = strhash(p33)
i38 = cond_call_value_i(i36, ConstClass(_ll_strhash__rpy_stringPtr), p33, descr=CallDescr(<Signed>, (<* GcStruct rpy_string { hash, chars }>,), <EffectInfo 0xf39f910c: EF=2>))
p39 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>))
p41 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
p42 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>))
setfield_gc(p39, ConstPtr(ptr43), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_ever_used_items'))
setfield_gc(p39, p41, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'indexes'))
setfield_gc(p42, p33, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, 'inst_value'))
i47 = call_i(ConstClass(ll_dict_lookup_trampoline__v3315___simple_call__function_), p39, p42, i38, 1, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a2498c: EF=5 OS=4>))
setfield_gc(p39, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'resize_counter'))
setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'num_live_items'))
setfield_gc(p39, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'lookup_function_no'))
guard_no_exception(descr=<Guard0xf3949a4c>) [p39, p42, i38, i35, i47]
call_n(ConstClass(_ll_dict_setitem_lookup_done_trampoline__v3326___simple_call__function_), p39, p42, i35, i38, i47, descr=CallDescr(<Void>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf3a0126c: EF=5>))
guard_no_exception(descr=<Guard0xf3949bcc>) [p39, p42]
i52 = strhash(p33)
i55 = call_i(ConstClass(ll_call_lookup_function_trampoline__v3310___simple_call__function_), p39, p42, i38, 0, descr=CallDescr(<Signed>, (<* GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, <* GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }>, <Signed>, <Signed>), <EffectInfo 0xf3a19c4c: EF=5 OS=4>))
guard_no_exception(descr=<Guard0xf3949b6c>) [p39, i55]
i57 = int_ge(i55, 0)
guard_true(i57, descr=<Guard0xf394c20c>) [p39, i55]
p58 = getfield_gc_r(p39, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries, fnkeyeq, fnkeyhash }>, 'entries'))
i59 = getinteriorfield_gc_i(p58, i55, descr=InteriorFieldDescr(<GcArray of odictentry { key: * GcStruct rpython.jit.metainterp.test.test_dict.Wrapper { super, inst_value }, value: Signed, f_hash: Signed } >, 'value'))
i61 = int_gt(i59, 0)
guard_true(i61, descr=<Guard0xf394c6cc>) [p39, i55]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i59, p39, descr=TargetToken(-208352916))
[c5fd5de3fd59d00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5de82aa5880] jit-tracing}
____________________ TestLLtype.test_unrolling_of_dict_iter ____________________
self = <rpython.jit.metainterp.test.test_dict.TestLLtype instance at 0xf394902c>
def test_unrolling_of_dict_iter(self):
driver = JitDriver(greens = [], reds = ['n'])
def f(n):
while n > 0:
driver.jit_merge_point(n=n)
d = self.newdict()
d[1] = 1
for elem in d:
n -= elem
return n
res = self.meta_interp(f, [10], listops=True)
assert res == 0
self.check_simple_loop({'int_sub': 1, 'int_gt': 1, 'guard_true': 1,
> 'jump': 1})
jit/metainterp/test/test_dict.py:217:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:208: in check_simple_loop
get_stats().check_simple_loop(expected=expected, **check)
jit/metainterp/history.py:1007: in check_simple_loop
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf371cd6c>
insns = {'guard_true': 1, 'int_add': 1, 'int_gt': 1, 'jump': 1}
expected = {'guard_true': 1, 'int_gt': 1, 'int_sub': 1, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 1, 'jump': 1} == {'guard_true':... 1, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 1}
E Right contains more items:
E {'int_sub': 1}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 93, 90] -> 93
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 579 blocks (17%)
[rtyper] specializing: 200 / 585 blocks (34%)
[rtyper] specializing: 300 / 585 blocks (51%)
[rtyper] specializing: 400 / 595 blocks (67%)
[rtyper] specializing: 500 / 597 blocks (83%)
[rtyper] -=- specialized 597 blocks -=-
[rtyper] specializing: 600 / 601 blocks (99%)
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] inlined 18 callsites.
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 0 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1225)_ll_dictnext__v3675___simple_call__function_ at 0xf36c8a4c>; should have be removed
[rtyper] -=- specialized 0 more blocks -=-
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:674)_ll_dict_setitem_lookup_done__v3710___simple_call__function_ at 0xf36dc2ac>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3683___simple_call__function_ at 0xf3703f6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3683___simple_call__function_ at 0xf3703f6c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3690___simple_call__function_ at 0xf368d80c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3690___simple_call__function_ at 0xf368d80c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3691___simple_call__function_ at 0xf369814c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:1035)ll_dict_lookup__v3691___simple_call__function_ at 0xf369814c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.lltypesystem.rordereddict:509)ll_no_initial_index__dicttablePtr at 0xf36a252c>; should have be removed
[jitcodewriter:info] There are 36 JitCode instances.
[jitcodewriter:info] There are 108 -live- ops. Size of liveness is 116 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 13 effectinfos:
[jitcodewriter] 4 descrs for arrays
[jitcodewriter] 14 descrs for fields
[jitcodewriter] 2 descrs for interiorfields
[jitcodewriter] -> 18 bitstrings, mean length 1.0, max length 2
[c5fd5dedfeeab00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
[c5fd5dedff89d80] {jit-tco
removed frame newdict
[c5fd5dedff9d200] jit-tco}
[c5fd5dee01b6c00] {jit-tco
removed frame ll_dict_setitem__dicttablePtr_Signed_Signed
[c5fd5dee01cae00] jit-tco}
[c5fd5dee0203c00] {jit-tco
removed frame ll_call_lookup_function_look_inside_iff__dicttablePtr_Signed_Signed_Signed
[c5fd5dee0216700] jit-tco}
[c5fd5dee02a4880] {jit-tco
removed frame ll_dict_create_initial_index_look_inside_iff__dicttablePtr
[c5fd5dee02b7b00] jit-tco}
[c5fd5dee044c180] {jit-tco
removed frame ll_call_lookup_function__v3680___simple_call__function_
[c5fd5dee045fc80] jit-tco}
[c5fd5dee0496780] {jit-tco
removed frame ll_dict_lookup_look_inside_iff__dicttablePtr_Signed_Signed_Signed_UCHARLlT
[c5fd5dee04a9280] jit-tco}
[c5fd5dee079ef00] {jit-tco
removed frame ll_dict_setitem_with_hash__dicttablePtr_Signed_Signed_Signed
[c5fd5dee07b3180] jit-tco}
[c5fd5dee07eb200] {jit-tco
removed frame _ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_Signed_Signed_Signed_Signed
[c5fd5dee07fdd00] jit-tco}
[c5fd5dee08d1d00] {jit-tco
removed frame ll_dict_grow_look_inside_iff__dicttablePtr
[c5fd5dee08e6b00] jit-tco}
[c5fd5dee110ad00] {jit-tco
removed frame _ll_dictnext_look_inside_iff__dictiterPtr
[c5fd5dee1120680] jit-tco}
[c5fd5dee144a580] {jit-tco
removed frame _ll_dictnext_look_inside_iff__dictiterPtr
[c5fd5dee1460500] jit-tco}
(jitdriver: no get_printable_location)
[c5fd5dee169f880] {jit-trace-done
trace length: 279
number operations: 45
total snapshots: 6
snapshot data: 64
snapshot array data: 68
bigint consts: 2 2
float consts: 0 0
ref consts: 6 3 2
descrs: 1
[c5fd5dee16e5d80] jit-trace-done}
[c5fd5dee1728e00] {jit-log-noopt
# Traced loop or bridge with 45 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>))
setfield_gc(p1, ConstPtr(ptr2), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
i8 = same_as_i(7)
p10 = new_array_clear(16, descr=ArrayDescr(<GcArray of UCHAR >))
setfield_gc(p1, p10, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'indexes'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'lookup_function_no'))
setfield_gc(p1, 32, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
i14 = same_as_i(12)
i16 = getarrayitem_gc_i(p10, 1, descr=ArrayDescr(<GcArray of UCHAR >))
i18 = int_ge(i16, 2)
guard_false(i18)
i20 = int_eq(i16, 1)
guard_false(i20)
setarrayitem_gc(p10, 1, 2, descr=ArrayDescr(<GcArray of UCHAR >))
i24 = same_as_i(19)
p26 = new_array_clear(8, descr=ArrayDescr(<GcArray of odictentry { key: Signed, value: Signed } >))
call_n(ConstClass(ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed), ConstPtr(ptr28), p26, 0, 0, 0, descr=CallDescr(<Void>, (<* GcArray of odictentry { key: Signed, value: Signed } >, <* GcArray of odictentry { key: Signed, value: Signed } >, <Signed>, <Signed>, <Signed>), <EffectInfo 0xf36e5f8c: EF=2 OS=1>))
setfield_gc(p1, p26, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'entries'))
setfield_gc(p1, 29, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'resize_counter'))
p33 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p33, p26, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p33, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setinteriorfield_gc(p26, 0, 1, descr=InteriorFieldDescr(<GcArray of odictentry { key: Signed, value: Signed } >, 'key'))
setinteriorfield_gc(p26, 0, 1, descr=InteriorFieldDescr(<GcArray of odictentry { key: Signed, value: Signed } >, 'value'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_ever_used_items'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct dicttable { num_live_items, num_ever_used_items, resize_counter, indexes, lookup_function_no, entries }>, 'num_live_items'))
p41 = new(descr=SizeDescr(<GcStruct dictiter { dict, index }>))
setfield_gc(p41, p1, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'dict'))
setfield_gc(p41, 0, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'index'))
p43 = new(descr=SizeDescr(<GcStruct Interior { ptr, index }>))
setfield_gc(p43, p26, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'ptr'))
setfield_gc(p43, 0, descr=FieldDescr(<GcStruct Interior { ptr, index }>, 'index'))
setfield_gc(p41, 1, descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'index'))
i47 = int_sub(i0, 1)
setfield_gc(p41, ConstPtr(null), descr=FieldDescr(<GcStruct dictiter { dict, index }>, 'dict'))
i50 = int_gt(i47, 0)
guard_true(i50)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i47, descr=<Loop-1>)
[c5fd5dee1a43480] jit-log-noopt}
[c5fd5dee1a5d080] {jit-optimize
[c5fd5dee1a89d00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf36bda8c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5dee238b600] jit-log-intbounds}
[c5fd5dee2447c00] {jit-log-exported-state
[i51]
PureOp(i52 = int_gt(i51, 0/ci))
INP(i51 = int_add(i53, -1/ci))
[c5fd5dee246c380] jit-log-exported-state}
[c5fd5dee247bc00] jit-optimize}
[c5fd5dee249f080] {jit-optimize
[c5fd5dee260b080] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf36c36ec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5dee30c9a80] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-211010420))
[c5fd5dee3282b00] jit-optimize}
[c5fd5dee3295380] {jit-log-short-preamble
[]
label(i54)
jump()
[c5fd5dee32b3e00] jit-log-short-preamble}
[c5fd5dee32fa300] {jit-backend
[c5fd5dee331b080] {jit-log-compiling-loop
[i53]
label(i53, descr=TargetToken(-211035476))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i51 = int_add(i53, -1)
i52 = int_gt(i51, 0)
guard_true(i52, descr=<Guard0xf36bda8c>) [i51]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i51, descr=TargetToken(-211010420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i58 = int_add(i51, -1)
i60 = int_gt(i58, 0)
guard_true(i60, descr=<Guard0xf36c36ec>) [i58]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i58, descr=TargetToken(-211010420))
[c5fd5dee3397e80] jit-log-compiling-loop}
[c5fd5dee33b2000] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5dee33c3d80] jit-mem-looptoken-alloc}
[c5fd5dee3404c80] jit-backend}
compiled new loop
[c5fd5dee3417180] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-211035476))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf36bda8c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-211010420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf36c36ec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-211010420))
[c5fd5dee34a4d00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5dee36b5600] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_dict.py::TestLLtype::()::test_repeated_lookup
FAIL jit/metainterp/test/test_dict.py::TestLLtype::()::test_unrolling_of_dict_iter
=============== 2 failed, 35 passed, 5 skipped in 161.48 seconds ===============
++ 10:15:18 starting jit/metainterp/test/test_resoperation.py [149 started in total]
__ jit/metainterp/test/test_resoperation.py [146 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 15 items
jit/metainterp/test/test_resoperation.py ......ssss.....
===================== 11 passed, 4 skipped in 1.79 seconds =====================
++ 10:15:22 starting jit/metainterp/test/test_resume.py [150 started in total]
__ jit/metainterp/test/test_resume.py [147 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 37 items
jit/metainterp/test/test_resume.py ............................ss.......
===================== 35 passed, 2 skipped in 2.67 seconds =====================
++ 10:15:27 starting jit/metainterp/test/test_resumecode.py [151 started in total]
__ jit/metainterp/test/test_memmgr.py [148 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/metainterp/test/test_memmgr.py .
========================== 1 passed in 46.84 seconds ===========================
++ 10:15:36 starting jit/metainterp/test/test_send.py [152 started in total]
__ jit/metainterp/test/test_resumecode.py [149 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/metainterp/test/test_resumecode.py .....
=========================== 5 passed in 7.81 seconds ===========================
++ 10:15:37 starting jit/metainterp/test/test_slist.py [153 started in total]
__ jit/metainterp/test/test_slist.py [150 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
jit/metainterp/test/test_slist.py ......
=========================== 6 passed in 6.65 seconds ===========================
++ 10:15:45 starting jit/metainterp/test/test_string.py [154 started in total]
__ jit/metainterp/test/test_send.py [151 done in total, somefailed=True] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 22 items
jit/metainterp/test/test_send.py F.FF..FFF.............
=================================== FAILURES ===================================
__________________________ TestLLtype.test_green_send __________________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf579d88c>
def test_green_send(self):
myjitdriver = JitDriver(greens = ['i'], reds = ['counter'])
lst = ["123", "45"]
def f(i):
counter = 20
c = 0
while counter > 0:
myjitdriver.can_enter_jit(counter=counter, i=i)
myjitdriver.jit_merge_point(counter=counter, i=i)
s = lst[i]
c = len(s)
counter -= 1
return c
res = self.meta_interp(f, [1])
assert res == 2
self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2,
> 'int_sub': 2}) # all folded away
jit/metainterp/test/test_send.py:24:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf574884c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 58, 53] -> 58
bh: int_return [<BHInterp <JitCode 'f'>>, 2] -> LeaveFrame!
~~~ return value: 2
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 18 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:699)ll_getitem__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xf56aea4c>; should have be removed
[jitcodewriter:info] There are 3 JitCode instances.
[jitcodewriter:info] There are 7 -live- ops. Size of liveness is 18 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd5ee22cc2900] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ee282e2c80] {jit-trace-done
trace length: 41
number operations: 7
total snapshots: 2
snapshot data: 24
snapshot array data: 16
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ee28329980] jit-trace-done}
[c5fd5ee2837b200] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_sub(i0, 1)
i4 = int_gt(i2, 0)
guard_true(i4)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i2, descr=<Loop-1>)
[c5fd5ee2840b500] jit-log-noopt}
[c5fd5ee2842c600] {jit-optimize
[c5fd5ee2854d100] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5682bec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee28b90f80] jit-log-intbounds}
[c5fd5ee28c4ee00] {jit-log-exported-state
[i5]
INP(i5 = int_add(i6, -1/ci))
PureOp(i7 = int_gt(i5, 0/ci))
[c5fd5ee28c74600] jit-log-exported-state}
[c5fd5ee28c84200] jit-optimize}
[c5fd5ee28ca8d80] {jit-optimize
[c5fd5ee28e1c580] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf56293ec>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee29630900] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-178087124))
[c5fd5ee297e5500] jit-optimize}
[c5fd5ee297f9200] {jit-log-short-preamble
[]
label(i8)
jump()
[c5fd5ee29819100] jit-log-short-preamble}
[c5fd5ee29880d80] {jit-backend
[c5fd5ee298ae980] {jit-log-compiling-loop
[i6]
label(i6, descr=TargetToken(-177722004))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i6, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<Guard0xf5682bec>) [i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, descr=TargetToken(-178087124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i5, -1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<Guard0xf56293ec>) [i12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, descr=TargetToken(-178087124))
[c5fd5ee2992dd00] jit-log-compiling-loop}
[c5fd5ee29949080] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5ee2995b380] jit-mem-looptoken-alloc}
[c5fd5ee2999d880] jit-backend}
compiled new loop
[c5fd5ee299b1680] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-177722004))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf5682bec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-178087124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf56293ec>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-178087124))
[c5fd5ee29a41d00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ee29d20100] jit-tracing}
_________________ TestLLtype.test_send_to_single_target_method _________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf551686c>
def test_send_to_single_target_method(self):
myjitdriver = JitDriver(greens = [], reds = ['i', 'counter'])
class Foo:
def meth(self, y):
return self.x + y
def externfn(i):
foo = Foo()
foo.x = i * 42
return foo
def f(i):
counter = 20
res = 0
while counter > 0:
myjitdriver.can_enter_jit(counter=counter, i=i)
myjitdriver.jit_merge_point(counter=counter, i=i)
foo = externfn(i)
res = foo.meth(i)
counter -= 1
return res
res = self.meta_interp(f, [1], policy=StopAtXPolicy(externfn),
backendopt=True)
assert res == 43
self.check_resops({'int_gt': 2, 'getfield_gc_i': 2,
'guard_true': 2, 'int_sub': 2, 'jump': 1,
'call_r': 2, 'guard_no_exception': 2,
> 'int_add': 2})
jit/metainterp/test/test_send.py:72:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf55af96c>
insns = {'call_r': 2, 'getfield_gc_i': 2, 'guard_no_exception': 2, 'guard_true': 2, ...}
expected = {'call_r': 2, 'getfield_gc_i': 2, 'guard_no_exception': 2, 'guard_true': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'call_r': 2,...true': 2, ...} == {'call_r': 2, ...true': 2, ...}
E Omitting 6 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: live [25] -> 27
bh: getfield_gc_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf55affac>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x')] -> 42
bh: int_add [42, 1] -> 43
bh: int_sub [1, 1] -> 0
bh: live [41] -> 43
bh: goto_if_not_int_gt [0, 0, 53, 48] -> 53
bh: int_return [<BHInterp <JitCode 'f'>>, 43] -> LeaveFrame!
~~~ return value: 43
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 9 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 2 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 13 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5ee412b2580] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ee41620880] {jit-trace-done
trace length: 60
number operations: 12
total snapshots: 3
snapshot data: 36
snapshot array data: 24
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ee41668700] jit-trace-done}
[c5fd5ee416a5700] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception()
i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i5 = int_add(i4, i0)
i7 = int_sub(i1, 1)
i9 = int_gt(i7, 0)
guard_true(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i7, descr=<Loop-1>)
[c5fd5ee41730080] jit-log-noopt}
[c5fd5ee4173fa80] {jit-optimize
[c5fd5ee41760780] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf557b30c>) [i0, i1, p3]
i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i5 = int_add(i4, i0)
# i5 -> (?) IntBound.unbounded()
i7 = int_add(i1, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf557b92c>) [i0, i1, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee41d62700] jit-log-intbounds}
[c5fd5ee41e13300] {jit-log-exported-state
[i10, i11]
INP(i10)
PureOp(i12 = int_gt(i11, 0/ci))
INP(i11 = int_add(i13, -1/ci))
[c5fd5ee41e2f280] jit-log-exported-state}
[c5fd5ee41e3a200] jit-optimize}
[c5fd5ee41e51f00] {jit-optimize
[c5fd5ee41fb5080] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p4 = call_r(ConstClass(externfn), i3, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<rpython.jit.metainterp.compile.ResumeGuardExcDescr object at 0xf557bf8c>) [i3, i5, p4]
i6 = getfield_gc_i(p4, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i7 = int_add(i6, i3)
# i7 -> (?) IntBound.unbounded()
# i5: (1 <= 0b0?...?) IntBound(1, MAXINT)
i9 = int_add(i5, -1)
# i9: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf558036c>) [i3, i5, p4]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee4264e400] jit-log-intbounds}
# i9: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, i9, descr=TargetToken(-178780148))
[c5fd5ee427df000] jit-optimize}
[c5fd5ee427ec300] {jit-log-short-preamble
[]
label(i14, i15)
jump()
[c5fd5ee42801a80] jit-log-short-preamble}
[c5fd5ee42849180] {jit-backend
[c5fd5ee42860080] {jit-log-compiling-loop
[i10, i13]
label(i10, i13, descr=TargetToken(-178800372))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p17 = call_r(ConstClass(externfn), i10, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<Guard0xf557b30c>) [i10, i13, p17]
i18 = getfield_gc_i(p17, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i19 = int_add(i18, i10)
i11 = int_add(i13, -1)
i12 = int_gt(i11, 0)
guard_true(i12, descr=<Guard0xf557b92c>) [i10, i13, p17]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i10, i11, descr=TargetToken(-178780148))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p23 = call_r(ConstClass(externfn), i10, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<Guard0xf557bf8c>) [i10, i11, p23]
i24 = getfield_gc_i(p23, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i25 = int_add(i24, i10)
i27 = int_add(i11, -1)
i29 = int_gt(i27, 0)
guard_true(i29, descr=<Guard0xf558036c>) [i10, i11, p23]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i10, i27, descr=TargetToken(-178780148))
[c5fd5ee428f6f00] jit-log-compiling-loop}
[c5fd5ee42908f80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5ee42915500] jit-mem-looptoken-alloc}
[c5fd5ee4295b200] jit-backend}
compiled new loop
[c5fd5ee42967780] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 21 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-178800372))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p3 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<Guard0xf557b30c>) [i0, i1, p3]
i4 = getfield_gc_i(p3, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i5 = int_add(i4, i0)
i7 = int_add(i1, -1)
i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0xf557b92c>) [i0, i1, p3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i7, descr=TargetToken(-178780148))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p11 = call_r(ConstClass(externfn), i0, descr=CallDescr(<* GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, (<Signed>,), <EffectInfo 0xf557070c: EF=5>))
guard_no_exception(descr=<Guard0xf557bf8c>) [i0, i7, p11]
i12 = getfield_gc_i(p11, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.Foo { super, inst_x }>, 'inst_x'))
i13 = int_add(i12, i0)
i15 = int_add(i7, -1)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<Guard0xf558036c>) [i0, i7, p11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i15, descr=TargetToken(-178780148))
[c5fd5ee42a01e00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ee43310f80] jit-tracing}
__________________ TestLLtype.test_red_send_to_green_receiver __________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf55c14ec>
def test_red_send_to_green_receiver(self):
myjitdriver = JitDriver(greens = ['i'], reds = ['counter', 'j'])
class Foo(object):
def meth(self, i):
return 42 + i
class Foobar(Foo):
def meth(self, i):
return 146 + i
lst = [Foo(), Foo(), Foobar(), Foo(), Foobar(), Foo()]
def f(i, j):
counter = 20
res = 0
while counter > 0:
myjitdriver.can_enter_jit(counter=counter, i=i, j=j)
myjitdriver.jit_merge_point(counter=counter, i=i, j=j)
foo = lst[i]
res = foo.meth(j)
counter -= 1
return res
res = self.meta_interp(f, [4, -1])
assert res == 145
> self.check_resops(int_add=1)
jit/metainterp/test/test_send.py:95:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf54b45ec>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 3, 'int_gt': 2, ...}
expected = None, check = {'int_add': 1}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 3 'int_add', expected 1
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 75, 70] -> 75
bh: int_return [<BHInterp <JitCode 'f'>>, 145] -> LeaveFrame!
~~~ return value: 145
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 21 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.rtyper.rlist:699)ll_getitem__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed at 0xf549fa4c>; should have be removed
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 8 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5ee4e842b80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ee4ea1f400] {jit-trace-done
trace length: 47
number operations: 9
total snapshots: 2
snapshot data: 24
snapshot array data: 20
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ee4ea4e880] jit-trace-done}
[c5fd5ee4ea8d000] {jit-log-noopt
# Traced loop or bridge with 8 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 146)
i5 = int_sub(i0, 1)
i7 = int_gt(i5, 0)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i5, i1, descr=<Loop-1>)
[c5fd5ee4eaffa80] jit-log-noopt}
[c5fd5ee4eb0fe00] {jit-optimize
[c5fd5ee4eb37680] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 146)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i0, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54d546c>) [i5, i1, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee4f06e600] jit-log-intbounds}
[c5fd5ee4f11cf00] {jit-log-exported-state
[i8, i9]
INP(i9)
PureOp(i10 = int_add(i9, 146/ci))
PureOp(i11 = int_gt(i8, 0/ci))
INP(i8 = int_add(i12, -1/ci))
[c5fd5ee4f13d500] jit-log-exported-state}
[c5fd5ee4f148100] jit-optimize}
[c5fd5ee4f160b00] {jit-optimize
[c5fd5ee4f2ca200] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i2: (1 <= 0b0?...?) IntBound(1, MAXINT)
i4 = int_add(i2, -1)
# i4: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i6 = int_gt(i4, 0)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf54d508c>) [i4, i7, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ee4f9af680] jit-log-intbounds}
# i4: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i4, i7, i8, descr=TargetToken(-179481812))
[c5fd5ee4fbc8e80] jit-optimize}
[c5fd5ee4fbd5f00] {jit-log-short-preamble
[]
label(i13, i14)
i16 = int_add(i14, 146)
jump(i16)
[c5fd5ee4fbf1c80] jit-log-short-preamble}
[c5fd5ee4fc26c00] {jit-backend
[c5fd5ee4fc40200] {jit-log-compiling-loop
[i12, i9]
label(i12, i9, descr=TargetToken(-179481108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_add(i9, 146)
i8 = int_add(i12, -1)
i11 = int_gt(i8, 0)
guard_true(i11, descr=<Guard0xf54d546c>) [i8, i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i9, i10, descr=TargetToken(-179481812))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i20 = int_add(i8, -1)
i22 = int_gt(i20, 0)
guard_true(i22, descr=<Guard0xf54d508c>) [i20, i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i20, i9, i10, descr=TargetToken(-179481812))
[c5fd5ee4fc9d080] jit-log-compiling-loop}
[c5fd5ee4fcaee00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5ee4fcbaf00] jit-mem-looptoken-alloc}
[c5fd5ee4fcebc80] jit-backend}
compiled new loop
[c5fd5ee4fcf9b00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 14 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-179481108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 146)
i5 = int_add(i0, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<Guard0xf54d546c>) [i5, i1, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, i1, i3, descr=TargetToken(-179481812))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i5, -1)
i11 = int_gt(i9, 0)
guard_true(i11, descr=<Guard0xf54d508c>) [i9, i1, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i9, i1, i3, descr=TargetToken(-179481812))
[c5fd5ee4fd60780] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ee4ff7f300] jit-tracing}
_____________________ TestLLtype.test_oosend_guard_failure _____________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf5120acc>
def test_oosend_guard_failure(self):
myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w'])
class Base:
pass
class W1(Base):
def __init__(self, x):
self.x = x
def incr(self):
return W2(self.x + 1)
def getvalue(self):
return self.x
class W2(Base):
def __init__(self, y):
self.y = y
def incr(self):
return W1(self.y + 100)
def getvalue(self):
return self.y
def f(x, y):
set_param(myjitdriver, 'max_unroll_loops', 5)
if x & 1:
w = W1(x)
else:
w = W2(x)
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, w=w)
myjitdriver.jit_merge_point(x=x, y=y, w=w)
w = w.incr()
y -= 1
return w.getvalue()
res = self.meta_interp(f, [3, 28])
assert res == f(3, 28)
res = self.meta_interp(f, [4, 28])
assert res == f(4, 28)
# This checks that the loop was originally aborted due to an
# InvalidLoop condition, and was then unrolled, giving two copies
# of the body in a single bigger loop with no failing guard except
# the final one.
self.check_trace_count(1)
> self.check_resops(guard_class=1, int_add=4, int_sub=4)
jit/metainterp/test/test_send.py:204:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5058b8c>
insns = {'debug_merge_point': 6, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 4, ...}
expected = None, check = {'guard_class': 1, 'int_add': 4, 'int_sub': 4}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 8 'int_add', expected 4
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: live [58] -> 60
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W1.getvalue>
bh: live [69] -> 71
bh: int_guard_value [<AddressAsInt * fn W1.getvalue>]
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50e9f8c>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf512a42c: EF=2>)] -> 1417
bh: live [81] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 1417] -> LeaveFrame!
~~~ return value: 1417
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: live [58] -> 60
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue>
bh: live [69] -> 71
bh: int_guard_value [<AddressAsInt * fn W2.getvalue>]
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5058bcc>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf506712c: EF=2>)] -> 1418
bh: live [81] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 1418] -> LeaveFrame!
~~~ return value: 1418
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 27 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 7 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5ef45d8ab00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ef4621bb80] {jit-trace-done
trace length: 66
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ef46265000] jit-trace-done}
[c5fd5ef462c6e80] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i9 = int_sub(i1, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i9, p7, descr=<Loop-1>)
[c5fd5ef463beb00] jit-log-noopt}
[c5fd5ef463d6200] {jit-optimize
[c5fd5ef46412480] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509d24c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf509d90c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef46c56280] jit-log-intbounds}
[c5fd5ef46dcd080] {jit-log-exported-state
[i12, i13, r14]
INP(i15 = int_add(i16, 100/ci))
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
INP(i13 = int_add(i17, -1/ci))
PureOp(i18 = int_gt(i13, 0/ci))
INP(i12)
[c5fd5ef46e04900] jit-log-exported-state}
[c5fd5ef46e15480] jit-optimize}
[c5fd5ef46e37980] {jit-optimize
[c5fd5ef47102700] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef4715ee00] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail
[c5fd5ef4716ff00] jit-abort}
[c5fd5ef4717d780] jit-log-intbounds}
[c5fd5ef471b2580] jit-optimize}
cancelled, tracing more...
(jitdriver: no get_printable_location)
[c5fd5ef47518f00] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5ef4755d700] jit-trace-done}
[c5fd5ef475bb700] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i19, i20, p21]
guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i25 = int_add(i23, 1)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i28 = int_sub(i20, 1)
i30 = int_gt(i28, 0)
guard_true(i30)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i19, i28, p26, descr=<Loop-1>)
[c5fd5ef47699380] jit-log-noopt}
[c5fd5ef476af700] {jit-optimize
[c5fd5ef476e9b00] {jit-log-intbounds
[i0, i1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509d82c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a23cc>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef47f22a80] jit-log-intbounds}
[c5fd5ef480b8900] {jit-log-exported-state
[i31, i32, r33]
INP(i34 = int_add(i35, 1/ci))
INP(i31)
INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
PureOp(i36 = int_gt(i32, 0/ci))
INP(i32 = int_add(i37, -1/ci))
[c5fd5ef480f2e00] jit-log-exported-state}
[c5fd5ef48103980] jit-optimize}
[c5fd5ef48129d00] {jit-optimize
[c5fd5ef483fbc00] {jit-log-intbounds
[i0, i1, p2]
[c5fd5ef4842ee00] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail
[c5fd5ef48440580] jit-abort}
[c5fd5ef4844d880] jit-log-intbounds}
[c5fd5ef4845b180] jit-optimize}
cancelled, tracing more...
[c5fd5ef4847be80] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 3
[c5fd5ef484bf700] jit-trace-done}
[c5fd5ef4851ec00] {jit-log-noopt
# Traced loop or bridge with 22 ops
[i38, i39, p40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i44 = int_add(i42, 100)
p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i47 = int_sub(i39, 1)
i49 = int_gt(i47, 0)
guard_true(i49)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i53 = int_add(i51, 1)
p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i56 = int_sub(i47, 1)
i58 = int_gt(i56, 0)
guard_true(i58)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i38, i56, p54, descr=<Loop-1>)
[c5fd5ef48684480] jit-log-noopt}
[c5fd5ef4869b600] {jit-optimize
[c5fd5ef486d5200] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50a810c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a88ec>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a8a6c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef49440300] jit-log-intbounds}
[c5fd5ef495bc880] {jit-log-exported-state
[i59, i60, r61]
INP(i60 = int_add(i62, -2/ci))
INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
INP(i63 = int_add(i64, 101/ci))
PureOp(i65 = int_gt(i60, 0/ci))
INP(i59)
[c5fd5ef495f5500] jit-log-exported-state}
[c5fd5ef49606680] jit-optimize}
[c5fd5ef49627f80] {jit-optimize
[c5fd5ef49910b80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, 100)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50a876c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_add(i3, 101)
# i6: (2 <= 0b0?...?) IntBound(2, MAXINT)
i15 = int_add(i6, -2)
# i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf50a266c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef4a9fb300] jit-log-intbounds}
# i15: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i15, i13, descr=TargetToken(-183885140))
[c5fd5ef4ad32280] jit-optimize}
[c5fd5ef4ad46f00] {jit-log-short-preamble
[]
label(i66, i67, i68, p69)
jump()
[c5fd5ef4ad6af00] jit-log-short-preamble}
[c5fd5ef4ade5980] {jit-backend
[c5fd5ef4ae06100] {jit-log-compiling-loop
[i59, i62, p70]
label(i59, i62, p70, descr=TargetToken(-183858516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf50a810c>) [i59, i62, p70]
i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i73 = int_add(i64, 100)
i75 = int_add(i62, -1)
i77 = int_gt(i75, 0)
guard_true(i77, descr=<Guard0xf50a88ec>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i63 = int_add(i64, 101)
i60 = int_add(i62, -2)
i65 = int_gt(i60, 0)
guard_true(i65, descr=<Guard0xf50a8a6c>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i59, i60, i63, descr=TargetToken(-183885140))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i82 = int_add(i63, 100)
i84 = int_add(i60, -1)
i86 = int_gt(i84, 0)
guard_true(i86, descr=<Guard0xf50a876c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i88 = int_add(i63, 101)
i90 = int_add(i60, -2)
i92 = int_gt(i90, 0)
guard_true(i92, descr=<Guard0xf50a266c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i59, i90, i88, descr=TargetToken(-183885140))
[c5fd5ef4af09180] jit-log-compiling-loop}
[c5fd5ef4af23f80] {jit-mem-looptoken-alloc
allocating Loop # 3
[c5fd5ef4af36a80] jit-mem-looptoken-alloc}
[c5fd5ef4afabb00] jit-backend}
compiled new loop
[c5fd5ef4afbec00] {jit-log-opt-loop
# Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-183858516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf50a810c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf50a88ec>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf50a8a6c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i14, i12, descr=TargetToken(-183885140))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i18 = int_add(i12, 100)
i20 = int_add(i14, -1)
i22 = int_gt(i20, 0)
guard_true(i22, descr=<Guard0xf50a876c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i24 = int_add(i12, 101)
i26 = int_add(i14, -2)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf50a266c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i26, i24, descr=TargetToken(-183885140))
[c5fd5ef4b0d4980] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ef4b67d300] jit-tracing}
[rtyper] -=- specialized 27 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 7 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5ef518dc280] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ef51dd2d00] {jit-trace-done
trace length: 66
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ef51e26880] jit-trace-done}
[c5fd5ef51eaee80] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i9 = int_sub(i1, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i9, p7, descr=<Loop-1>)
[c5fd5ef51fcaf00] jit-log-noopt}
[c5fd5ef51fe4500] {jit-optimize
[c5fd5ef52026a00] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5083a4c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5083f8c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef528a0100] jit-log-intbounds}
[c5fd5ef52a2c300] {jit-log-exported-state
[i12, i13, r14]
INP(i15 = int_add(i16, 1/ci))
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
INP(i13 = int_add(i17, -1/ci))
INP(i12)
PureOp(i18 = int_gt(i13, 0/ci))
[c5fd5ef52a6ac80] jit-log-exported-state}
[c5fd5ef52a7d400] jit-optimize}
[c5fd5ef52aa6000] {jit-optimize
[c5fd5ef52e4cd80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef52eb6c80] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail
[c5fd5ef52ec9380] jit-abort}
[c5fd5ef52ed8980] jit-log-intbounds}
[c5fd5ef52ef0800] jit-optimize}
cancelled, tracing more...
(jitdriver: no get_printable_location)
[c5fd5ef532b5d80] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5ef53303980] jit-trace-done}
[c5fd5ef5336ea80] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i19, i20, p21]
guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i25 = int_add(i23, 100)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i28 = int_sub(i20, 1)
i30 = int_gt(i28, 0)
guard_true(i30)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i19, i28, p26, descr=<Loop-1>)
[c5fd5ef5344b780] jit-log-noopt}
[c5fd5ef53462500] {jit-optimize
[c5fd5ef534a5500] {jit-log-intbounds
[i0, i1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50862cc>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5086b6c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef53b91e80] jit-log-intbounds}
[c5fd5ef53cc5100] {jit-log-exported-state
[i31, i32, r33]
INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
INP(i34 = int_add(i35, 100/ci))
PureOp(i36 = int_gt(i32, 0/ci))
INP(i32 = int_add(i37, -1/ci))
INP(i31)
[c5fd5ef53d13880] jit-log-exported-state}
[c5fd5ef53d28280] jit-optimize}
[c5fd5ef53d52400] {jit-optimize
[c5fd5ef53f5c200] {jit-log-intbounds
[i0, i1, p2]
[c5fd5ef53f83100] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail
[c5fd5ef53f8e680] jit-abort}
[c5fd5ef53f98b00] jit-log-intbounds}
[c5fd5ef53fa2100] jit-optimize}
cancelled, tracing more...
[c5fd5ef53fb9c00] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 3
[c5fd5ef53fe6700] jit-trace-done}
[c5fd5ef54029900] {jit-log-noopt
# Traced loop or bridge with 22 ops
[i38, i39, p40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i44 = int_add(i42, 1)
p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i47 = int_sub(i39, 1)
i49 = int_gt(i47, 0)
guard_true(i49)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i53 = int_add(i51, 100)
p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i56 = int_sub(i47, 1)
i58 = int_gt(i56, 0)
guard_true(i58)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i38, i56, p54, descr=<Loop-1>)
[c5fd5ef5411fc80] jit-log-noopt}
[c5fd5ef5412fa80] {jit-optimize
[c5fd5ef54158880] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf500b90c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf501112c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf501128c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef54aa2000] jit-log-intbounds}
[c5fd5ef54baf680] {jit-log-exported-state
[i59, i60, r61]
INP(i59)
INP(i60 = int_add(i62, -2/ci))
INP(i63 = int_add(i64, 101/ci))
INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
PureOp(i65 = int_gt(i60, 0/ci))
[c5fd5ef54bd4c00] jit-log-exported-state}
[c5fd5ef54be0980] jit-optimize}
[c5fd5ef54bf8a00] {jit-optimize
[c5fd5ef54dfcc80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, 1)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf500b46c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_add(i3, 101)
# i6: (2 <= 0b0?...?) IntBound(2, MAXINT)
i15 = int_add(i6, -2)
# i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf508604c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef55965480] jit-log-intbounds}
# i15: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i15, i13, descr=TargetToken(-184008980))
[c5fd5ef55b9a780] jit-optimize}
[c5fd5ef55ba7880] {jit-log-short-preamble
[]
label(i66, i67, i68, p69)
jump()
[c5fd5ef55bbec00] jit-log-short-preamble}
[c5fd5ef55c13900] {jit-backend
[c5fd5ef55c29900] {jit-log-compiling-loop
[i59, i62, p70]
label(i59, i62, p70, descr=TargetToken(-184500564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf500b90c>) [i59, i62, p70]
i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i73 = int_add(i64, 1)
i75 = int_add(i62, -1)
i77 = int_gt(i75, 0)
guard_true(i77, descr=<Guard0xf501112c>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i63 = int_add(i64, 101)
i60 = int_add(i62, -2)
i65 = int_gt(i60, 0)
guard_true(i65, descr=<Guard0xf501128c>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i59, i60, i63, descr=TargetToken(-184008980))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i82 = int_add(i63, 1)
i84 = int_add(i60, -1)
i86 = int_gt(i84, 0)
guard_true(i86, descr=<Guard0xf500b46c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i88 = int_add(i63, 101)
i90 = int_add(i60, -2)
i92 = int_gt(i90, 0)
guard_true(i92, descr=<Guard0xf508604c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i59, i90, i88, descr=TargetToken(-184008980))
[c5fd5ef55ce2780] jit-log-compiling-loop}
[c5fd5ef55cf4e80] {jit-mem-looptoken-alloc
allocating Loop # 3
[c5fd5ef55d01a00] jit-mem-looptoken-alloc}
[c5fd5ef55d54a00] jit-backend}
compiled new loop
[c5fd5ef55d61500] {jit-log-opt-loop
# Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-184500564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf500b90c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf501112c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf501128c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i14, i12, descr=TargetToken(-184008980))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i18 = int_add(i12, 1)
i20 = int_add(i14, -1)
i22 = int_gt(i20, 0)
guard_true(i22, descr=<Guard0xf500b46c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i24 = int_add(i12, 101)
i26 = int_add(i14, -2)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf508604c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i26, i24, descr=TargetToken(-184008980))
[c5fd5ef55e16f00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ef561c9200] jit-tracing}
____________________ TestLLtype.test_oosend_guard_failure_2 ____________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf500532c>
def test_oosend_guard_failure_2(self):
# same as above, but using prebuilt objects 'w1' and 'w2'
myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w'])
class Base:
pass
class W1(Base):
def __init__(self, x):
self.x = x
def incr(self):
return W2(self.x + 1)
def getvalue(self):
return self.x
class W2(Base):
def __init__(self, y):
self.y = y
def incr(self):
return W1(self.y + 100)
def getvalue(self):
return self.y
w1 = W1(10)
w2 = W2(20)
def f(x, y):
set_param(myjitdriver, 'max_unroll_loops', 5)
if x & 1:
w = w1
else:
w = w2
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, w=w)
myjitdriver.jit_merge_point(x=x, y=y, w=w)
w = w.incr()
y -= 1
return w.getvalue()
res = self.meta_interp(f, [3, 28])
assert res == f(3, 28)
res = self.meta_interp(f, [4, 28])
assert res == f(4, 28)
self.check_trace_count(1)
> self.check_resops(guard_class=1, int_add=4, int_sub=4)
jit/metainterp/test/test_send.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4f2e3ac>
insns = {'debug_merge_point': 6, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 4, ...}
expected = None, check = {'guard_class': 1, 'int_add': 4, 'int_sub': 4}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 8 'int_add', expected 4
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: live [58] -> 60
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W1.getvalue>
bh: live [69] -> 71
bh: int_guard_value [<AddressAsInt * fn W1.getvalue>]
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf50326cc>, <AddressAsInt * fn W1.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4fdb24c: EF=2>)] -> 1424
bh: live [81] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 1424] -> LeaveFrame!
~~~ return value: 1424
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: live [58] -> 60
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue>
bh: live [69] -> 71
bh: int_guard_value [<AddressAsInt * fn W2.getvalue>]
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4f2e36c>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4f3de2c: EF=2>)] -> 1434
bh: live [81] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 1434] -> LeaveFrame!
~~~ return value: 1434
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 25 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 7 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5ef5ec82d00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ef5ef60500] {jit-trace-done
trace length: 66
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ef5ef90480] jit-trace-done}
[c5fd5ef5efcf000] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i9 = int_sub(i1, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i9, p7, descr=<Loop-1>)
[c5fd5ef5f06d980] jit-log-noopt}
[c5fd5ef5f07ee80] {jit-optimize
[c5fd5ef5f0a7900] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ffd1ec>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ffd78c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef5f64d080] jit-log-intbounds}
[c5fd5ef5f750680] {jit-log-exported-state
[i12, i13, r14]
INP(i13 = int_add(i15, -1/ci))
INP(i16 = int_add(i17, 100/ci))
INP(i12)
PureOp(i18 = int_gt(i13, 0/ci))
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
[c5fd5ef5f775a80] jit-log-exported-state}
[c5fd5ef5f780c00] jit-optimize}
[c5fd5ef5f796b80] {jit-optimize
[c5fd5ef5f97cc80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef5f9bde00] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail
[c5fd5ef5f9c9000] jit-abort}
[c5fd5ef5f9d1c80] jit-log-intbounds}
[c5fd5ef5f9dae80] jit-optimize}
cancelled, tracing more...
(jitdriver: no get_printable_location)
[c5fd5ef5fc37a80] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5ef5fc63400] jit-trace-done}
[c5fd5ef5fca3500] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i19, i20, p21]
guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i25 = int_add(i23, 1)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i28 = int_sub(i20, 1)
i30 = int_gt(i28, 0)
guard_true(i30)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i19, i28, p26, descr=<Loop-1>)
[c5fd5ef5fd38400] jit-log-noopt}
[c5fd5ef5fd47280] {jit-optimize
[c5fd5ef5fd6f700] {jit-log-intbounds
[i0, i1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4ff32cc>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff3aac>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef602e2500] jit-log-intbounds}
[c5fd5ef603ffd80] {jit-log-exported-state
[i31, i32, r33]
INP(i31)
INP(i32 = int_add(i34, -1/ci))
PureOp(i35 = int_gt(i32, 0/ci))
INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
INP(i36 = int_add(i37, 1/ci))
[c5fd5ef60424b00] jit-log-exported-state}
[c5fd5ef6042fb00] jit-optimize}
[c5fd5ef60445900] {jit-optimize
[c5fd5ef60625480] {jit-log-intbounds
[i0, i1, p2]
[c5fd5ef60646e00] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail
[c5fd5ef60651f00] jit-abort}
[c5fd5ef6065aa00] jit-log-intbounds}
[c5fd5ef60663c80] jit-optimize}
cancelled, tracing more...
[c5fd5ef6067a980] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 3
[c5fd5ef606a7280] jit-trace-done}
[c5fd5ef606e5500] {jit-log-noopt
# Traced loop or bridge with 22 ops
[i38, i39, p40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i44 = int_add(i42, 100)
p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i47 = int_sub(i39, 1)
i49 = int_gt(i47, 0)
guard_true(i49)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i53 = int_add(i51, 1)
p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i56 = int_sub(i47, 1)
i58 = int_gt(i56, 0)
guard_true(i58)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i38, i56, p54, descr=<Loop-1>)
[c5fd5ef607d5300] jit-log-noopt}
[c5fd5ef607e3f00] {jit-optimize
[c5fd5ef6080aa00] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fe9d2c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff81cc>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4ff830c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef61128400] jit-log-intbounds}
[c5fd5ef6122eb00] {jit-log-exported-state
[i59, i60, r61]
INP(i60 = int_add(i62, -2/ci))
INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
INP(i63 = int_add(i64, 101/ci))
INP(i59)
PureOp(i65 = int_gt(i60, 0/ci))
[c5fd5ef61253900] jit-log-exported-state}
[c5fd5ef61260800] jit-optimize}
[c5fd5ef61276400] {jit-optimize
[c5fd5ef61456d80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, 100)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50000ac>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_add(i3, 101)
# i6: (2 <= 0b0?...?) IntBound(2, MAXINT)
i15 = int_add(i6, -2)
# i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5000a0c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef626fd000] jit-log-intbounds}
# i15: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i15, i13, descr=TargetToken(-184548596))
[c5fd5ef62a7c200] jit-optimize}
[c5fd5ef62a8dd80] {jit-log-short-preamble
[]
label(i66, i67, i68, p69)
jump()
[c5fd5ef62aaf680] jit-log-short-preamble}
[c5fd5ef62b25b00] {jit-backend
[c5fd5ef62b45100] {jit-log-compiling-loop
[i59, i62, p70]
label(i59, i62, p70, descr=TargetToken(-184639828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4fe9d2c>) [i59, i62, p70]
i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i73 = int_add(i64, 100)
i75 = int_add(i62, -1)
i77 = int_gt(i75, 0)
guard_true(i77, descr=<Guard0xf4ff81cc>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i63 = int_add(i64, 101)
i60 = int_add(i62, -2)
i65 = int_gt(i60, 0)
guard_true(i65, descr=<Guard0xf4ff830c>) [i59, i62, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i59, i60, i63, descr=TargetToken(-184548596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i82 = int_add(i63, 100)
i84 = int_add(i60, -1)
i86 = int_gt(i84, 0)
guard_true(i86, descr=<Guard0xf50000ac>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i88 = int_add(i63, 101)
i90 = int_add(i60, -2)
i92 = int_gt(i90, 0)
guard_true(i92, descr=<Guard0xf5000a0c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i59, i90, i88, descr=TargetToken(-184548596))
[c5fd5ef62c36280] jit-log-compiling-loop}
[c5fd5ef62c4d380] {jit-mem-looptoken-alloc
allocating Loop # 3
[c5fd5ef62c5df80] jit-mem-looptoken-alloc}
[c5fd5ef62cd3800] jit-backend}
compiled new loop
[c5fd5ef62ce5d00] {jit-log-opt-loop
# Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-184639828))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4fe9d2c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf4ff81cc>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf4ff830c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i14, i12, descr=TargetToken(-184548596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i18 = int_add(i12, 100)
i20 = int_add(i14, -1)
i22 = int_gt(i20, 0)
guard_true(i22, descr=<Guard0xf50000ac>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i24 = int_add(i12, 101)
i26 = int_add(i14, -2)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf5000a0c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i26, i24, descr=TargetToken(-184548596))
[c5fd5ef62e0a680] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ef6324f500] jit-tracing}
[rtyper] -=- specialized 25 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 7 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1
[c5fd5ef67d52500] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ef68034600] {jit-trace-done
trace length: 66
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ef6805ff00] jit-trace-done}
[c5fd5ef6809ee80] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i9 = int_sub(i1, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i9, p7, descr=<Loop-1>)
[c5fd5ef68139d80] jit-log-noopt}
[c5fd5ef68149500] {jit-optimize
[c5fd5ef68170280] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fa136c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fa1a2c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef686f2a80] jit-log-intbounds}
[c5fd5ef687f1900] {jit-log-exported-state
[i12, i13, r14]
PureOp(i15 = int_gt(i13, 0/ci))
INP(i16 = int_add(i17, 1/ci))
INP(i13 = int_add(i18, -1/ci))
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
INP(i12)
[c5fd5ef68815500] jit-log-exported-state}
[c5fd5ef68820300] jit-optimize}
[c5fd5ef68839380] {jit-optimize
[c5fd5ef68a20e00] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef68a60380] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)) was proven to always fail
[c5fd5ef68a6bb80] jit-abort}
[c5fd5ef68a74a00] jit-log-intbounds}
[c5fd5ef68a7de00] jit-optimize}
cancelled, tracing more...
(jitdriver: no get_printable_location)
[c5fd5ef68cef800] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd5ef68d1bf00] jit-trace-done}
[c5fd5ef68d59780] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i19, i20, p21]
guard_class(p21, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i23 = getfield_gc_i(p21, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i25 = int_add(i23, 100)
p26 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p26, i25, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i28 = int_sub(i20, 1)
i30 = int_gt(i28, 0)
guard_true(i30)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i19, i28, p26, descr=<Loop-1>)
[c5fd5ef68dec700] jit-log-noopt}
[c5fd5ef68dfb980] {jit-optimize
[c5fd5ef68e22680] {jit-log-intbounds
[i0, i1, p2]
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fab88c>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_add(i4, 100)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fabf4c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef693ec900] jit-log-intbounds}
[c5fd5ef69509f80] {jit-log-exported-state
[i31, i32, r33]
INP(i31)
INP(i34 = int_add(i35, 100/ci))
INP(r33 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
PureOp(i36 = int_gt(i32, 0/ci))
INP(i32 = int_add(i37, -1/ci))
[c5fd5ef6952f900] jit-log-exported-state}
[c5fd5ef6953ae80] jit-optimize}
[c5fd5ef69552580] {jit-optimize
[c5fd5ef69735a80] {jit-log-intbounds
[i0, i1, p2]
[c5fd5ef69758500] {jit-abort
A GUARD_CLASS (guard_class(p0, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)) was proven to always fail
[c5fd5ef69767700] jit-abort}
[c5fd5ef69771b00] jit-log-intbounds}
[c5fd5ef6977a600] jit-optimize}
cancelled, tracing more...
[c5fd5ef6978f000] {jit-trace-done
trace length: 120
number operations: 24
total snapshots: 6
snapshot data: 72
snapshot array data: 50
bigint consts: 2 2
float consts: 0 0
ref consts: 0 0 1
descrs: 3
[c5fd5ef697b8800] jit-trace-done}
[c5fd5ef697f7000] {jit-log-noopt
# Traced loop or bridge with 22 ops
[i38, i39, p40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p40, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>)
i42 = getfield_gc_i(p40, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i44 = int_add(i42, 1)
p45 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p45, i44, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i47 = int_sub(i39, 1)
i49 = int_gt(i47, 0)
guard_true(i49)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
guard_class(p45, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i51 = getfield_gc_i(p45, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i53 = int_add(i51, 100)
p54 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>))
setfield_gc(p54, i53, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i56 = int_sub(i47, 1)
i58 = int_gt(i56, 0)
guard_true(i58)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i38, i56, p54, descr=<Loop-1>)
[c5fd5ef698def00] jit-log-noopt}
[c5fd5ef698ed780] {jit-optimize
[c5fd5ef69912d00] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4faadac>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
# i6 -> (?) IntBound.unbounded()
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fabd4c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fab16c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef6a241280] jit-log-intbounds}
[c5fd5ef6a34df00] {jit-log-exported-state
[i59, i60, r61]
PureOp(i62 = int_gt(i60, 0/ci))
INP(i59)
INP(r61 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>)))
INP(i63 = int_add(i64, 101/ci))
INP(i60 = int_add(i65, -2/ci))
[c5fd5ef6a373100] jit-log-exported-state}
[c5fd5ef6a37ee80] jit-optimize}
[c5fd5ef6a395780] {jit-optimize
[c5fd5ef6a578e80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i3, 1)
# i5 -> (?) IntBound.unbounded()
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4fb62cc>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i13 = int_add(i3, 101)
# i6: (2 <= 0b0?...?) IntBound(2, MAXINT)
i15 = int_add(i6, -2)
# i15: (0 <= 0b0?...? <= MAXINT - 2) IntBound(0, MAXINT - 2)
i17 = int_gt(i15, 0)
guard_true(i17, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4fb690c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef6b0dfb80] jit-log-intbounds}
# i15: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i15, i13, descr=TargetToken(-184849556))
[c5fd5ef6b31c580] jit-optimize}
[c5fd5ef6b329080] {jit-log-short-preamble
[]
label(i66, i67, i68, p69)
jump()
[c5fd5ef6b33fe00] jit-log-short-preamble}
[c5fd5ef6b394700] {jit-backend
[c5fd5ef6b3aab00] {jit-log-compiling-loop
[i59, i65, p70]
label(i59, i65, p70, descr=TargetToken(-184934516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p70, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf4faadac>) [i59, i65, p70]
i64 = getfield_gc_i(p70, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i73 = int_add(i64, 1)
i75 = int_add(i65, -1)
i77 = int_gt(i75, 0)
guard_true(i77, descr=<Guard0xf4fabd4c>) [i59, i65, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i63 = int_add(i64, 101)
i60 = int_add(i65, -2)
i62 = int_gt(i60, 0)
guard_true(i62, descr=<Guard0xf4fab16c>) [i59, i65, p70]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i59, i60, i63, descr=TargetToken(-184849556))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i82 = int_add(i63, 1)
i84 = int_add(i60, -1)
i86 = int_gt(i84, 0)
guard_true(i86, descr=<Guard0xf4fb62cc>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i88 = int_add(i63, 101)
i90 = int_add(i60, -2)
i92 = int_gt(i90, 0)
guard_true(i92, descr=<Guard0xf4fb690c>) [i59, i84, i82]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i59, i90, i88, descr=TargetToken(-184849556))
[c5fd5ef6b459b80] jit-log-compiling-loop}
[c5fd5ef6b46b100] {jit-mem-looptoken-alloc
allocating Loop # 3
[c5fd5ef6b477400] jit-mem-looptoken-alloc}
[c5fd5ef6b4c6600] jit-backend}
compiled new loop
[c5fd5ef6b4d2b00] {jit-log-opt-loop
# Loop 3 ((jitdriver: no get_printable_location)) : loop with 27 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-184934516))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W1_vtable { super=... }>, descr=<Guard0xf4faadac>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W1 { super, inst_x }>, 'inst_x'))
i6 = int_add(i4, 1)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf4fabd4c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i4, 101)
i14 = int_add(i1, -2)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf4fab16c>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i14, i12, descr=TargetToken(-184849556))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i18 = int_add(i12, 1)
i20 = int_add(i14, -1)
i22 = int_gt(i20, 0)
guard_true(i22, descr=<Guard0xf4fb62cc>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i24 = int_add(i12, 101)
i26 = int_add(i14, -2)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf4fb690c>) [i0, i20, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i26, i24, descr=TargetToken(-184849556))
[c5fd5ef6b589500] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ef6b94a400] jit-tracing}
________________ TestLLtype.test_oosend_different_initial_class ________________
self = <rpython.jit.metainterp.test.test_send.TestLLtype object at 0xf4fb6b2c>
def test_oosend_different_initial_class(self):
myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w'])
class Base:
pass
class W1(Base):
def __init__(self, x):
self.x = x
def incr(self):
return W2(self.x + 1)
def getvalue(self):
return self.x
class W2(Base):
def __init__(self, y):
self.y = y
def incr(self):
return W2(self.y * 2)
def getvalue(self):
return self.y
def f(x, y):
w = W1(x)
while y > 0:
myjitdriver.can_enter_jit(x=x, y=y, w=w)
myjitdriver.jit_merge_point(x=x, y=y, w=w)
w = w.incr()
y -= 1
return w.getvalue()
res = self.meta_interp(f, [3, 28])
assert res == f(3, 28)
# The effect of the ClassGuard generated by the oosend to incr()
# should be to unroll the first iteration of the loop. Indeed,
# looking only at the loop, we deduce that the class of 'w' is 'W2'.
# However, this doesn't match the initial value of 'w'.
# XXX This not completely easy to check...
self.check_trace_count(1)
self.check_resops(guard_class=1, new_with_vtable=0, int_lshift=2,
> int_add=0, new=0)
jit/metainterp/test/test_send.py:284:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4ee820c>
insns = {'debug_merge_point': 4, 'getfield_gc_i': 1, 'guard_class': 1, 'guard_true': 2, ...}
expected = None
check = {'guard_class': 1, 'int_add': 0, 'int_lshift': 2, 'new': 0, ...}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 2 'int_add', expected 0
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 57, 52] -> 57
bh: live [58] -> 60
bh: guard_class [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <* GCREF hidden>] -> <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>
bh: getfield_raw_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, FieldDescr(<Struct rpython.jit.metainterp.test.test_send.Base_vtable { super, cls_getvalue, cls_incr }>, 'cls_getvalue')] -> <AddressAsInt * fn W2.getvalue>
bh: live [69] -> 71
bh: int_guard_value [<AddressAsInt * fn W2.getvalue>]
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4ee8aac>, <AddressAsInt * fn W2.getvalue>, [<* GCREF hidden>], CallDescr(<Signed>, (<* GcStruct rpython.jit.metainterp.test.test_send.Base { super }>,), <EffectInfo 0xf4edbc6c: EF=2>)] -> 536870912
bh: live [81] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 536870912] -> LeaveFrame!
~~~ return value: 536870912
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 23 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 6 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 23 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 2 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 4 bitstrings, mean length 0.8, max length 1
[c5fd5ef74414080] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5ef7471b480] {jit-trace-done
trace length: 66
number operations: 14
total snapshots: 3
snapshot data: 36
snapshot array data: 26
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5ef7474b080] jit-trace-done}
[c5fd5ef7478bb80] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>)
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_mul(i4, 2)
p7 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>))
setfield_gc(p7, i6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i9 = int_sub(i1, 1)
i11 = int_gt(i9, 0)
guard_true(i11)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i0, i9, p7, descr=<Loop-1>)
[c5fd5ef74844100] jit-log-noopt}
[c5fd5ef74855480] {jit-optimize
[c5fd5ef7487da80] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4edf6cc>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_lshift(i4, 1)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4edfcec>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef74e4e380] jit-log-intbounds}
[c5fd5ef74f58b00] {jit-log-exported-state
[i12, i13, r14]
INP(i15 = int_lshift(i16, 1/ci))
INP(i13 = int_add(i17, -1/ci))
INP(r14 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>)))
PureOp(i18 = int_gt(i13, 0/ci))
INP(i12)
[c5fd5ef74f7f800] jit-log-exported-state}
[c5fd5ef74f8ad80] jit-optimize}
[c5fd5ef74fa0d80] {jit-optimize
[c5fd5ef75183200] {jit-log-intbounds
[i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_lshift(i3, 1)
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4f7a98c>) [i11, i8, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5ef75830d80] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i11, i8, i5, descr=TargetToken(-185094388))
[c5fd5ef75a6d380] jit-optimize}
[c5fd5ef75a79e80] {jit-log-short-preamble
[]
label(i19, i20, i21, p22)
jump()
[c5fd5ef75a91200] jit-log-short-preamble}
[c5fd5ef75ace280] {jit-backend
[c5fd5ef75ae4000] {jit-log-compiling-loop
[i12, i17, p23]
label(i12, i17, p23, descr=TargetToken(-185730228))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p23, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4edf6cc>) [i12, i17, p23]
i16 = getfield_gc_i(p23, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i15 = int_lshift(i16, 1)
i13 = int_add(i17, -1)
i18 = int_gt(i13, 0)
guard_true(i18, descr=<Guard0xf4edfcec>) [i12, i17, p23]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, i13, i15, descr=TargetToken(-185094388))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i29 = int_lshift(i15, 1)
i31 = int_add(i13, -1)
i33 = int_gt(i31, 0)
guard_true(i33, descr=<Guard0xf4f7a98c>) [i12, i31, i29]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, i31, i29, descr=TargetToken(-185094388))
[c5fd5ef75b59a80] jit-log-compiling-loop}
[c5fd5ef75b6b600] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5ef75b77980] jit-mem-looptoken-alloc}
[c5fd5ef75bb0b80] jit-backend}
compiled new loop
[c5fd5ef75bbcd00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops
[i0, i1, p2]
label(i0, i1, p2, descr=TargetToken(-185730228))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_class(p2, <AddressAsInt * struct rpython.jit.metainterp.test.test_send.W2_vtable { super=... }>, descr=<Guard0xf4edf6cc>) [i0, i1, p2]
i4 = getfield_gc_i(p2, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_send.W2 { super, inst_y }>, 'inst_y'))
i6 = int_lshift(i4, 1)
i8 = int_add(i1, -1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<Guard0xf4edfcec>) [i0, i1, p2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, i8, i6, descr=TargetToken(-185094388))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_lshift(i6, 1)
i14 = int_add(i8, -1)
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf4f7a98c>) [i0, i14, i12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, i14, i12, descr=TargetToken(-185094388))
[c5fd5ef75c3cf80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5ef76062400] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_green_send
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_send_to_single_target_method
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_red_send_to_green_receiver
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_guard_failure
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_guard_failure_2
FAIL jit/metainterp/test/test_send.py::TestLLtype::()::test_oosend_different_initial_class
===================== 6 failed, 16 passed in 18.16 seconds =====================
++ 10:15:56 starting jit/metainterp/test/test_support.py [155 started in total]
__ jit/metainterp/test/test_support.py [152 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
jit/metainterp/test/test_support.py .
=========================== 1 passed in 0.21 seconds ===========================
++ 10:15:59 starting jit/metainterp/test/test_threadlocal.py [156 started in total]
__ jit/metainterp/test/test_threadlocal.py [153 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
jit/metainterp/test/test_threadlocal.py ...
=========================== 3 passed in 2.69 seconds ===========================
++ 10:16:04 starting jit/metainterp/test/test_tl.py [157 started in total]
__ jit/metainterp/test/test_tl.py [154 done in total, somefailed=True] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/metainterp/test/test_tl.py .FF..
=================================== FAILURES ===================================
___________________________ TestLLtype.test_tl_base ____________________________
self = <rpython.jit.metainterp.test.test_tl.TestLLtype instance at 0xf56e114c>
def test_tl_base(self):
# 'backendopt=True' is used on lltype to kill unneeded access
# to the class, which generates spurious 'guard_class'
main = self._get_main()
res = self.meta_interp(main, [0, 6], listops=True,
backendopt=True)
assert res == 5040
self.check_simple_loop({'jump': 1, 'int_le': 1,
> 'int_mul': 1, 'guard_false': 1, 'int_sub': 1})
jit/metainterp/test/test_tl.py:76:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:208: in check_simple_loop
get_stats().check_simple_loop(expected=expected, **check)
jit/metainterp/history.py:1007: in check_simple_loop
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf558724c>
insns = {'guard_false': 1, 'int_add': 1, 'int_le': 1, 'int_mul': 1, ...}
expected = {'guard_false': 1, 'int_le': 1, 'int_mul': 1, 'int_sub': 1, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_false..._mul': 1, ...} == {'guard_false'..._sub': 1, ...}
E Omitting 4 identical items, use -v to show
E Left contains more items:
E {'int_add': 1}
E Right contains more items:
E {'int_sub': 1}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_is_true [1, 2062, 1997] -> 1997
bh: live [1998] -> 2000
bh: goto_if_not_int_lt [10, 0, 2056, 2005] -> 2056
bh: int_copy [10] -> 10
bh: goto [2015] -> 2015
bh: strgetitem [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5587bcc>, <* GCREF hidden>, 10] -> 12
bh: int_and [12, 128] -> 0
bh: live [2024] -> 2026
bh: goto_if_not_int_is_true [0, 2053, 2030] -> 2053
bh: goto [2040] -> 2040
bh: int_add [12, 1] -> 13
bh: int_add [10, 13] -> 23
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: int_guard_value [23]
bh: live [6] -> 8
bh: ref_guard_value [<* GCREF hidden>]
bh: live [11] -> 13
bh: jit_merge_point [<BHInterp <JitCode 'interp'>>, 0, [23], [<* GCREF hidden>], [], [6], [<* GCREF hidden>], []] -> ContinueRunningNormally!
~~~ return value: 5040
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 277 blocks (36%)
[rtyper] specializing: 200 / 279 blocks (71%)
[rtyper] -=- specialized 281 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] specializing: 300 / 312 blocks (96%)
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:removeassert] Removed 2 asserts
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 67 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 202 -live- ops. Size of liveness is 71 bytes
[rtyper] replaced 14 'jit_force_virtualizable' with <* fn force_virtualizable_if_necessary>
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 5 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 8 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1
[c5fd5f1acc51000] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f1afe4e780] {jit-trace-done
trace length: 239
number operations: 51
total snapshots: 3
snapshot data: 36
snapshot array data: 206
bigint consts: 0 0
float consts: 0 0
ref consts: 16 0 2
descrs: 1
[c5fd5f1afe7cf80] jit-trace-done}
[c5fd5f1affb1380] {jit-log-noopt
# Traced loop or bridge with 24 ops
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 2)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i30 = int_le(i4, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i31 = int_is_true(i30)
guard_false(i31)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i32 = int_mul(i3, i4)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i34 = int_sub(i4, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i36 = same_as_i(2)
i38 = same_as_i(1)
i40 = same_as_i(1)
guard_future_condition()
jump(i0, p1, i36, i32, i34, i38, i40, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, descr=<Loop-1>)
[c5fd5f1b01d1e80] jit-log-noopt}
[c5fd5f1b01e5100] {jit-optimize
[c5fd5f1b02b6080] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf555130c>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i30 = int_le(i4, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i30, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf565d7ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i4: (2 <= 0b0?...?) IntBound(2, MAXINT)
i31 = int_mul(i3, i4)
# i31 -> (?) IntBound.unbounded()
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i33 = int_add(i4, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1b0daf800] jit-log-intbounds}
[c5fd5f1b1351c80] {jit-log-exported-state
[i41, r42, 2/ci, i43, i44, 1/ci, 1/ci, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64, i65]
INP(i48)
INP(i43 = int_mul(i66, i67))
INP(i64)
INP(i62)
INP(i52)
INP(i60)
INP(r42)
INP(i49)
INP(i59)
INP(i41)
INP(i55)
INP(i61)
INP(i65)
INP(i44 = int_add(i67, -1/ci))
INP(i54)
INP(i58)
INP(i47)
INP(i51)
INP(i53)
INP(i63)
INP(i57)
INP(i56)
INP(i50)
INP(i46)
INP(i45)
[c5fd5f1b13b0400] jit-log-exported-state}
[c5fd5f1b13be680] jit-optimize}
[c5fd5f1b13d5780] {jit-optimize
[c5fd5f1b1fa3d00] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i28: (1 <= 0b0?...?) IntBound(1, MAXINT)
i30 = int_le(i28, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i30, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf547a9ec>) [p31, i32, i28, i30, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i28: (2 <= 0b0?...?) IntBound(2, MAXINT)
i55 = int_mul(i32, i28)
# i55 -> (?) IntBound.unbounded()
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i57 = int_add(i28, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1b2a1cd80] jit-log-intbounds}
# i57: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i54, p31, i55, i57, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, descr=TargetToken(-179389044))
[c5fd5f1b3605a80] jit-optimize}
[c5fd5f1b3615100] {jit-log-short-preamble
[]
label(i68, p69, i70, i71, i72, i73, i74, i75, i76, i77, i78, i79, i80, i81, i82, i83, i84, i85, i86, i87, i88, i89, i90, i91, i92)
jump()
[c5fd5f1b363c000] jit-log-short-preamble}
[c5fd5f1b380d700] {jit-backend
[c5fd5f1b382f000] {jit-log-compiling-loop
[i41, p42]
i93 = getfield_gc_i(p42, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p94 = getfield_gc_r(p42, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i96 = getarrayitem_gc_i(p94, 0, descr=ArrayDescr(<GcArray of Signed >))
i98 = getarrayitem_gc_i(p94, 1, descr=ArrayDescr(<GcArray of Signed >))
i100 = getarrayitem_gc_i(p94, 2, descr=ArrayDescr(<GcArray of Signed >))
i102 = getarrayitem_gc_i(p94, 3, descr=ArrayDescr(<GcArray of Signed >))
i104 = getarrayitem_gc_i(p94, 4, descr=ArrayDescr(<GcArray of Signed >))
i106 = getarrayitem_gc_i(p94, 5, descr=ArrayDescr(<GcArray of Signed >))
i108 = getarrayitem_gc_i(p94, 6, descr=ArrayDescr(<GcArray of Signed >))
i110 = getarrayitem_gc_i(p94, 7, descr=ArrayDescr(<GcArray of Signed >))
i112 = getarrayitem_gc_i(p94, 8, descr=ArrayDescr(<GcArray of Signed >))
i114 = getarrayitem_gc_i(p94, 9, descr=ArrayDescr(<GcArray of Signed >))
i116 = getarrayitem_gc_i(p94, 10, descr=ArrayDescr(<GcArray of Signed >))
i118 = getarrayitem_gc_i(p94, 11, descr=ArrayDescr(<GcArray of Signed >))
i120 = getarrayitem_gc_i(p94, 12, descr=ArrayDescr(<GcArray of Signed >))
i122 = getarrayitem_gc_i(p94, 13, descr=ArrayDescr(<GcArray of Signed >))
i124 = getarrayitem_gc_i(p94, 14, descr=ArrayDescr(<GcArray of Signed >))
i126 = getarrayitem_gc_i(p94, 15, descr=ArrayDescr(<GcArray of Signed >))
i128 = getarrayitem_gc_i(p94, 16, descr=ArrayDescr(<GcArray of Signed >))
i130 = getarrayitem_gc_i(p94, 17, descr=ArrayDescr(<GcArray of Signed >))
i132 = getarrayitem_gc_i(p94, 18, descr=ArrayDescr(<GcArray of Signed >))
i134 = getarrayitem_gc_i(p94, 19, descr=ArrayDescr(<GcArray of Signed >))
i136 = getarrayitem_gc_i(p94, 20, descr=ArrayDescr(<GcArray of Signed >))
i138 = getarrayitem_gc_i(p94, 21, descr=ArrayDescr(<GcArray of Signed >))
i140 = getarrayitem_gc_i(p94, 22, descr=ArrayDescr(<GcArray of Signed >))
i142 = getarrayitem_gc_i(p94, 23, descr=ArrayDescr(<GcArray of Signed >))
i144 = getarrayitem_gc_i(p94, 24, descr=ArrayDescr(<GcArray of Signed >))
label(i41, p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179895284))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i93, 2, descr=<Guard0xf555130c>) [p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i147 = int_le(i98, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i147, descr=<Guard0xf565d7ec>) [p42, i93, i96, i98, i100, i102, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i148 = int_mul(i96, i98)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i150 = int_add(i98, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i41, p42, i148, i150, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179389044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i152 = int_le(i150, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i152, descr=<Guard0xf547a9ec>) [p42, i148, i150, i152, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, i41]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i153 = int_mul(i148, i150)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i155 = int_add(i150, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i41, p42, i153, i155, i104, i106, i108, i110, i112, i114, i116, i118, i120, i122, i124, i126, i128, i130, i132, i134, i136, i138, i140, i142, i144, descr=TargetToken(-179389044))
[c5fd5f1b39e3e80] jit-log-compiling-loop}
[c5fd5f1b39f6900] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f1b3a03200] jit-mem-looptoken-alloc}
[c5fd5f1b3ad9c00] jit-backend}
compiled new loop
[c5fd5f1b3ae6b00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 65 ops
[i0, p1]
i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >))
i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >))
i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >))
i11 = getarrayitem_gc_i(p3, 3, descr=ArrayDescr(<GcArray of Signed >))
i13 = getarrayitem_gc_i(p3, 4, descr=ArrayDescr(<GcArray of Signed >))
i15 = getarrayitem_gc_i(p3, 5, descr=ArrayDescr(<GcArray of Signed >))
i17 = getarrayitem_gc_i(p3, 6, descr=ArrayDescr(<GcArray of Signed >))
i19 = getarrayitem_gc_i(p3, 7, descr=ArrayDescr(<GcArray of Signed >))
i21 = getarrayitem_gc_i(p3, 8, descr=ArrayDescr(<GcArray of Signed >))
i23 = getarrayitem_gc_i(p3, 9, descr=ArrayDescr(<GcArray of Signed >))
i25 = getarrayitem_gc_i(p3, 10, descr=ArrayDescr(<GcArray of Signed >))
i27 = getarrayitem_gc_i(p3, 11, descr=ArrayDescr(<GcArray of Signed >))
i29 = getarrayitem_gc_i(p3, 12, descr=ArrayDescr(<GcArray of Signed >))
i31 = getarrayitem_gc_i(p3, 13, descr=ArrayDescr(<GcArray of Signed >))
i33 = getarrayitem_gc_i(p3, 14, descr=ArrayDescr(<GcArray of Signed >))
i35 = getarrayitem_gc_i(p3, 15, descr=ArrayDescr(<GcArray of Signed >))
i37 = getarrayitem_gc_i(p3, 16, descr=ArrayDescr(<GcArray of Signed >))
i39 = getarrayitem_gc_i(p3, 17, descr=ArrayDescr(<GcArray of Signed >))
i41 = getarrayitem_gc_i(p3, 18, descr=ArrayDescr(<GcArray of Signed >))
i43 = getarrayitem_gc_i(p3, 19, descr=ArrayDescr(<GcArray of Signed >))
i45 = getarrayitem_gc_i(p3, 20, descr=ArrayDescr(<GcArray of Signed >))
i47 = getarrayitem_gc_i(p3, 21, descr=ArrayDescr(<GcArray of Signed >))
i49 = getarrayitem_gc_i(p3, 22, descr=ArrayDescr(<GcArray of Signed >))
i51 = getarrayitem_gc_i(p3, 23, descr=ArrayDescr(<GcArray of Signed >))
i53 = getarrayitem_gc_i(p3, 24, descr=ArrayDescr(<GcArray of Signed >))
label(i0, p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179895284))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 2, descr=<Guard0xf555130c>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i56 = int_le(i7, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i56, descr=<Guard0xf565d7ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i57 = int_mul(i5, i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i59 = int_add(i7, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, p1, i57, i59, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179389044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i61 = int_le(i59, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i61, descr=<Guard0xf547a9ec>) [p1, i57, i59, i61, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i62 = int_mul(i57, i59)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i64 = int_add(i59, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, p1, i62, i64, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i37, i39, i41, i43, i45, i47, i49, i51, i53, descr=TargetToken(-179389044))
[c5fd5f1b3c9e080] jit-log-opt-loop}
ContinueRunningNormally
[c5fd5f1b42ff700] jit-tracing}
_____________________________ TestLLtype.test_tl_2 _____________________________
self = <rpython.jit.metainterp.test.test_tl.TestLLtype instance at 0xf53f80ec>
def test_tl_2(self):
main = self._get_main()
res = self.meta_interp(main, [1, 10], listops=True,
backendopt=True)
assert res == main(1, 10)
self.check_simple_loop({'int_le': 1, 'int_sub': 1, 'jump': 1,
> 'guard_false': 1})
jit/metainterp/test/test_tl.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:208: in check_simple_loop
get_stats().check_simple_loop(expected=expected, **check)
jit/metainterp/history.py:1007: in check_simple_loop
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf5380fcc>
insns = {'guard_false': 1, 'int_add': 1, 'int_le': 1, 'jump': 1}
expected = {'guard_false': 1, 'int_le': 1, 'int_sub': 1, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_false... 1, 'jump': 1} == {'guard_false'... 1, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 1}
E Right contains more items:
E {'int_sub': 1}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_is_true [1, 2062, 1997] -> 1997
bh: live [1998] -> 2000
bh: goto_if_not_int_lt [10, 0, 2056, 2005] -> 2056
bh: int_copy [10] -> 10
bh: goto [2015] -> 2015
bh: strgetitem [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf5380fec>, <* GCREF hidden>, 10] -> 4
bh: int_and [4, 128] -> 0
bh: live [2024] -> 2026
bh: goto_if_not_int_is_true [0, 2053, 2030] -> 2053
bh: goto [2040] -> 2040
bh: int_add [4, 1] -> 5
bh: int_add [10, 5] -> 15
bh: loop_header [0]
bh: goto [0] -> 0
bh: live [1] -> 3
bh: int_guard_value [15]
bh: live [6] -> 8
bh: ref_guard_value [<* GCREF hidden>]
bh: live [11] -> 13
bh: jit_merge_point [<BHInterp <JitCode 'interp'>>, 0, [15], [<* GCREF hidden>], [], [10], [<* GCREF hidden>], []] -> ContinueRunningNormally!
~~~ return value: 1
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 277 blocks (36%)
[rtyper] specializing: 200 / 279 blocks (71%)
[rtyper] -=- specialized 281 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] specializing: 300 / 312 blocks (96%)
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:removeassert] Removed 2 asserts
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 67 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 202 -live- ops. Size of liveness is 71 bytes
[rtyper] replaced 14 'jit_force_virtualizable' with <* fn force_virtualizable_if_necessary>
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 5 effectinfos:
[jitcodewriter] 1 descrs for arrays
[jitcodewriter] 8 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1
[c5fd5f1e1167100] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f1e290e000] {jit-trace-done
trace length: 173
number operations: 37
total snapshots: 3
snapshot data: 36
snapshot array data: 152
bigint consts: 0 0
float consts: 0 0
ref consts: 12 0 2
descrs: 1
[c5fd5f1e293c000] jit-trace-done}
[c5fd5f1e2a1fb00] {jit-log-noopt
# Traced loop or bridge with 19 ops
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_sub(i3, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i23 = int_le(i21, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i24 = int_is_true(i23)
guard_false(i24)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i26 = same_as_i(1)
i28 = same_as_i(1)
i30 = same_as_i(1)
guard_future_condition()
jump(i0, p1, i26, i21, i28, i30, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, descr=<Loop-1>)
[c5fd5f1e2bb0100] jit-log-noopt}
[c5fd5f1e2bc5c80] {jit-optimize
[c5fd5f1e2c5cd00] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 1, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf539e2ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i3, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i23 = int_le(i21, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i23, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf54252ec>) [p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1e34d1780] jit-log-intbounds}
[c5fd5f1e3985780] {jit-log-exported-state
[i31, r32, 1/ci, i33, 1/ci, 1/ci, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46]
INP(i31)
INP(r32)
INP(i34)
PureOp(i47 = int_le(i33, 1/ci))
INP(i33 = int_add(i48, -1/ci))
INP(i39)
INP(i42)
INP(i41)
INP(i43)
INP(i36)
INP(i35)
INP(i46)
INP(i45)
INP(i38)
INP(i37)
INP(i44)
INP(i40)
[c5fd5f1e39cf100] jit-log-exported-state}
[c5fd5f1e39dbc00] jit-optimize}
[c5fd5f1e39f3500] {jit-optimize
[c5fd5f1e4190480] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i19: (2 <= 0b0?...?) IntBound(2, MAXINT)
i21 = int_add(i19, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i21: (1 <= 0b0?...? <= MAXINT - 1) IntBound(1, MAXINT - 1)
i23 = int_le(i21, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i23, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52bff4c>) [p24, i21, i23, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35, i36, i37, i38]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1e4b1b080] jit-log-intbounds}
# i21: (2 <= 0b0?...?) IntBound(2, MAXINT)
jump(i38, p24, i21, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35, i36, i37, descr=TargetToken(-181646996))
[c5fd5f1e5415600] jit-optimize}
[c5fd5f1e5423080] {jit-log-short-preamble
[]
label(i49, p50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63, i64)
jump()
[c5fd5f1e5444600] jit-log-short-preamble}
[c5fd5f1e55a6a00] {jit-backend
[c5fd5f1e55ca800] {jit-log-compiling-loop
[i31, p32]
i65 = getfield_gc_i(p32, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p66 = getfield_gc_r(p32, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i68 = getarrayitem_gc_i(p66, 0, descr=ArrayDescr(<GcArray of Signed >))
i70 = getarrayitem_gc_i(p66, 1, descr=ArrayDescr(<GcArray of Signed >))
i72 = getarrayitem_gc_i(p66, 2, descr=ArrayDescr(<GcArray of Signed >))
i74 = getarrayitem_gc_i(p66, 3, descr=ArrayDescr(<GcArray of Signed >))
i76 = getarrayitem_gc_i(p66, 4, descr=ArrayDescr(<GcArray of Signed >))
i78 = getarrayitem_gc_i(p66, 5, descr=ArrayDescr(<GcArray of Signed >))
i80 = getarrayitem_gc_i(p66, 6, descr=ArrayDescr(<GcArray of Signed >))
i82 = getarrayitem_gc_i(p66, 7, descr=ArrayDescr(<GcArray of Signed >))
i84 = getarrayitem_gc_i(p66, 8, descr=ArrayDescr(<GcArray of Signed >))
i86 = getarrayitem_gc_i(p66, 9, descr=ArrayDescr(<GcArray of Signed >))
i88 = getarrayitem_gc_i(p66, 10, descr=ArrayDescr(<GcArray of Signed >))
i90 = getarrayitem_gc_i(p66, 11, descr=ArrayDescr(<GcArray of Signed >))
i92 = getarrayitem_gc_i(p66, 12, descr=ArrayDescr(<GcArray of Signed >))
i94 = getarrayitem_gc_i(p66, 13, descr=ArrayDescr(<GcArray of Signed >))
i96 = getarrayitem_gc_i(p66, 14, descr=ArrayDescr(<GcArray of Signed >))
i98 = getarrayitem_gc_i(p66, 15, descr=ArrayDescr(<GcArray of Signed >))
label(i31, p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181434420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i65, 1, descr=<Guard0xf539e2ec>) [p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i101 = int_add(i68, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i103 = int_le(i101, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i103, descr=<Guard0xf54252ec>) [p32, i65, i68, i70, i72, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i31, p32, i101, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181646996))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i105 = int_add(i101, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i107 = int_le(i105, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i107, descr=<Guard0xf52bff4c>) [p32, i105, i107, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, i31]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i31, p32, i105, i74, i76, i78, i80, i82, i84, i86, i88, i90, i92, i94, i96, i98, descr=TargetToken(-181646996))
[c5fd5f1e570e400] jit-log-compiling-loop}
[c5fd5f1e5722a00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f1e572fb00] jit-mem-looptoken-alloc}
[c5fd5f1e57e2080] jit-backend}
compiled new loop
[c5fd5f1e57efd80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 46 ops
[i0, p1]
i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.tl.tl.Stack { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >))
i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >))
i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >))
i11 = getarrayitem_gc_i(p3, 3, descr=ArrayDescr(<GcArray of Signed >))
i13 = getarrayitem_gc_i(p3, 4, descr=ArrayDescr(<GcArray of Signed >))
i15 = getarrayitem_gc_i(p3, 5, descr=ArrayDescr(<GcArray of Signed >))
i17 = getarrayitem_gc_i(p3, 6, descr=ArrayDescr(<GcArray of Signed >))
i19 = getarrayitem_gc_i(p3, 7, descr=ArrayDescr(<GcArray of Signed >))
i21 = getarrayitem_gc_i(p3, 8, descr=ArrayDescr(<GcArray of Signed >))
i23 = getarrayitem_gc_i(p3, 9, descr=ArrayDescr(<GcArray of Signed >))
i25 = getarrayitem_gc_i(p3, 10, descr=ArrayDescr(<GcArray of Signed >))
i27 = getarrayitem_gc_i(p3, 11, descr=ArrayDescr(<GcArray of Signed >))
i29 = getarrayitem_gc_i(p3, 12, descr=ArrayDescr(<GcArray of Signed >))
i31 = getarrayitem_gc_i(p3, 13, descr=ArrayDescr(<GcArray of Signed >))
i33 = getarrayitem_gc_i(p3, 14, descr=ArrayDescr(<GcArray of Signed >))
i35 = getarrayitem_gc_i(p3, 15, descr=ArrayDescr(<GcArray of Signed >))
label(i0, p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181434420))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_value(i2, 1, descr=<Guard0xf539e2ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i38 = int_add(i5, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i40 = int_le(i38, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i40, descr=<Guard0xf54252ec>) [p1, i2, i5, i7, i9, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i0, p1, i38, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181646996))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i42 = int_add(i38, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i44 = int_le(i42, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_false(i44, descr=<Guard0xf52bff4c>) [p1, i42, i44, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i0, p1, i42, i11, i13, i15, i17, i19, i21, i23, i25, i27, i29, i31, i33, i35, descr=TargetToken(-181646996))
[c5fd5f1e593e300] jit-log-opt-loop}
ContinueRunningNormally
[c5fd5f1e5e88900] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_tl.py::TestLLtype::()::test_tl_base
FAIL jit/metainterp/test/test_tl.py::TestLLtype::()::test_tl_2
===================== 2 failed, 3 passed in 15.28 seconds ======================
++ 10:16:21 starting jit/metainterp/test/test_tlc.py [158 started in total]
__ jit/metainterp/test/test_tlc.py [155 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
jit/metainterp/test/test_tlc.py .s
===================== 1 passed, 1 skipped in 8.30 seconds ======================
++ 10:16:32 starting jit/metainterp/test/test_tracelimit.py [159 started in total]
__ jit/metainterp/test/test_recursive.py [156 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 42 items
jit/metainterp/test/test_recursive.py ................s........s................
==================== 40 passed, 2 skipped in 115.00 seconds ====================
++ 10:17:19 starting jit/metainterp/test/test_tracingopts.py [160 started in total]
__ jit/metainterp/test/test_string.py [157 done in total, somefailed=True] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 97 items
jit/metainterp/test/test_string.py .......................F.....sFFFFF...FF...F........................F.....sFFFFF...FF...F........
=================================== FAILURES ===================================
________________ TestLLtype.test_string_compare_quasiimmutable _________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf4b1242c>
def test_string_compare_quasiimmutable(self):
class Sys(object):
_immutable_fields_ = ["defaultencoding?"]
def __init__(self, s):
self.defaultencoding = s
_str = self._str
sys = Sys(_str('ascii'))
mydriver = JitDriver(reds = ['n', 'sa'], greens = [])
def f(n):
sa = 0
sys.defaultencoding = _str('ascii')
while n:
mydriver.jit_merge_point(n=n, sa=sa)
if sys.defaultencoding == _str('ascii'):
sa += 1
n -= 1
sys.defaultencoding = _str('utf-8')
return sa
assert self.meta_interp(f, [8]) == f(8)
self.check_resops({'jump': 1, 'int_is_true': 2, 'int_add': 2,
'guard_true': 2, 'guard_not_invalidated': 2,
> 'int_sub': 2})
jit/metainterp/test/test_string.py:507:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4b2b6ac>
insns = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 4, 'int_is_true': 2, ...}
expected = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 2, 'int_is_true': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_not_i...true': 2, ...} == {'guard_not_in...true': 2, ...}
E Omitting 4 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: record_quasiimmut_field [<* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding'), FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')]
bh: getfield_gc_r_pure [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] -> * GCREF hidden
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <AddressAsInt * fn ll_streq__rpy_stringPtr_rpy_stringPtr>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<Bool>, (<* GcStruct rpy_string { hash, chars }>, <* GcStruct rpy_string { hash, chars }>), <EffectInfo 0xf571a02c: EF=0 OS=24>)] -> 1
bh: live [36] -> 38
bh: goto_if_not [1, 74, 42] -> 42
bh: int_add [7, 1] -> 8
bh: int_sub [1, 1] -> 0
bh: live [51] -> 53
bh: goto_if_not_int_is_true [0, 60, 57] -> 60
bh: live [61] -> 63
bh: jit_force_quasi_immutable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')]
bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4b2b18c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')]
bh: int_return [<BHInterp <JitCode 'f'>>, 8] -> LeaveFrame!
~~~ return value: 8
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 18 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 5 -live- ops. Size of liveness is 12 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 8 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5f0e873b700] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f0e8969100] {jit-trace-done
trace length: 49
number operations: 11
total snapshots: 3
snapshot data: 36
snapshot array data: 20
bigint consts: 1 1
float consts: 0 0
ref consts: 3 0 3
descrs: 2
[c5fd5f0e8997300] jit-trace-done}
[c5fd5f0e89ce800] {jit-log-noopt
# Traced loop or bridge with 10 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
quasiimmut_field(ConstPtr(ptr2), descr=<rpython.jit.metainterp.quasiimmut.QuasiImmutDescr object at 0xf4aedc0c>)
guard_not_invalidated()
i4 = int_add(i1, 1)
i6 = int_sub(i0, 1)
i7 = int_is_true(i6)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i6, i4, descr=<Loop-1>)
[c5fd5f0e8a49f00] jit-log-noopt}
[c5fd5f0e8a5a280] {jit-optimize
[c5fd5f0e8a7c700] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4af328c>) [i0, i1]
i3 = int_add(i1, 1)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i0, -1)
i6 = int_is_true(i5)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4af37cc>) [i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f0e8ec9880] jit-log-intbounds}
[c5fd5f0e8f44f00] {jit-log-exported-state
[i8, i9]
INP(i9 = int_add(i10, 1/ci))
PureOp(i11 = int_is_true(i8))
INP(i8 = int_add(i12, -1/ci))
[c5fd5f0e8f64500] jit-log-exported-state}
[c5fd5f0e8f6f080] jit-optimize}
[c5fd5f0e8f85e80] {jit-optimize
[c5fd5f0e908bd80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4af3d6c>) [i2, i3]
i5 = int_add(i3, 1)
# i5 -> (?) IntBound.unbounded()
i7 = int_add(i2, -1)
i8 = int_is_true(i7)
guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4af938c>) [i2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f0e94ac780] jit-log-intbounds}
jump(i7, i5, descr=TargetToken(-189819636))
[c5fd5f0e95a6400] jit-optimize}
[c5fd5f0e95b3300] {jit-log-short-preamble
[]
label(i13, i14)
jump()
[c5fd5f0e95c8a80] jit-log-short-preamble}
[c5fd5f0e9605980] {jit-backend
[c5fd5f0e961bb00] {jit-log-compiling-loop
[i12, i10]
label(i12, i10, descr=TargetToken(-189843444))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf4af328c>) [i12, i10]
i9 = int_add(i10, 1)
i8 = int_add(i12, -1)
i11 = int_is_true(i8)
guard_true(i11, descr=<Guard0xf4af37cc>) [i12, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i9, descr=TargetToken(-189819636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf4af3d6c>) [i8, i9]
i18 = int_add(i9, 1)
i20 = int_add(i8, -1)
i21 = int_is_true(i20)
guard_true(i21, descr=<Guard0xf4af938c>) [i8, i9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i20, i18, descr=TargetToken(-189819636))
[c5fd5f0e968a480] jit-log-compiling-loop}
[c5fd5f0e969b780] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f0e96a7d00] jit-mem-looptoken-alloc}
[c5fd5f0e96dee00] jit-backend}
compiled new loop
[c5fd5f0e96eb300] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-189843444))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf4af328c>) [i0, i1]
i3 = int_add(i1, 1)
i5 = int_add(i0, -1)
i6 = int_is_true(i5)
guard_true(i6, descr=<Guard0xf4af37cc>) [i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, i3, descr=TargetToken(-189819636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf4af3d6c>) [i5, i3]
i8 = int_add(i3, 1)
i10 = int_add(i5, -1)
i11 = int_is_true(i10)
guard_true(i11, descr=<Guard0xf4af938c>) [i5, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i10, i8, descr=TargetToken(-189819636))
[c5fd5f0e9762b00] jit-log-opt-loop}
[c5fd5f0e9986880] {jit-invalidate-quasi-immutable
fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1
[c5fd5f0e9998200] jit-invalidate-quasi-immutable}
DoneWithThisFrameInt
[c5fd5f0e99cdd80] jit-tracing}
_____________________ TestLLtype.test_stringbuilder_create _____________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf47b95ec>
def test_stringbuilder_create(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
if sb.build() != u"":
raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:616:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf470884c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 110, 107] -> 110
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 90 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] specializing: 100 / 103 blocks (97%)
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 11 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 38 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 11 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f17c258980] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f17ca19b00] {jit-trace-done
trace length: 135
number operations: 23
total snapshots: 5
snapshot data: 60
snapshot array data: 34
bigint consts: 3 3
float consts: 0 0
ref consts: 2 1 2
descrs: 1
[c5fd5f17ca6a080] jit-trace-done}
[c5fd5f17cab3800] {jit-log-noopt
# Traced loop or bridge with 23 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p7)
p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf466c44c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i15 = call_pure_i(ConstClass(ll_streq__rpy_unicodePtr_rpy_unicodePtr), p10, ConstPtr(ptr14), descr=CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>))
i16 = int_is_zero(i15)
guard_false(i16)
i18 = int_sub(i0, 1)
i20 = int_gt(i18, 0)
guard_true(i20)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i18, descr=<Loop-1>)
[c5fd5f17cc4df00] jit-log-noopt}
[c5fd5f17cc66300] {jit-optimize
[c5fd5f17cc92a00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf467b80c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f17d403500] jit-log-intbounds}
[c5fd5f17d4be300] {jit-log-exported-state
[i21]
INP(i21 = int_add(i22, -1/ci))
PureOp(i23 = int_gt(i21, 0/ci))
[c5fd5f17d4e3680] jit-log-exported-state}
[c5fd5f17d4f2b00] jit-optimize}
[c5fd5f17d513080] {jit-optimize
[c5fd5f17d677180] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4680e4c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f17dfe2400] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-194480596))
[c5fd5f17e10f600] jit-optimize}
[c5fd5f17e11bf80] {jit-log-short-preamble
[]
label(i24)
jump()
[c5fd5f17e130580] jit-log-short-preamble}
[c5fd5f17e160500] {jit-backend
[c5fd5f17e178200] {jit-log-compiling-loop
[i22]
label(i22, descr=TargetToken(-194509044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i22, -1)
i23 = int_gt(i21, 0)
guard_true(i23, descr=<Guard0xf467b80c>) [i21]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i21, descr=TargetToken(-194480596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i28 = int_add(i21, -1)
i30 = int_gt(i28, 0)
guard_true(i30, descr=<Guard0xf4680e4c>) [i28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i28, descr=TargetToken(-194480596))
[c5fd5f17e1ca280] jit-log-compiling-loop}
[c5fd5f17e1db200] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f17e1e7580] jit-mem-looptoken-alloc}
[c5fd5f17e212480] jit-backend}
compiled new loop
[c5fd5f17e21ec00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-194509044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf467b80c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-194480596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4680e4c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-194480596))
[c5fd5f17e27d400] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f17e3d8280] jit-tracing}
__________________ TestLLtype.test_stringbuilder_append_char ___________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf464948c>
def test_stringbuilder_append_char(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"a")
sb.append(unichr(n))
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != unichr(n): raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:635:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4589a6c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 216, 213] -> 216
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 106 blocks (94%)
[rtyper] -=- specialized 106 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 20 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 4 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 17 -live- ops. Size of liveness is 63 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 4 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f194b6a180] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f1952f8c80] {jit-trace-done
trace length: 187
number operations: 33
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f195327e80] jit-trace-done}
[c5fd5f195354980] {jit-log-noopt
# Traced loop or bridge with 33 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 1, i0)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf45b744c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 97)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i27 = int_ne(i26, i0)
guard_false(i27)
i29 = int_sub(i0, 1)
i31 = int_gt(i29, 0)
guard_true(i31)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i29, descr=<Loop-1>)
[c5fd5f1954aa200] jit-log-noopt}
[c5fd5f1954ba780] {jit-optimize
[c5fd5f1954d5980] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i0: (0 <= 0b0?...?) IntBound.nonnegative()
i2 = int_add(i0, -1)
# i2: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4550dec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f195c24700] jit-log-intbounds}
[c5fd5f195ca4a00] {jit-log-exported-state
[i32]
PureOp(i33 = int_gt(i32, 0/ci))
INP(i32 = int_add(i34, -1/ci))
[c5fd5f195cbd280] jit-log-exported-state}
[c5fd5f195cc7e80] jit-optimize}
[c5fd5f195cdeb80] {jit-optimize
[c5fd5f195dd5e80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4559dac>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f19646ec00] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-195698484))
[c5fd5f196592280] jit-optimize}
[c5fd5f1965a1800] {jit-log-short-preamble
[]
label(i35)
jump()
[c5fd5f1965b7000] jit-log-short-preamble}
[c5fd5f1965e7980] {jit-backend
[c5fd5f1965fde80] {jit-log-compiling-loop
[i34]
label(i34, descr=TargetToken(-195718580))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i32 = int_add(i34, -1)
i33 = int_gt(i32, 0)
guard_true(i33, descr=<Guard0xf4550dec>) [i32]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i32, descr=TargetToken(-195698484))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i39 = int_add(i32, -1)
i41 = int_gt(i39, 0)
guard_true(i41, descr=<Guard0xf4559dac>) [i39]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i39, descr=TargetToken(-195698484))
[c5fd5f196653600] jit-log-compiling-loop}
[c5fd5f196663f80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f196670480] jit-mem-looptoken-alloc}
[c5fd5f19669ba00] jit-backend}
compiled new loop
[c5fd5f1966a7f80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-195718580))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4550dec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-195698484))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf4559dac>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-195698484))
[c5fd5f196703800] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f196864480] jit-tracing}
____________________ TestLLtype.test_stringbuilder_append_1 ____________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf45809cc>
def test_stringbuilder_append_1(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"ab")
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != u"b": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:653:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf45225cc>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 143, 140] -> 143
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 244 blocks (40%)
[rtyper] specializing: 200 / 244 blocks (81%)
[rtyper] -=- specialized 244 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 21 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f1b9ccd900] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f1ba4c0380] {jit-trace-done
trace length: 180
number operations: 32
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f1ba4ec880] jit-trace-done}
[c5fd5f1ba517a00] {jit-log-noopt
# Traced loop or bridge with 32 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
unicodesetitem(p3, 1, 98)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf460ff0c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 97)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i28 = int_ne(i26, 98)
guard_false(i28)
i30 = int_sub(i0, 1)
i32 = int_gt(i30, 0)
guard_true(i32)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i30, descr=<Loop-1>)
[c5fd5f1ba666180] jit-log-noopt}
[c5fd5f1ba676b80] {jit-optimize
[c5fd5f1ba693e00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4639eac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1bac1b680] jit-log-intbounds}
[c5fd5f1bac9c700] {jit-log-exported-state
[i33]
PureOp(i34 = int_gt(i33, 0/ci))
INP(i33 = int_add(i35, -1/ci))
[c5fd5f1bacb5180] jit-log-exported-state}
[c5fd5f1bacbfd80] jit-optimize}
[c5fd5f1bacd6500] {jit-optimize
[c5fd5f1badcce00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf444cd4c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1bb46a780] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-196812596))
[c5fd5f1bb59aa80] jit-optimize}
[c5fd5f1bb5a7a00] {jit-log-short-preamble
[]
label(i36)
jump()
[c5fd5f1bb5bd180] jit-log-short-preamble}
[c5fd5f1bb5ee480] {jit-backend
[c5fd5f1bb604a00] {jit-log-compiling-loop
[i35]
label(i35, descr=TargetToken(-194748596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i33 = int_add(i35, -1)
i34 = int_gt(i33, 0)
guard_true(i34, descr=<Guard0xf4639eac>) [i33]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i33, descr=TargetToken(-196812596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i40 = int_add(i33, -1)
i42 = int_gt(i40, 0)
guard_true(i42, descr=<Guard0xf444cd4c>) [i40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i40, descr=TargetToken(-196812596))
[c5fd5f1bb65ad00] jit-log-compiling-loop}
[c5fd5f1bb66c000] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f1bb678d80] jit-mem-looptoken-alloc}
[c5fd5f1bb6a5280] jit-backend}
compiled new loop
[c5fd5f1bb6b1b80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-194748596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf4639eac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-196812596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf444cd4c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-196812596))
[c5fd5f1bb712880] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f1bb884800] jit-tracing}
____________________ TestLLtype.test_stringbuilder_append_2 ____________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf4639fcc>
def test_stringbuilder_append_2(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"abc")
s = sb.build()
if len(s) != 3: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != u"b": raise ValueError
if s[2] != u"c": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:672:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf44d5d0c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 157, 154] -> 157
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 244 blocks (40%)
[rtyper] specializing: 200 / 246 blocks (81%)
[rtyper] -=- specialized 246 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 23 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 74 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f1e2423300] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f1e2ca3000] {jit-trace-done
trace length: 202
number operations: 36
total snapshots: 8
snapshot data: 96
snapshot array data: 58
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f1e2cd3500] jit-trace-done}
[c5fd5f1e2d01b80] {jit-log-noopt
# Traced loop or bridge with 36 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
unicodesetitem(p3, 1, 98)
unicodesetitem(p3, 2, 99)
p14 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p14)
p17 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 3, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf44fa94c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p17, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i20 = unicodelen(p17)
i22 = int_ne(i20, 3)
guard_false(i22)
i24 = unicodegetitem(p17, 0)
i26 = int_ne(i24, 97)
guard_false(i26)
i28 = unicodegetitem(p17, 1)
i30 = int_ne(i28, 98)
guard_false(i30)
i32 = unicodegetitem(p17, 2)
i34 = int_ne(i32, 99)
guard_false(i34)
i36 = int_sub(i0, 1)
i38 = int_gt(i36, 0)
guard_true(i38)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i36, descr=<Loop-1>)
[c5fd5f1e2e7e980] jit-log-noopt}
[c5fd5f1e2e90080] {jit-optimize
[c5fd5f1e2eac380] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf43a8cec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1e3465700] jit-log-intbounds}
[c5fd5f1e34e2900] {jit-log-exported-state
[i39]
INP(i39 = int_add(i40, -1/ci))
PureOp(i41 = int_gt(i39, 0/ci))
[c5fd5f1e34fab80] jit-log-exported-state}
[c5fd5f1e3505200] jit-optimize}
[c5fd5f1e351b180] {jit-optimize
[c5fd5f1e3607680] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf43b6e0c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f1e3ce1100] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-198143700))
[c5fd5f1e3e07d80] jit-optimize}
[c5fd5f1e3e14300] {jit-log-short-preamble
[]
label(i42)
jump()
[c5fd5f1e3e28b80] jit-log-short-preamble}
[c5fd5f1e3e57d80] {jit-backend
[c5fd5f1e3e6df00] {jit-log-compiling-loop
[i40]
label(i40, descr=TargetToken(-197476532))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i39 = int_add(i40, -1)
i41 = int_gt(i39, 0)
guard_true(i41, descr=<Guard0xf43a8cec>) [i39]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i39, descr=TargetToken(-198143700))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i46 = int_add(i39, -1)
i48 = int_gt(i46, 0)
guard_true(i48, descr=<Guard0xf43b6e0c>) [i46]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i46, descr=TargetToken(-198143700))
[c5fd5f1e3ebfb80] jit-log-compiling-loop}
[c5fd5f1e3ed1880] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f1e3eddd80] jit-mem-looptoken-alloc}
[c5fd5f1e3f08d00] jit-backend}
compiled new loop
[c5fd5f1e3f14c80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-197476532))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf43a8cec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-198143700))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf43b6e0c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-198143700))
[c5fd5f1e3f71c80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f1e4119880] jit-tracing}
__________________ TestLLtype.test_stringbuilder_append_empty __________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf43a8d6c>
def test_stringbuilder_append_empty(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"")
s = sb.build()
if len(s) != 0: raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:688:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf431ebec>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 114, 111] -> 114
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 238 blocks (42%)
[rtyper] specializing: 200 / 238 blocks (84%)
[rtyper] -=- specialized 238 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 20 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 71 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f2067cba80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f206d7b200] {jit-trace-done
trace length: 127
number operations: 23
total snapshots: 5
snapshot data: 60
snapshot array data: 34
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f206da9400] jit-trace-done}
[c5fd5f206dd7480] {jit-log-noopt
# Traced loop or bridge with 23 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p7)
p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf430978c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i13 = unicodelen(p10)
i14 = int_is_true(i13)
guard_false(i14)
i16 = int_sub(i0, 1)
i18 = int_gt(i16, 0)
guard_true(i18)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i16, descr=<Loop-1>)
[c5fd5f206ecdd80] jit-log-noopt}
[c5fd5f206ede180] {jit-optimize
[c5fd5f206ef9300] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf42e56cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f2073e4f00] jit-log-intbounds}
[c5fd5f207463c80] {jit-log-exported-state
[i19]
INP(i19 = int_add(i20, -1/ci))
PureOp(i21 = int_gt(i19, 0/ci))
[c5fd5f20747ea80] jit-log-exported-state}
[c5fd5f207489600] jit-optimize}
[c5fd5f2074a0780] {jit-optimize
[c5fd5f207591680] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf421b36c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f207b80900] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-199116884))
[c5fd5f207ca4780] jit-optimize}
[c5fd5f207cb0a80] {jit-log-short-preamble
[]
label(i22)
jump()
[c5fd5f207cc5280] jit-log-short-preamble}
[c5fd5f207cf5200] {jit-backend
[c5fd5f207d0ae00] {jit-log-compiling-loop
[i20]
label(i20, descr=TargetToken(-198268884))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i20, -1)
i21 = int_gt(i19, 0)
guard_true(i21, descr=<Guard0xf42e56cc>) [i19]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i19, descr=TargetToken(-199116884))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i26 = int_add(i19, -1)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf421b36c>) [i26]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i26, descr=TargetToken(-199116884))
[c5fd5f207d5ca80] jit-log-compiling-loop}
[c5fd5f207d6ea00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f207d7ae80] jit-mem-looptoken-alloc}
[c5fd5f207da5a80] jit-backend}
compiled new loop
[c5fd5f207db1e00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-198268884))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf42e56cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-199116884))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf421b36c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-199116884))
[c5fd5f207e0d880] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f207f70400] jit-tracing}
_________________ TestLLtype.test_stringbuilder_append_slice_2 _________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3f22fec>
def test_stringbuilder_append_slice_2(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append_slice(u"fOo!", 1, 3)
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"O": raise ValueError
if s[1] != u"o": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:769:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf3ebdf4c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 146, 143] -> 146
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 242 blocks (41%)
[rtyper] specializing: 200 / 242 blocks (82%)
[rtyper] -=- specialized 244 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 21 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 7 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f2a4dd1400] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f2a5593f00] {jit-trace-done
trace length: 180
number operations: 32
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f2a55c2180] jit-trace-done}
[c5fd5f2a55f0600] {jit-log-noopt
# Traced loop or bridge with 32 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 79)
unicodesetitem(p3, 1, 111)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf3e5476c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 79)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i28 = int_ne(i26, 111)
guard_false(i28)
i30 = int_sub(i0, 1)
i32 = int_gt(i30, 0)
guard_true(i32)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i30, descr=<Loop-1>)
[c5fd5f2a573ce00] jit-log-noopt}
[c5fd5f2a574d980] {jit-optimize
[c5fd5f2a5769100] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3e1882c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f2a5cdee00] jit-log-intbounds}
[c5fd5f2a5d57a00] {jit-log-exported-state
[i33]
INP(i33 = int_add(i34, -1/ci))
PureOp(i35 = int_gt(i33, 0/ci))
[c5fd5f2a5d6f100] jit-log-exported-state}
[c5fd5f2a5d78f00] jit-optimize}
[c5fd5f2a5d8eb00] {jit-optimize
[c5fd5f2a5e77180] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3e256cc>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f2a650dc00] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-203269300))
[c5fd5f2a6634900] jit-optimize}
[c5fd5f2a6641000] {jit-log-short-preamble
[]
label(i36)
jump()
[c5fd5f2a6655600] jit-log-short-preamble}
[c5fd5f2a6684800] {jit-backend
[c5fd5f2a669a400] {jit-log-compiling-loop
[i34]
label(i34, descr=TargetToken(-202233108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i33 = int_add(i34, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf3e1882c>) [i33]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i33, descr=TargetToken(-203269300))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i40 = int_add(i33, -1)
i42 = int_gt(i40, 0)
guard_true(i42, descr=<Guard0xf3e256cc>) [i40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i40, descr=TargetToken(-203269300))
[c5fd5f2a66ec600] jit-log-compiling-loop}
[c5fd5f2a66fd180] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f2a6709500] jit-mem-looptoken-alloc}
[c5fd5f2a6737d80] jit-backend}
compiled new loop
[c5fd5f2a6744680] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-202233108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf3e1882c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-203269300))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf3e256cc>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-203269300))
[c5fd5f2a67a1700] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f2a6905a00] jit-tracing}
_____________ TestLLtype.test_stringbuilder_append_multiple_char_1 _____________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3e6bb0c>
def test_stringbuilder_append_multiple_char_1(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append_multiple_char(u"x", 5)
s = sb.build()
if len(s) != 5: raise ValueError
if s[0] != u"x": raise ValueError
if s[1] != u"x": raise ValueError
if s[2] != u"x": raise ValueError
if s[3] != u"x": raise ValueError
if s[4] != u"x": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:790:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf3d1466c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 192, 189] -> 192
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 150 blocks (66%)
[rtyper] -=- specialized 152 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 24 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 3 JitCode instances.
[jitcodewriter:info] There are 29 -live- ops. Size of liveness is 63 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 5 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 13 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 7 bitstrings, mean length 0.9, max length 1
[c5fd5f2c0b4cb80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f2c1510380] {jit-trace-done
trace length: 246
number operations: 44
total snapshots: 10
snapshot data: 120
snapshot array data: 74
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f2c1540100] jit-trace-done}
[c5fd5f2c156ef80] {jit-log-noopt
# Traced loop or bridge with 44 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 120)
unicodesetitem(p3, 1, 120)
unicodesetitem(p3, 2, 120)
unicodesetitem(p3, 3, 120)
unicodesetitem(p3, 4, 120)
p18 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p18)
p21 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 5, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf3db896c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p21, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i24 = unicodelen(p21)
i26 = int_ne(i24, 5)
guard_false(i26)
i28 = unicodegetitem(p21, 0)
i30 = int_ne(i28, 120)
guard_false(i30)
i32 = unicodegetitem(p21, 1)
i34 = int_ne(i32, 120)
guard_false(i34)
i36 = unicodegetitem(p21, 2)
i38 = int_ne(i36, 120)
guard_false(i38)
i40 = unicodegetitem(p21, 3)
i42 = int_ne(i40, 120)
guard_false(i42)
i44 = unicodegetitem(p21, 4)
i46 = int_ne(i44, 120)
guard_false(i46)
i48 = int_sub(i0, 1)
i50 = int_gt(i48, 0)
guard_true(i50)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i48, descr=<Loop-1>)
[c5fd5f2c1720280] jit-log-noopt}
[c5fd5f2c1732580] {jit-optimize
[c5fd5f2c174fa80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3d2a76c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f2c1d95800] jit-log-intbounds}
[c5fd5f2c1e13d80] {jit-log-exported-state
[i51]
PureOp(i52 = int_gt(i51, 0/ci))
INP(i51 = int_add(i53, -1/ci))
[c5fd5f2c1e2c400] jit-log-exported-state}
[c5fd5f2c1e36e00] jit-optimize}
[c5fd5f2c1e4eb00] {jit-optimize
[c5fd5f2c1f3ba00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3d3682c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f2c26b1080] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-204247892))
[c5fd5f2c27e1200] jit-optimize}
[c5fd5f2c27edd80] {jit-log-short-preamble
[]
label(i54)
jump()
[c5fd5f2c2802700] jit-log-short-preamble}
[c5fd5f2c2831700] {jit-backend
[c5fd5f2c2847c80] {jit-log-compiling-loop
[i53]
label(i53, descr=TargetToken(-204256404))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i51 = int_add(i53, -1)
i52 = int_gt(i51, 0)
guard_true(i52, descr=<Guard0xf3d2a76c>) [i51]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i51, descr=TargetToken(-204247892))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i58 = int_add(i51, -1)
i60 = int_gt(i58, 0)
guard_true(i60, descr=<Guard0xf3d3682c>) [i58]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i58, descr=TargetToken(-204247892))
[c5fd5f2c289d400] jit-log-compiling-loop}
[c5fd5f2c28ae380] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f2c28ba680] jit-mem-looptoken-alloc}
[c5fd5f2c28e6b80] jit-backend}
compiled new loop
[c5fd5f2c28f2e80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-204256404))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf3d2a76c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-204247892))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf3d3682c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-204247892))
[c5fd5f2c2952800] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f2c2ab6180] jit-tracing}
_________________________ TestLLtype.test_shrink_array _________________________
self = <rpython.jit.metainterp.test.test_string.TestLLtype instance at 0xf3a413cc>
def test_shrink_array(self):
jitdriver = JitDriver(reds=['result', 'n'], greens=[])
_str, _StringBuilder = self._str, self._StringBuilder
def f(n):
result = 0
while n >= 0:
jitdriver.jit_merge_point(n=n, result=result)
b = _StringBuilder(20)
b.append(_str("Testing!"))
result += len(b.build())
n -= 1
return result
res = self.meta_interp(f, [9], backendopt=True)
assert res == f(9)
self.check_resops({
> 'jump': 1, 'guard_true': 2, 'int_ge': 2, 'int_add': 2, 'int_sub': 2
})
jit/metainterp/test/test_string.py:867:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf3954e0c>
insns = {'guard_true': 2, 'int_add': 4, 'int_ge': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_add': 2, 'int_ge': 2, 'int_sub': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...}
E Omitting 3 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_ge [-1, 0, 110, 107] -> 110
bh: int_return [<BHInterp <JitCode 'f'>>, 80] -> LeaveFrame!
~~~ return value: 80
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 233 blocks (42%)
[rtyper] specializing: 200 / 235 blocks (85%)
[rtyper] -=- specialized 235 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 20 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 70 -live- ops. Size of liveness is 67 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f3b0eb5300] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f3b1c16980] {jit-trace-done
trace length: 188
number operations: 32
total snapshots: 4
snapshot data: 48
snapshot array data: 36
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f3b1c5da80] jit-trace-done}
[c5fd5f3b1cb4900] {jit-log-noopt
# Traced loop or bridge with 31 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new(descr=SizeDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p4 = newstr(20)
setfield_gc(p2, p4, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p2, 20, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p2, 20, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
strsetitem(p4, 0, 84)
strsetitem(p4, 1, 101)
strsetitem(p4, 2, 115)
strsetitem(p4, 3, 116)
strsetitem(p4, 4, 105)
strsetitem(p4, 5, 110)
strsetitem(p4, 6, 103)
strsetitem(p4, 7, 33)
p25 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p25)
p28 = call_r(ConstClass(ll_shrink_array__rpy_stringPtr_Signed), p4, 8, descr=CallDescr(<* GcStruct rpy_string { hash, chars }>, (<* GcStruct rpy_string { hash, chars }>, <Signed>), <EffectInfo 0xf39cf02c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p2, p28, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct stringbuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i31 = strlen(p28)
i32 = int_add(i0, i31)
i34 = int_sub(i1, 1)
i36 = int_ge(i34, 0)
guard_true(i36)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i32, i34, descr=<Loop-1>)
[c5fd5f3b1ebba00] jit-log-noopt}
[c5fd5f3b1ed4080] {jit-optimize
[c5fd5f3b1f06c80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, 8)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i1, -1)
i7 = int_ge(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf3932e0c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f3b289c680] jit-log-intbounds}
[c5fd5f3b299dc00] {jit-log-exported-state
[i37, i38]
INP(i37 = int_add(i39, 8/ci))
INP(i38 = int_add(i40, -1/ci))
PureOp(i41 = int_ge(i38, 0/ci))
[c5fd5f3b29ce500] jit-log-exported-state}
[c5fd5f3b29df480] jit-optimize}
[c5fd5f3b2a02d00] {jit-optimize
[c5fd5f3b2c0bb00] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_add(i2, 8)
# i4 -> (?) IntBound.unbounded()
# i5: (0 <= 0b0?...?) IntBound.nonnegative()
i7 = int_add(i5, -1)
# i7: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1)
i9 = int_ge(i7, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf393994c>) [i4, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f3b3782200] jit-log-intbounds}
# i7: (0 <= 0b0?...?) IntBound.nonnegative()
jump(i4, i7, descr=TargetToken(-208412276))
[c5fd5f3b39cdc80] jit-optimize}
[c5fd5f3b39e1d00] {jit-log-short-preamble
[]
label(i42, i43)
jump()
[c5fd5f3b3a06300] jit-log-short-preamble}
[c5fd5f3b3a57f80] {jit-backend
[c5fd5f3b3a7a400] {jit-log-compiling-loop
[i39, i40]
label(i39, i40, descr=TargetToken(-208458196))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i37 = int_add(i39, 8)
i38 = int_add(i40, -1)
i41 = int_ge(i38, 0)
guard_true(i41, descr=<Guard0xf3932e0c>) [i37, i38]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i37, i38, descr=TargetToken(-208412276))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i48 = int_add(i37, 8)
i50 = int_add(i38, -1)
i52 = int_ge(i50, 0)
guard_true(i52, descr=<Guard0xf393994c>) [i48, i50]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i48, i50, descr=TargetToken(-208412276))
[c5fd5f3b3b14d00] jit-log-compiling-loop}
[c5fd5f3b3b30280] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f3b3b43b00] jit-mem-looptoken-alloc}
[c5fd5f3b3b90780] jit-backend}
compiled new loop
[c5fd5f3b3ba4400] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-208458196))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, 8)
i5 = int_add(i1, -1)
i7 = int_ge(i5, 0)
guard_true(i7, descr=<Guard0xf3932e0c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i3, i5, descr=TargetToken(-208412276))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i3, 8)
i11 = int_add(i5, -1)
i13 = int_ge(i11, 0)
guard_true(i13, descr=<Guard0xf393994c>) [i9, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i9, i11, descr=TargetToken(-208412276))
[c5fd5f3b3c4ec80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f3b3eb2380] jit-tracing}
_____________ TestLLtypeUnicode.test_string_compare_quasiimmutable _____________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2d84e2c>
def test_string_compare_quasiimmutable(self):
class Sys(object):
_immutable_fields_ = ["defaultencoding?"]
def __init__(self, s):
self.defaultencoding = s
_str = self._str
sys = Sys(_str('ascii'))
mydriver = JitDriver(reds = ['n', 'sa'], greens = [])
def f(n):
sa = 0
sys.defaultencoding = _str('ascii')
while n:
mydriver.jit_merge_point(n=n, sa=sa)
if sys.defaultencoding == _str('ascii'):
sa += 1
n -= 1
sys.defaultencoding = _str('utf-8')
return sa
assert self.meta_interp(f, [8]) == f(8)
self.check_resops({'jump': 1, 'int_is_true': 2, 'int_add': 2,
'guard_true': 2, 'guard_not_invalidated': 2,
> 'int_sub': 2})
jit/metainterp/test/test_string.py:507:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf2d13c4c>
insns = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 4, 'int_is_true': 2, ...}
expected = {'guard_not_invalidated': 2, 'guard_true': 2, 'int_add': 2, 'int_is_true': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_not_i...true': 2, ...} == {'guard_not_in...true': 2, ...}
E Omitting 4 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: record_quasiimmut_field [<* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding'), FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')]
bh: getfield_gc_r_pure [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')] -> * GCREF hidden
bh: residual_call_r_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <AddressAsInt * fn ll_streq__rpy_unicodePtr_rpy_unicodePtr>, [<* GCREF hidden>, <* GCREF hidden>], CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>)] -> 1
bh: live [36] -> 38
bh: goto_if_not [1, 74, 42] -> 42
bh: int_add [7, 1] -> 8
bh: int_sub [1, 1] -> 0
bh: live [51] -> 53
bh: goto_if_not_int_is_true [0, 60, 57] -> 60
bh: live [61] -> 63
bh: jit_force_quasi_immutable [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding')]
bh: setfield_gc_r [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf2d1384c>, <* GCREF hidden>, <* GCREF hidden>, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'inst_defaultencoding')]
bh: int_return [<BHInterp <JitCode 'f'>>, 8] -> LeaveFrame!
~~~ return value: 8
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 18 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 5 -live- ops. Size of liveness is 12 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 8 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd5f53df8d100] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f53e30b600] {jit-trace-done
trace length: 49
number operations: 11
total snapshots: 3
snapshot data: 36
snapshot array data: 20
bigint consts: 1 1
float consts: 0 0
ref consts: 3 0 3
descrs: 2
[c5fd5f53e352e80] jit-trace-done}
[c5fd5f53e3a1f80] {jit-log-noopt
# Traced loop or bridge with 10 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
quasiimmut_field(ConstPtr(ptr2), descr=<rpython.jit.metainterp.quasiimmut.QuasiImmutDescr object at 0xf2ce25ac>)
guard_not_invalidated()
i4 = int_add(i1, 1)
i6 = int_sub(i0, 1)
i7 = int_is_true(i6)
guard_true(i7)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i6, i4, descr=<Loop-1>)
[c5fd5f53e45e780] jit-log-noopt}
[c5fd5f53e476080] {jit-optimize
[c5fd5f53e4ab400] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2cd7eac>) [i0, i1]
i3 = int_add(i1, 1)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i0, -1)
i6 = int_is_true(i5)
guard_true(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2ce2ecc>) [i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f53eb04200] jit-log-intbounds}
[c5fd5f53eb86080] {jit-log-exported-state
[i8, i9]
INP(i8 = int_add(i10, -1/ci))
INP(i9 = int_add(i11, 1/ci))
PureOp(i12 = int_is_true(i8))
[c5fd5f53eba2900] jit-log-exported-state}
[c5fd5f53ebad700] jit-optimize}
[c5fd5f53ebc6700] {jit-optimize
[c5fd5f53eccfd80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2ce76ec>) [i2, i3]
i5 = int_add(i3, 1)
# i5 -> (?) IntBound.unbounded()
i7 = int_add(i2, -1)
i8 = int_is_true(i7)
guard_true(i8, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf2ce7a6c>) [i2, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f53f105400] jit-log-intbounds}
jump(i7, i5, descr=TargetToken(-221348244))
[c5fd5f53f1f9a00] jit-optimize}
[c5fd5f53f205f00] {jit-log-short-preamble
[]
label(i13, i14)
jump()
[c5fd5f53f21ab00] jit-log-short-preamble}
[c5fd5f53f252600] {jit-backend
[c5fd5f53f268380] {jit-log-compiling-loop
[i10, i11]
label(i10, i11, descr=TargetToken(-221351540))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf2cd7eac>) [i10, i11]
i9 = int_add(i11, 1)
i8 = int_add(i10, -1)
i12 = int_is_true(i8)
guard_true(i12, descr=<Guard0xf2ce2ecc>) [i10, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i9, descr=TargetToken(-221348244))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf2ce76ec>) [i8, i9]
i18 = int_add(i9, 1)
i20 = int_add(i8, -1)
i21 = int_is_true(i20)
guard_true(i21, descr=<Guard0xf2ce7a6c>) [i8, i9]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i20, i18, descr=TargetToken(-221348244))
[c5fd5f53f2d3080] jit-log-compiling-loop}
[c5fd5f53f2e4a00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f53f2f0780] jit-mem-looptoken-alloc}
[c5fd5f53f325700] jit-backend}
compiled new loop
[c5fd5f53f331280] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 17 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-221351540))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf2cd7eac>) [i0, i1]
i3 = int_add(i1, 1)
i5 = int_add(i0, -1)
i6 = int_is_true(i5)
guard_true(i6, descr=<Guard0xf2ce2ecc>) [i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, i3, descr=TargetToken(-221348244))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_not_invalidated(descr=<Guard0xf2ce76ec>) [i5, i3]
i8 = int_add(i3, 1)
i10 = int_add(i5, -1)
i11 = int_is_true(i10)
guard_true(i11, descr=<Guard0xf2ce7a6c>) [i5, i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i10, i8, descr=TargetToken(-221348244))
[c5fd5f53f3a4e00] jit-log-opt-loop}
[c5fd5f53f5a6c80] {jit-invalidate-quasi-immutable
fieldname FieldDescr(<GcStruct rpython.jit.metainterp.test.test_string.Sys { super, inst_defaultencoding, mutate_defaultencoding }>, 'mutate_defaultencoding') invalidated 1
[c5fd5f53f5b6e00] jit-invalidate-quasi-immutable}
DoneWithThisFrameInt
[c5fd5f53f5ea680] jit-tracing}
_________________ TestLLtypeUnicode.test_stringbuilder_create __________________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf292c56c>
def test_stringbuilder_create(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
if sb.build() != u"":
raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:616:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf294770c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 110, 107] -> 110
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 90 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] specializing: 100 / 103 blocks (97%)
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 11 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 5 more blocks -=-
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 10 -live- ops. Size of liveness is 38 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 11 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f5f1c81500] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f5f22e5b00] {jit-trace-done
trace length: 135
number operations: 23
total snapshots: 5
snapshot data: 60
snapshot array data: 34
bigint consts: 3 3
float consts: 0 0
ref consts: 2 1 2
descrs: 1
[c5fd5f5f2315280] jit-trace-done}
[c5fd5f5f2342500] {jit-log-noopt
# Traced loop or bridge with 23 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p7)
p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf28a228c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i15 = call_pure_i(ConstClass(ll_streq__rpy_unicodePtr_rpy_unicodePtr), p10, ConstPtr(ptr14), descr=CallDescr(<Bool>, (<* GcStruct rpy_unicode { hash, chars }>, <* GcStruct rpy_unicode { hash, chars }>), <EffectInfo 0xf465510c: EF=0 OS=44>))
i16 = int_is_zero(i15)
guard_false(i16)
i18 = int_sub(i0, 1)
i20 = int_gt(i18, 0)
guard_true(i20)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i18, descr=<Loop-1>)
[c5fd5f5f2456e80] jit-log-noopt}
[c5fd5f5f2469b80] {jit-optimize
[c5fd5f5f2488c00] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf28c43ec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f5f29c3980] jit-log-intbounds}
[c5fd5f5f2a45d80] {jit-log-exported-state
[i21]
PureOp(i22 = int_gt(i21, 0/ci))
INP(i21 = int_add(i23, -1/ci))
[c5fd5f5f2a5f200] jit-log-exported-state}
[c5fd5f5f2a6a000] jit-optimize}
[c5fd5f5f2a82280] {jit-optimize
[c5fd5f5f2b77400] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf28c4b4c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f5f31d1600] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-226192596))
[c5fd5f5f32fb380] jit-optimize}
[c5fd5f5f3307d00] {jit-log-short-preamble
[]
label(i24)
jump()
[c5fd5f5f331c680] jit-log-short-preamble}
[c5fd5f5f334ce80] {jit-backend
[c5fd5f5f3363b80] {jit-log-compiling-loop
[i23]
label(i23, descr=TargetToken(-225688564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i23, -1)
i22 = int_gt(i21, 0)
guard_true(i22, descr=<Guard0xf28c43ec>) [i21]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i21, descr=TargetToken(-226192596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i28 = int_add(i21, -1)
i30 = int_gt(i28, 0)
guard_true(i30, descr=<Guard0xf28c4b4c>) [i28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i28, descr=TargetToken(-226192596))
[c5fd5f5f33b5e00] jit-log-compiling-loop}
[c5fd5f5f33c7900] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f5f33d3e80] jit-mem-looptoken-alloc}
[c5fd5f5f33ffd00] jit-backend}
compiled new loop
[c5fd5f5f340c100] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-225688564))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf28c43ec>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-226192596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf28c4b4c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-226192596))
[c5fd5f5f3468f00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f5f35cd280] jit-tracing}
_______________ TestLLtypeUnicode.test_stringbuilder_append_char _______________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf289248c>
def test_stringbuilder_append_char(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"a")
sb.append(unichr(n))
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != unichr(n): raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:635:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf2ae278c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 216, 213] -> 216
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 106 blocks (94%)
[rtyper] -=- specialized 106 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 20 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 4 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 17 -live- ops. Size of liveness is 63 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 4 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f6130b1900] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f613bd4f80] {jit-trace-done
trace length: 187
number operations: 33
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f613c17480] jit-trace-done}
[c5fd5f613c59500] {jit-log-noopt
# Traced loop or bridge with 33 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 1, i0)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf26dfdec: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 97)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i27 = int_ne(i26, i0)
guard_false(i27)
i29 = int_sub(i0, 1)
i31 = int_gt(i29, 0)
guard_true(i31)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i29, descr=<Loop-1>)
[c5fd5f613e49680] jit-log-noopt}
[c5fd5f613e60b80] {jit-optimize
[c5fd5f613e87680] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i0: (0 <= 0b0?...?) IntBound.nonnegative()
i2 = int_add(i0, -1)
# i2: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf278e6ac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f6148fb380] jit-log-intbounds}
[c5fd5f6149adc80] {jit-log-exported-state
[i32]
PureOp(i33 = int_gt(i32, 0/ci))
INP(i32 = int_add(i34, -1/ci))
[c5fd5f6149cfd80] jit-log-exported-state}
[c5fd5f6149def80] jit-optimize}
[c5fd5f614a00300] {jit-optimize
[c5fd5f614b5d500] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf279328c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f615521880] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-226937108))
[c5fd5f6156cb180] jit-optimize}
[c5fd5f6156dcc80] {jit-log-short-preamble
[]
label(i35)
jump()
[c5fd5f6156fad00] jit-log-short-preamble}
[c5fd5f615743180] {jit-backend
[c5fd5f615762b00] {jit-log-compiling-loop
[i34]
label(i34, descr=TargetToken(-226958260))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i32 = int_add(i34, -1)
i33 = int_gt(i32, 0)
guard_true(i33, descr=<Guard0xf278e6ac>) [i32]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i32, descr=TargetToken(-226937108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i39 = int_add(i32, -1)
i41 = int_gt(i39, 0)
guard_true(i41, descr=<Guard0xf279328c>) [i39]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i39, descr=TargetToken(-226937108))
[c5fd5f6157d9780] jit-log-compiling-loop}
[c5fd5f6157f3800] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f615806c00] jit-mem-looptoken-alloc}
[c5fd5f615844880] jit-backend}
compiled new loop
[c5fd5f615855d80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-226958260))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf278e6ac>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-226937108))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf279328c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-226937108))
[c5fd5f6158e0a80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f615af8880] jit-tracing}
________________ TestLLtypeUnicode.test_stringbuilder_append_1 _________________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf26e09ac>
def test_stringbuilder_append_1(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"ab")
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != u"b": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:653:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf27ea8cc>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 143, 140] -> 143
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 242 blocks (41%)
[rtyper] specializing: 200 / 244 blocks (81%)
[rtyper] -=- specialized 244 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 23 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f63c242b00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f63ca61900] {jit-trace-done
trace length: 180
number operations: 32
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f63ca91280] jit-trace-done}
[c5fd5f63cabf500] {jit-log-noopt
# Traced loop or bridge with 32 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
unicodesetitem(p3, 1, 98)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf288684c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 97)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i28 = int_ne(i26, 98)
guard_false(i28)
i30 = int_sub(i0, 1)
i32 = int_gt(i30, 0)
guard_true(i32)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i30, descr=<Loop-1>)
[c5fd5f63cc0fa00] jit-log-noopt}
[c5fd5f63cc20d00] {jit-optimize
[c5fd5f63cc3ca80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2711e0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f63d1d5080] jit-log-intbounds}
[c5fd5f63d253800] {jit-log-exported-state
[i33]
INP(i33 = int_add(i34, -1/ci))
PureOp(i35 = int_gt(i33, 0/ci))
[c5fd5f63d26c080] jit-log-exported-state}
[c5fd5f63d276a80] jit-optimize}
[c5fd5f63d28e380] {jit-optimize
[c5fd5f63d381800] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2713a4c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f63da23200] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-227459380))
[c5fd5f63db4ff00] jit-optimize}
[c5fd5f63db5ca00] {jit-log-short-preamble
[]
label(i36)
jump()
[c5fd5f63db71600] jit-log-short-preamble}
[c5fd5f63dba0980] {jit-backend
[c5fd5f63dbb8c80] {jit-log-compiling-loop
[i34]
label(i34, descr=TargetToken(-227467732))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i33 = int_add(i34, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf2711e0c>) [i33]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i33, descr=TargetToken(-227459380))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i40 = int_add(i33, -1)
i42 = int_gt(i40, 0)
guard_true(i42, descr=<Guard0xf2713a4c>) [i40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i40, descr=TargetToken(-227459380))
[c5fd5f63dc0ae80] jit-log-compiling-loop}
[c5fd5f63dc1d000] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f63dc29300] jit-mem-looptoken-alloc}
[c5fd5f63dc55e00] jit-backend}
compiled new loop
[c5fd5f63dc62180] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-227467732))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf2711e0c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-227459380))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf2713a4c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-227459380))
[c5fd5f63dcc1880] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f63de2b400] jit-tracing}
________________ TestLLtypeUnicode.test_stringbuilder_append_2 _________________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2877aac>
def test_stringbuilder_append_2(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"abc")
s = sb.build()
if len(s) != 3: raise ValueError
if s[0] != u"a": raise ValueError
if s[1] != u"b": raise ValueError
if s[2] != u"c": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:672:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf262ff8c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 157, 154] -> 157
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 244 blocks (40%)
[rtyper] specializing: 200 / 244 blocks (81%)
[rtyper] -=- specialized 246 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 23 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 74 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f663e5ba80] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f664987880] {jit-trace-done
trace length: 202
number operations: 36
total snapshots: 8
snapshot data: 96
snapshot array data: 58
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f6649b6880] jit-trace-done}
[c5fd5f6649e4880] {jit-log-noopt
# Traced loop or bridge with 36 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 97)
unicodesetitem(p3, 1, 98)
unicodesetitem(p3, 2, 99)
p14 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p14)
p17 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 3, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf2667b4c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p17, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i20 = unicodelen(p17)
i22 = int_ne(i20, 3)
guard_false(i22)
i24 = unicodegetitem(p17, 0)
i26 = int_ne(i24, 97)
guard_false(i26)
i28 = unicodegetitem(p17, 1)
i30 = int_ne(i28, 98)
guard_false(i30)
i32 = unicodegetitem(p17, 2)
i34 = int_ne(i32, 99)
guard_false(i34)
i36 = int_sub(i0, 1)
i38 = int_gt(i36, 0)
guard_true(i38)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i36, descr=<Loop-1>)
[c5fd5f664b4e780] jit-log-noopt}
[c5fd5f664b5ef00] {jit-optimize
[c5fd5f664b7b280] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf277be2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f665129980] jit-log-intbounds}
[c5fd5f6651a2380] {jit-log-exported-state
[i39]
INP(i39 = int_add(i40, -1/ci))
PureOp(i41 = int_gt(i39, 0/ci))
[c5fd5f6651b9880] jit-log-exported-state}
[c5fd5f6651c3a80] jit-optimize}
[c5fd5f6651da600] {jit-optimize
[c5fd5f6652c9000] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf277ed6c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f6659c0200] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-227008372))
[c5fd5f665ade780] jit-optimize}
[c5fd5f665aeae80] {jit-log-short-preamble
[]
label(i42)
jump()
[c5fd5f665afef00] jit-log-short-preamble}
[c5fd5f665b2cd80] {jit-backend
[c5fd5f665b42f00] {jit-log-compiling-loop
[i40]
label(i40, descr=TargetToken(-227033268))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i39 = int_add(i40, -1)
i41 = int_gt(i39, 0)
guard_true(i41, descr=<Guard0xf277be2c>) [i39]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i39, descr=TargetToken(-227008372))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i46 = int_add(i39, -1)
i48 = int_gt(i46, 0)
guard_true(i48, descr=<Guard0xf277ed6c>) [i46]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i46, descr=TargetToken(-227008372))
[c5fd5f665b93e00] jit-log-compiling-loop}
[c5fd5f665ba9380] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f665bb6300] jit-mem-looptoken-alloc}
[c5fd5f665be3780] jit-backend}
compiled new loop
[c5fd5f665bf0480] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-227033268))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf277be2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-227008372))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf277ed6c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-227008372))
[c5fd5f665c51900] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f665dc1800] jit-tracing}
______________ TestLLtypeUnicode.test_stringbuilder_append_empty _______________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf25b34ec>
def test_stringbuilder_append_empty(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append(u"")
s = sb.build()
if len(s) != 0: raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:688:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf24e1f8c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 114, 111] -> 114
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 238 blocks (42%)
[rtyper] specializing: 200 / 238 blocks (84%)
[rtyper] -=- specialized 238 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 21 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 71 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f689574480] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f689b3e380] {jit-trace-done
trace length: 127
number operations: 23
total snapshots: 5
snapshot data: 60
snapshot array data: 34
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f689b6cc00] jit-trace-done}
[c5fd5f689b9b000] {jit-log-noopt
# Traced loop or bridge with 23 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
p7 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p7)
p10 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 0, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf276ffec: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p10, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i13 = unicodelen(p10)
i14 = int_is_true(i13)
guard_false(i14)
i16 = int_sub(i0, 1)
i18 = int_gt(i16, 0)
guard_true(i18)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i16, descr=<Loop-1>)
[c5fd5f689c9b200] jit-log-noopt}
[c5fd5f689cac180] {jit-optimize
[c5fd5f689cc7e80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf2579a2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f68a1b2f00] jit-log-intbounds}
[c5fd5f68a22ff00] {jit-log-exported-state
[i19]
PureOp(i20 = int_gt(i19, 0/ci))
INP(i19 = int_add(i21, -1/ci))
[c5fd5f68a24a700] jit-log-exported-state}
[c5fd5f68a255300] jit-optimize}
[c5fd5f68a26cf80] {jit-optimize
[c5fd5f68a360400] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf25cb52c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f68a95e700] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-228804084))
[c5fd5f68aa84600] jit-optimize}
[c5fd5f68aa91100] {jit-log-short-preamble
[]
label(i22)
jump()
[c5fd5f68aaa5d00] jit-log-short-preamble}
[c5fd5f68aad5f00] {jit-backend
[c5fd5f68aaee980] {jit-log-compiling-loop
[i21]
label(i21, descr=TargetToken(-229139892))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i21, -1)
i20 = int_gt(i19, 0)
guard_true(i20, descr=<Guard0xf2579a2c>) [i19]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i19, descr=TargetToken(-228804084))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i26 = int_add(i19, -1)
i28 = int_gt(i26, 0)
guard_true(i28, descr=<Guard0xf25cb52c>) [i26]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i26, descr=TargetToken(-228804084))
[c5fd5f68ab40600] jit-log-compiling-loop}
[c5fd5f68ab52180] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f68ab5e480] jit-mem-looptoken-alloc}
[c5fd5f68ab8aa00] jit-backend}
compiled new loop
[c5fd5f68ab96d00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-229139892))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf2579a2c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-228804084))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf25cb52c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-228804084))
[c5fd5f68abf6480] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f68ad69180] jit-tracing}
_____________ TestLLtypeUnicode.test_stringbuilder_append_slice_2 ______________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf2198fac>
def test_stringbuilder_append_slice_2(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append_slice(u"fOo!", 1, 3)
s = sb.build()
if len(s) != 2: raise ValueError
if s[0] != u"O": raise ValueError
if s[1] != u"o": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:769:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf2140d4c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 146, 143] -> 146
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 244 blocks (40%)
[rtyper] specializing: 200 / 244 blocks (81%)
[rtyper] -=- specialized 244 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 23 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 73 -live- ops. Size of liveness is 71 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 7 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f73e581580] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f73ed3c780] {jit-trace-done
trace length: 180
number operations: 32
total snapshots: 7
snapshot data: 84
snapshot array data: 50
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f73ed6d500] jit-trace-done}
[c5fd5f73ed99b80] {jit-log-noopt
# Traced loop or bridge with 32 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 79)
unicodesetitem(p3, 1, 111)
p12 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p12)
p15 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 2, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf21a57ec: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p15, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i18 = unicodelen(p15)
i20 = int_ne(i18, 2)
guard_false(i20)
i22 = unicodegetitem(p15, 0)
i24 = int_ne(i22, 79)
guard_false(i24)
i26 = unicodegetitem(p15, 1)
i28 = int_ne(i26, 111)
guard_false(i28)
i30 = int_sub(i0, 1)
i32 = int_gt(i30, 0)
guard_true(i32)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i30, descr=<Loop-1>)
[c5fd5f73eee8900] jit-log-noopt}
[c5fd5f73eef9480] {jit-optimize
[c5fd5f73ef14800] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf209d6cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f73f498600] jit-log-intbounds}
[c5fd5f73f51b200] {jit-log-exported-state
[i33]
INP(i33 = int_add(i34, -1/ci))
PureOp(i35 = int_gt(i33, 0/ci))
[c5fd5f73f533080] jit-log-exported-state}
[c5fd5f73f53d680] jit-optimize}
[c5fd5f73f553880] {jit-optimize
[c5fd5f73f643080] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf20a430c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f73fcd8700] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-234207380))
[c5fd5f73fdfc900] jit-optimize}
[c5fd5f73fe09600] {jit-log-short-preamble
[]
label(i36)
jump()
[c5fd5f73fe1e000] jit-log-short-preamble}
[c5fd5f73fe4d000] {jit-backend
[c5fd5f73fe63180] {jit-log-compiling-loop
[i34]
label(i34, descr=TargetToken(-232943796))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i33 = int_add(i34, -1)
i35 = int_gt(i33, 0)
guard_true(i35, descr=<Guard0xf209d6cc>) [i33]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i33, descr=TargetToken(-234207380))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i40 = int_add(i33, -1)
i42 = int_gt(i40, 0)
guard_true(i42, descr=<Guard0xf20a430c>) [i40]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i40, descr=TargetToken(-234207380))
[c5fd5f73feb4c00] jit-log-compiling-loop}
[c5fd5f73fec5d80] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f73fed1f00] jit-mem-looptoken-alloc}
[c5fd5f73fefda00] jit-backend}
compiled new loop
[c5fd5f73ff0b500] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-232943796))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf209d6cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-234207380))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf20a430c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-234207380))
[c5fd5f73ff66f80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f7400cb100] jit-tracing}
_________ TestLLtypeUnicode.test_stringbuilder_append_multiple_char_1 __________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf1f7b22c>
def test_stringbuilder_append_multiple_char_1(self):
jitdriver = JitDriver(reds=['n'], greens=[])
def f(n):
while n > 0:
jitdriver.jit_merge_point(n=n)
sb = UnicodeBuilder()
sb.append_multiple_char(u"x", 5)
s = sb.build()
if len(s) != 5: raise ValueError
if s[0] != u"x": raise ValueError
if s[1] != u"x": raise ValueError
if s[2] != u"x": raise ValueError
if s[3] != u"x": raise ValueError
if s[4] != u"x": raise ValueError
n -= 1
return n
res = self.meta_interp(f, [10], backendopt=True)
assert res == 0
self.check_resops({'int_sub': 2, 'int_gt': 2, 'guard_true': 2,
> 'jump': 1})
jit/metainterp/test/test_string.py:790:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf201460c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 192, 189] -> 192
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 147 blocks (68%)
[rtyper] -=- specialized 152 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 24 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 3 JitCode instances.
[jitcodewriter:info] There are 29 -live- ops. Size of liveness is 63 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 5 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 13 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 7 bitstrings, mean length 0.9, max length 1
[c5fd5f764548680] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f76538ed00] {jit-trace-done
trace length: 246
number operations: 44
total snapshots: 10
snapshot data: 120
snapshot array data: 74
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f7653d9680] jit-trace-done}
[c5fd5f76541f580] {jit-log-noopt
# Traced loop or bridge with 44 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p1 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p3 = newunicode(100)
setfield_gc(p1, p3, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 100, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p3, 0, 120)
unicodesetitem(p3, 1, 120)
unicodesetitem(p3, 2, 120)
unicodesetitem(p3, 3, 120)
unicodesetitem(p3, 4, 120)
p18 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p18)
p21 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p3, 5, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf209802c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p1, p21, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p1, 5, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i24 = unicodelen(p21)
i26 = int_ne(i24, 5)
guard_false(i26)
i28 = unicodegetitem(p21, 0)
i30 = int_ne(i28, 120)
guard_false(i30)
i32 = unicodegetitem(p21, 1)
i34 = int_ne(i32, 120)
guard_false(i34)
i36 = unicodegetitem(p21, 2)
i38 = int_ne(i36, 120)
guard_false(i38)
i40 = unicodegetitem(p21, 3)
i42 = int_ne(i40, 120)
guard_false(i42)
i44 = unicodegetitem(p21, 4)
i46 = int_ne(i44, 120)
guard_false(i46)
i48 = int_sub(i0, 1)
i50 = int_gt(i48, 0)
guard_true(i50)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i48, descr=<Loop-1>)
[c5fd5f7656cde00] jit-log-noopt}
[c5fd5f7656e7600] {jit-optimize
[c5fd5f765711080] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1fb140c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f766073980] jit-log-intbounds}
[c5fd5f76612b500] {jit-log-exported-state
[i51]
INP(i51 = int_add(i52, -1/ci))
PureOp(i53 = int_gt(i51, 0/ci))
[c5fd5f76614ed80] jit-log-exported-state}
[c5fd5f76615e180] jit-optimize}
[c5fd5f76617fb00] {jit-optimize
[c5fd5f7662e5780] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1fb1c2c>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f766db4c80] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-235199124))
[c5fd5f766f54300] jit-optimize}
[c5fd5f766f65880] {jit-log-short-preamble
[]
label(i54)
jump()
[c5fd5f766f81780] jit-log-short-preamble}
[c5fd5f766fc4c00] {jit-backend
[c5fd5f766fe5700] {jit-log-compiling-loop
[i52]
label(i52, descr=TargetToken(-235203284))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i51 = int_add(i52, -1)
i53 = int_gt(i51, 0)
guard_true(i53, descr=<Guard0xf1fb140c>) [i51]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i51, descr=TargetToken(-235199124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i58 = int_add(i51, -1)
i60 = int_gt(i58, 0)
guard_true(i60, descr=<Guard0xf1fb1c2c>) [i58]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i58, descr=TargetToken(-235199124))
[c5fd5f767062180] jit-log-compiling-loop}
[c5fd5f76707dd00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f767091380] jit-mem-looptoken-alloc}
[c5fd5f7670d9980] jit-backend}
compiled new loop
[c5fd5f7670ec280] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-235203284))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf1fb140c>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-235199124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf1fb1c2c>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-235199124))
[c5fd5f76716bd80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f76736bf00] jit-tracing}
_____________________ TestLLtypeUnicode.test_shrink_array ______________________
self = <rpython.jit.metainterp.test.test_string.TestLLtypeUnicode instance at 0xf1c69c2c>
def test_shrink_array(self):
jitdriver = JitDriver(reds=['result', 'n'], greens=[])
_str, _StringBuilder = self._str, self._StringBuilder
def f(n):
result = 0
while n >= 0:
jitdriver.jit_merge_point(n=n, result=result)
b = _StringBuilder(20)
b.append(_str("Testing!"))
result += len(b.build())
n -= 1
return result
res = self.meta_interp(f, [9], backendopt=True)
assert res == f(9)
self.check_resops({
> 'jump': 1, 'guard_true': 2, 'int_ge': 2, 'int_add': 2, 'int_sub': 2
})
jit/metainterp/test/test_string.py:867:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf1b90c4c>
insns = {'guard_true': 2, 'int_add': 4, 'int_ge': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_add': 2, 'int_ge': 2, 'int_sub': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':..._sub': 2, ...}
E Omitting 3 identical items, use -v to show
E Differing items:
E {'int_add': 4} != {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_ge [-1, 0, 110, 107] -> 110
bh: int_return [<BHInterp <JitCode 'f'>>, 80] -> LeaveFrame!
~~~ return value: 80
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 235 blocks (42%)
[rtyper] specializing: 200 / 235 blocks (85%)
[rtyper] -=- specialized 235 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 20 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 3 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 4 JitCode instances.
[jitcodewriter:info] There are 70 -live- ops. Size of liveness is 67 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 6 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 9 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 5 bitstrings, mean length 0.8, max length 1
[c5fd5f86c8f3a00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd5f86d619b80] {jit-trace-done
trace length: 188
number operations: 32
total snapshots: 4
snapshot data: 48
snapshot array data: 36
bigint consts: 1 1
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd5f86d65f400] jit-trace-done}
[c5fd5f86d6af200] {jit-log-noopt
# Traced loop or bridge with 31 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new(descr=SizeDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>))
p4 = newunicode(20)
setfield_gc(p2, p4, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p2, 0, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
setfield_gc(p2, 20, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p2, 20, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_pos'))
unicodesetitem(p4, 0, 84)
unicodesetitem(p4, 1, 101)
unicodesetitem(p4, 2, 115)
unicodesetitem(p4, 3, 116)
unicodesetitem(p4, 4, 105)
unicodesetitem(p4, 5, 110)
unicodesetitem(p4, 6, 103)
unicodesetitem(p4, 7, 33)
p25 = getfield_gc_r(p2, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'extra_pieces'))
guard_isnull(p25)
p28 = call_r(ConstClass(ll_shrink_array__rpy_unicodePtr_Signed), p4, 8, descr=CallDescr(<* GcStruct rpy_unicode { hash, chars }>, (<* GcStruct rpy_unicode { hash, chars }>, <Signed>), <EffectInfo 0xf1bb4d4c: EF=5 OS=3>))
guard_no_exception()
setfield_gc(p2, p28, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_buf'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'current_end'))
setfield_gc(p2, 8, descr=FieldDescr(<GcStruct unicodebuilder { current_buf, current_pos, current_end, total_size, extra_pieces }>, 'total_size'))
i31 = unicodelen(p28)
i32 = int_add(i0, i31)
i34 = int_sub(i1, 1)
i36 = int_ge(i34, 0)
guard_true(i36)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i32, i34, descr=<Loop-1>)
[c5fd5f86d8c4b00] jit-log-noopt}
[c5fd5f86d8ddb80] {jit-optimize
[c5fd5f86d911d80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, 8)
# i3 -> (?) IntBound.unbounded()
i5 = int_add(i1, -1)
i7 = int_ge(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1b6996c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f86e259380] jit-log-intbounds}
[c5fd5f86e355680] {jit-log-exported-state
[i37, i38]
PureOp(i39 = int_ge(i38, 0/ci))
INP(i37 = int_add(i40, 8/ci))
INP(i38 = int_add(i41, -1/ci))
[c5fd5f86e385000] jit-log-exported-state}
[c5fd5f86e395b80] jit-optimize}
[c5fd5f86e3ba780] {jit-optimize
[c5fd5f86e5b1880] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_add(i2, 8)
# i4 -> (?) IntBound.unbounded()
# i5: (0 <= 0b0?...?) IntBound.nonnegative()
i7 = int_add(i5, -1)
# i7: (-1 <= ? <= MAXINT - 1) IntBound(-1, MAXINT - 1)
i9 = int_ge(i7, 0)
guard_true(i9, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf1b704ac>) [i4, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd5f86f0d6c80] jit-log-intbounds}
# i7: (0 <= 0b0?...?) IntBound.nonnegative()
jump(i4, i7, descr=TargetToken(-239661972))
[c5fd5f86f310e00] jit-optimize}
[c5fd5f86f323100] {jit-log-short-preamble
[]
label(i42, i43)
jump()
[c5fd5f86f343480] jit-log-short-preamble}
[c5fd5f86f391480] {jit-backend
[c5fd5f86f3b1600] {jit-log-compiling-loop
[i40, i41]
label(i40, i41, descr=TargetToken(-238737268))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i37 = int_add(i40, 8)
i38 = int_add(i41, -1)
i39 = int_ge(i38, 0)
guard_true(i39, descr=<Guard0xf1b6996c>) [i37, i38]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i37, i38, descr=TargetToken(-239661972))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i48 = int_add(i37, 8)
i50 = int_add(i38, -1)
i52 = int_ge(i50, 0)
guard_true(i52, descr=<Guard0xf1b704ac>) [i48, i50]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i48, i50, descr=TargetToken(-239661972))
[c5fd5f86f452280] jit-log-compiling-loop}
[c5fd5f86f46cc00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd5f86f480680] jit-mem-looptoken-alloc}
[c5fd5f86f4cd180] jit-backend}
compiled new loop
[c5fd5f86f4e1700] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-238737268))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i0, 8)
i5 = int_add(i1, -1)
i7 = int_ge(i5, 0)
guard_true(i7, descr=<Guard0xf1b6996c>) [i3, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i3, i5, descr=TargetToken(-239661972))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i3, 8)
i11 = int_add(i5, -1)
i13 = int_ge(i11, 0)
guard_true(i13, descr=<Guard0xf1b704ac>) [i9, i11]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i9, i11, descr=TargetToken(-239661972))
[c5fd5f86f585e00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd5f86f761400] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_string_compare_quasiimmutable
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_create
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_char
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_1
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_2
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_empty
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_slice_2
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_stringbuilder_append_multiple_char_1
FAIL jit/metainterp/test/test_string.py::TestLLtype::()::test_shrink_array
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_string_compare_quasiimmutable
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_create
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_char
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_1
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_2
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_empty
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_slice_2
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_stringbuilder_append_multiple_char_1
FAIL jit/metainterp/test/test_string.py::TestLLtypeUnicode::()::test_shrink_array
=============== 18 failed, 77 passed, 2 skipped in 91.87 seconds ===============
++ 10:17:20 starting jit/metainterp/test/test_virtual.py [161 started in total]
__ jit/metainterp/test/test_tracingopts.py [158 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 39 items
jit/metainterp/test/test_tracingopts.py .................................s.....
==================== 38 passed, 1 skipped in 22.75 seconds =====================
++ 10:17:47 starting jit/metainterp/test/test_virtualizable.py [162 started in total]
__ jit/metainterp/test/test_virtual.py [159 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 133 items
jit/metainterp/test/test_virtual.py .....................................................................................................................................
========================= 133 passed in 73.18 seconds ==========================
++ 10:18:40 starting jit/metainterp/test/test_virtualref.py [163 started in total]
__ jit/metainterp/test/test_virtualizable.py [160 done in total, somefailed=True]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 50 items
jit/metainterp/test/test_virtualizable.py ................x.............F...................
=================================== FAILURES ===================================
_____________ TestLLtype.test_promote_index_in_virtualizable_list ______________
self = <rpython.jit.metainterp.test.test_virtualizable.TestLLtype object at 0xf4e8fc6c>
def test_promote_index_in_virtualizable_list(self):
jitdriver = JitDriver(greens = [], reds = ['n', 'frame'],
virtualizables = ['frame'])
class Frame(object):
_virtualizable_ = ['stackpos', 'stack[*]']
def f(n):
frame = Frame()
frame.stack = [42, 0, 0]
frame.stackpos = 1
while n > 0:
jitdriver.can_enter_jit(frame=frame, n=n)
jitdriver.jit_merge_point(frame=frame, n=n)
popped = frame.stack[frame.stackpos]
sp = frame.stackpos - 1
assert sp >= 0
frame.stackpos = sp
to_push = intmask(popped * 3)
frame.stack[frame.stackpos] = to_push
frame.stackpos += 1
n -= 1
return frame.stack[0]
res = self.meta_interp(f, [70], listops=True)
assert res == intmask(42 ** 70)
self.check_resops(int_add=0,
> int_sub=2) # for 'n -= 1' only
jit/metainterp/test/test_virtualizable.py:1128:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4e8f3ac>
insns = {'debug_merge_point': 4, 'getarrayitem_gc_i': 3, 'getfield_gc_i': 1, 'getfield_gc_r': 1, ...}
expected = None, check = {'int_add': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 2 'int_add', expected 0
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 128, 123] -> 128
bh: int_ge [0, 0] -> True
bh: live [133] -> 135
bh: getarrayitem_vable_i [<rpython.jit.backend.llgraph.runner.LLGraphCPU object at 0xf4e8fd4c>, <* GCREF hidden>, 0, FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'), ArrayDescr(<GcArray of Signed >)] -> 0
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 24 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] inlined 6 callsites.
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed
[jitcodewriter:WARNING] found debug_assert in <FunctionGraph of (rpython.jit.metainterp.test.test_virtualizable:1108)f at 0xf4baca2c>; should have be removed
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 12 -live- ops. Size of liveness is 19 bytes
[rtyper] replaced 12 'jit_force_virtualizable' with <* fn force_virtualizable_if_necessary>
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd601ef0b5c00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd601ef438500] {jit-trace-done
trace length: 62
number operations: 16
total snapshots: 3
snapshot data: 36
snapshot array data: 58
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd601ef466b00] jit-trace-done}
[c5fd601ef4c1480] {jit-log-noopt
# Traced loop or bridge with 11 ops
[i0, p1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_ge(i2, 0)
guard_value(i2, 1)
i10 = int_mul(i4, 3)
i12 = int_sub(i0, 1)
i14 = int_gt(i12, 0)
guard_true(i14)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i16 = same_as_i(1)
guard_future_condition()
jump(i12, p1, i16, i10, i4, i5, descr=<Loop-1>)
[c5fd601ef56f980] jit-log-noopt}
[c5fd601ef57fb00] {jit-optimize
[c5fd601ef5bd380] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_ge(i2, 0)
guard_value(i2, 1, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4bc356c>) [p1, i2, i3, i4, i5, i0]
i10 = int_mul(i4, 3)
# i10 -> (?) IntBound.unbounded()
i12 = int_add(i0, -1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf4bc3fac>) [p1, i2, i3, i4, i5, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd601efbfb000] jit-log-intbounds}
[c5fd601efd70e80] {jit-log-exported-state
[i17, r18, 1/ci, i19, i20, i21]
PureOp(i22 = same_as_i(i19))
INP(r18)
INP(i19 = int_mul(i20, 3/ci))
PureOp(i23 = int_gt(i17, 0/ci))
INP(i17 = int_add(i24, -1/ci))
INP(i20)
INP(i21)
[c5fd601efd9f100] jit-log-exported-state}
[c5fd601efdab000] jit-optimize}
[c5fd601efdc2d00] {jit-optimize
[c5fd601f002d000] {jit-log-intbounds
[i0, p1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i10 = int_gt(i8, 0)
guard_true(i10, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4b94fec>) [p11, i12, i13, i14, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd601f06c5d00] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i8, p11, i12, i13, i14, i12, descr=TargetToken(-188812724))
[c5fd601f0a16780] jit-optimize}
[c5fd601f0a23a80] {jit-log-short-preamble
[]
label(i25, p26, i27, i28, i29)
i31 = int_mul(i28, 3)
jump(i31)
[c5fd601f0a43080] jit-log-short-preamble}
[c5fd601f0ae1580] {jit-backend
[c5fd601f0afb180] {jit-log-compiling-loop
[i24, p18]
i32 = getfield_gc_i(p18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p33 = getfield_gc_r(p18, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i35 = getarrayitem_gc_i(p33, 0, descr=ArrayDescr(<GcArray of Signed >))
i37 = getarrayitem_gc_i(p33, 1, descr=ArrayDescr(<GcArray of Signed >))
i39 = getarrayitem_gc_i(p33, 2, descr=ArrayDescr(<GcArray of Signed >))
label(i24, p18, i32, i35, i37, i39, descr=TargetToken(-188993364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i41 = int_ge(i32, 0)
guard_value(i32, 1, descr=<Guard0xf4bc356c>) [p18, i32, i35, i37, i39, i24]
i43 = int_mul(i37, 3)
i17 = int_add(i24, -1)
i23 = int_gt(i17, 0)
guard_true(i23, descr=<Guard0xf4bc3fac>) [p18, i32, i35, i37, i39, i24]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i46 = same_as_i(i43)
label(i17, p18, i43, i37, i39, i46, descr=TargetToken(-188812724))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i48 = int_add(i17, -1)
i50 = int_gt(i48, 0)
guard_true(i50, descr=<Guard0xf4b94fec>) [p18, i46, i37, i39, i48]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i48, p18, i46, i37, i39, i46, descr=TargetToken(-188812724))
[c5fd601f0b97b80] jit-log-compiling-loop}
[c5fd601f0ba8b00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd601f0bb4880] jit-mem-looptoken-alloc}
[c5fd601f0c00580] jit-backend}
compiled new loop
[c5fd601f0c0c500] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 22 ops
[i0, p1]
i2 = getfield_gc_i(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stackpos'))
p3 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualizable.Frame { super, vable_token, inst_stack, inst_stackpos }>, 'inst_stack'))
i5 = getarrayitem_gc_i(p3, 0, descr=ArrayDescr(<GcArray of Signed >))
i7 = getarrayitem_gc_i(p3, 1, descr=ArrayDescr(<GcArray of Signed >))
i9 = getarrayitem_gc_i(p3, 2, descr=ArrayDescr(<GcArray of Signed >))
label(i0, p1, i2, i5, i7, i9, descr=TargetToken(-188993364))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i11 = int_ge(i2, 0)
guard_value(i2, 1, descr=<Guard0xf4bc356c>) [p1, i2, i5, i7, i9, i0]
i14 = int_mul(i7, 3)
i16 = int_add(i0, -1)
i18 = int_gt(i16, 0)
guard_true(i18, descr=<Guard0xf4bc3fac>) [p1, i2, i5, i7, i9, i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = same_as_i(i14)
label(i16, p1, i14, i7, i9, i19, descr=TargetToken(-188812724))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i16, -1)
i23 = int_gt(i21, 0)
guard_true(i23, descr=<Guard0xf4b94fec>) [p1, i19, i7, i9, i21]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i21, p1, i19, i7, i9, i19, descr=TargetToken(-188812724))
[c5fd601f0cb2e80] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd601f12f1900] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_virtualizable.py::TestLLtype::()::test_promote_index_in_virtualizable_list
=============== 1 failed, 48 passed, 1 xfailed in 51.42 seconds ================
++ 10:18:45 starting jit/metainterp/test/test_warmspot.py [164 started in total]
__ jit/metainterp/test/test_virtualref.py [161 done in total, somefailed=True]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 21 items
jit/metainterp/test/test_virtualref.py ..s................F.
=================================== FAILURES ===================================
______________________ TestLLtype.test_force_virtual_vref ______________________
self = <rpython.jit.metainterp.test.test_virtualref.TestLLtype object at 0xf4df04ac>
def test_force_virtual_vref(self):
myjitdriver = JitDriver(greens=[], reds=['n', 'ec'])
class ExecutionContext(object):
pass
class Frame(object):
def __init__(self, x):
self.x = x
def f(n):
ec = ExecutionContext()
while n > 0:
myjitdriver.jit_merge_point(n=n, ec=ec)
frame = Frame(1)
ec.topframeref = virtual_ref(frame)
n -= ec.topframeref().x
frame_vref = ec.topframeref
ec.topframeref = vref_None
virtual_ref_finish(frame_vref, frame)
return n
res = self.meta_interp(f, [10])
assert res == 0
self.check_resops({
'int_sub': 2, 'int_gt': 2, 'jump': 1, 'guard_true': 2,
> 'force_token': 2, 'setfield_gc': 1
})
jit/metainterp/test/test_virtualref.py:696:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf4e12f6c>
insns = {'force_token': 2, 'guard_true': 2, 'int_add': 2, 'int_gt': 2, ...}
expected = {'force_token': 2, 'guard_true': 2, 'int_gt': 2, 'int_sub': 2, ...}
check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'force_token...t_gt': 2, ...} == {'force_token'..._sub': 2, ...}
E Omitting 5 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 83, 80] -> 83
bh: int_return [<BHInterp <JitCode 'f'>>, 0] -> LeaveFrame!
~~~ return value: 0
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 12 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[rtyper] -=- specialized 2 more blocks -=-
[jitcodewriter:info] There are 2 JitCode instances.
[jitcodewriter:info] There are 6 -live- ops. Size of liveness is 15 bytes
[rtyper] replaced 2 'jit_force_virtual' with <* fn force_virtual_if_necessary>
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 1 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[jitcodewriter] -> 1 bitstrings, mean length 0.0, max length 0
[c5fd60506658880] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd60506bccc80] {jit-trace-done
trace length: 92
number operations: 18
total snapshots: 4
snapshot data: 48
snapshot array data: 42
bigint consts: 1 1
float consts: 0 0
ref consts: 3 0 1
descrs: 1
[c5fd60506c11400] jit-trace-done}
[c5fd60506c60f80] {jit-log-noopt
# Traced loop or bridge with 17 ops
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = new_with_vtable(descr=SizeDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.Frame { super, inst_x }>))
setfield_gc(p2, 1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.Frame { super, inst_x }>, 'inst_x'))
p5 = virtual_ref(p2, 0)
setfield_gc(p1, p5, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
virtual_ref_finish(p5, p2)
p7 = call_may_force_r(ConstClass(_ll_1_jit_force_virtual__objectPtr), p5, descr=CallDescr(<* GcStruct object { typeptr }>, (<* GcStruct object { typeptr }>,), <EffectInfo 0xf57931ac: EF=6 OS=120>))
guard_not_forced()
guard_no_exception()
i9 = int_sub(i0, 1)
p10 = getfield_gc_r(p1, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
i13 = int_gt(i9, 0)
guard_true(i13)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i9, p1, descr=<Loop-1>)
[c5fd60506d99b80] jit-log-noopt}
[c5fd60506db1c00] {jit-optimize
[c5fd60506de5480] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = force_token()
i4 = int_add(i0, -1)
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
i7 = int_gt(i4, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4dc5c0c>) [i4, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd605075e4e80] jit-log-intbounds}
[c5fd605076c7700] {jit-log-exported-state
[i14, r15]
INP(r15)
PureOp(i16 = int_gt(i14, 0/ci))
INP(i14 = int_add(i17, -1/ci))
HeapOp(0/cp, r18 = getfield_gc_r(r15, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref')))
[c5fd605076fad80] jit-log-exported-state}
[c5fd6050770b900] jit-optimize}
[c5fd6050772d600] {jit-optimize
[c5fd605078c0900] {jit-log-intbounds
[i0, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = force_token()
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
i5 = int_add(i3, -1)
# i5: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf4dcaa8c>) [i5, p8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd60508291e00] jit-log-intbounds}
# i5: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i5, p8, descr=TargetToken(-186863636))
[c5fd605084f1280] jit-optimize}
[c5fd60508503a00] {jit-log-short-preamble
[]
label(i19, p20)
guard_nonnull(p20)
guard_is_object(p20)
guard_subclass(p20, <AddressAsInt * struct rpython.jit.metainterp.test.test_virtualref.ExecutionContext_vtable { super=... }>)
p22 = getfield_gc_r(p20, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
guard_value(p22, ConstPtr(null))
jump()
[c5fd60508551580] jit-log-short-preamble}
[c5fd605085a3e80] {jit-backend
[c5fd605085c3800] {jit-log-compiling-loop
[i17, p15]
label(i17, p15, descr=TargetToken(-186885044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p24 = force_token()
i14 = int_add(i17, -1)
setfield_gc(p15, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
i16 = int_gt(i14, 0)
guard_true(i16, descr=<Guard0xf4dc5c0c>) [i14, p15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i14, p15, descr=TargetToken(-186863636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p27 = force_token()
i29 = int_add(i14, -1)
i31 = int_gt(i29, 0)
guard_true(i31, descr=<Guard0xf4dcaa8c>) [i29, p15]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i29, p15, descr=TargetToken(-186863636))
[c5fd6050865aa00] jit-log-compiling-loop}
[c5fd60508673480] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd60508685b80] jit-mem-looptoken-alloc}
[c5fd605086d1c00] jit-backend}
compiled new loop
[c5fd605086e4900] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 16 ops
[i0, p1]
label(i0, p1, descr=TargetToken(-186885044))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p2 = force_token()
i4 = int_add(i0, -1)
setfield_gc(p1, ConstPtr(null), descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_virtualref.ExecutionContext { super, inst_topframeref }>, 'inst_topframeref'))
i7 = int_gt(i4, 0)
guard_true(i7, descr=<Guard0xf4dc5c0c>) [i4, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i4, p1, descr=TargetToken(-186863636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
p8 = force_token()
i10 = int_add(i4, -1)
i12 = int_gt(i10, 0)
guard_true(i12, descr=<Guard0xf4dcaa8c>) [i10, p1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i10, p1, descr=TargetToken(-186863636))
[c5fd6050878f000] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd60508a1ca80] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_virtualref.py::TestLLtype::()::test_force_virtual_vref
=============== 1 failed, 19 passed, 1 skipped in 15.45 seconds ================
++ 10:18:57 starting jit/metainterp/test/test_warmstate.py [165 started in total]
__ jit/metainterp/test/test_warmspot.py [162 done in total, somefailed=True] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 27 items
jit/metainterp/test/test_warmspot.py ......F..F.sss.FFF.ssss....
=================================== FAILURES ===================================
_______________________ TestLLWarmspot.test_loop_header ________________________
self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf539d8ac>
def test_loop_header(self):
# artificial test: we enter into the JIT only when can_enter_jit()
# is seen, but we close a loop in the JIT much more quickly
# because of loop_header().
mydriver = JitDriver(reds = ['n', 'm'], greens = [])
def f(m):
n = 0
while True:
mydriver.jit_merge_point(n=n, m=m)
if n > m:
m -= 1
if m < 0:
return n
n = 0
mydriver.can_enter_jit(n=n, m=m)
else:
n += 1
mydriver.loop_header()
assert f(15) == 1
res = self.meta_interp(f, [15], backendopt=True)
assert res == 1
> self.check_resops(int_add=2) # I get 13 without the loop_header()
jit/metainterp/test/test_warmspot.py:189:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf53b3bec>
insns = {'debug_merge_point': 5, 'guard_false': 3, 'guard_true': 1, 'int_add': 3, ...}
expected = None, check = {'int_add': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 3 'int_add', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [13, 12, 43, 21] -> 21
bh: int_sub [12, 1] -> 11
bh: live [26] -> 28
bh: goto_if_not_int_lt [11, 0, 35, 33] -> 35
bh: loop_header [0]
bh: int_copy [0] -> 0
bh: goto [0] -> 0
bh: live [1] -> 3
bh: jit_merge_point [<BHInterp <JitCode 'f'>>, 0, [], [], [], [0, 11], [], []] -> ContinueRunningNormally!
bh: goto_if_not_int_gt [1, 0, 43, 21] -> 21
bh: int_sub [0, 1] -> -1
bh: live [26] -> 28
bh: goto_if_not_int_lt [-1, 0, 35, 33] -> 33
bh: int_return [<BHInterp <JitCode 'f'>>, 1] -> LeaveFrame!
~~~ return value: 1
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 1 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd60494ca2b00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd60494ddf900] {jit-trace-done
trace length: 38
number operations: 8
total snapshots: 2
snapshot data: 24
snapshot array data: 14
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd60494e0eb00] jit-trace-done}
[c5fd60494e46380] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_gt(i0, i1)
guard_false(i2)
i4 = int_add(i0, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i4, i1, descr=<Loop-1>)
[c5fd60494eaed80] jit-log-noopt}
[c5fd60494ebfb00] {jit-optimize
[c5fd60494ee3900] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_gt(i0, i1)
guard_false(i2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf53692ec>) [i0, i1]
i4 = int_add(i0, 1)
# i4 -> (?) IntBound.unbounded()
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd6049527ae80] jit-log-intbounds}
[c5fd604952f6300] {jit-log-exported-state
[i5, i6]
INP(i5 = int_add(i7, 1/ci))
INP(i6)
[c5fd60495324300] jit-log-exported-state}
[c5fd60495335480] jit-optimize}
[c5fd6049534f500] {jit-optimize
[c5fd6049545ea80] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_gt(i2, i3)
guard_false(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5369bcc>) [i2, i3]
i6 = int_add(i2, 1)
# i6 -> (?) IntBound.unbounded()
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd6049594f700] jit-log-intbounds}
jump(i6, i3, descr=TargetToken(-180948596))
[c5fd60495b1df00] jit-optimize}
[c5fd60495b35280] {jit-log-short-preamble
[]
label(i8, i9)
jump()
[c5fd60495b5cb00] jit-log-short-preamble}
[c5fd60495bab880] {jit-backend
[c5fd60495bcc680] {jit-log-compiling-loop
[i7, i6]
label(i7, i6, descr=TargetToken(-180972596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i10 = int_gt(i7, i6)
guard_false(i10, descr=<Guard0xf53692ec>) [i7, i6]
i5 = int_add(i7, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, i6, descr=TargetToken(-180948596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_gt(i5, i6)
guard_false(i12, descr=<Guard0xf5369bcc>) [i5, i6]
i14 = int_add(i5, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i14, i6, descr=TargetToken(-180948596))
[c5fd60495c5bb80] jit-log-compiling-loop}
[c5fd60495c76500] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd60495c89980] jit-mem-looptoken-alloc}
[c5fd60495cd2780] jit-backend}
compiled new loop
[c5fd60495ce6d80] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-180972596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_gt(i0, i1)
guard_false(i2, descr=<Guard0xf53692ec>) [i0, i1]
i4 = int_add(i0, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i4, i1, descr=TargetToken(-180948596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_gt(i4, i1)
guard_false(i5, descr=<Guard0xf5369bcc>) [i4, i1]
i7 = int_add(i4, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i7, i1, descr=TargetToken(-180948596))
[c5fd60495d88f80] jit-log-opt-loop}
ContinueRunningNormally
[c5fd604960c1500] jit-tracing}
[c5fd60496375700] {jit-tracing
(jitdriver: no get_printable_location)
[c5fd6049654d200] {jit-trace-done
trace length: 51
number operations: 11
total snapshots: 3
snapshot data: 36
snapshot array data: 20
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 2
[c5fd6049657a680] jit-trace-done}
[c5fd60496591600] {jit-log-noopt
# Traced loop or bridge with 9 ops
[i0, i1]
i2 = int_gt(i0, i1)
guard_true(i2)
i4 = int_sub(i1, 1)
i6 = int_lt(i4, 0)
guard_false(i6)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = same_as_i(0)
guard_future_condition()
jump(i8, i4, descr=<Loop1>)
[c5fd60496601e80] jit-log-noopt}
[c5fd60496612280] {jit-optimize
[c5fd604966a8280] {jit-log-intbounds
[i0, i1]
i2 = int_gt(i0, i1)
guard_true(i2, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf537394c>) [i0, i1]
# i1: (? <= MAXINT - 1) IntBound(MININT, MAXINT - 1)
i4 = int_add(i1, -1)
i6 = int_lt(i4, 0)
guard_false(i6, descr=<rpython.jit.metainterp.compile.ResumeGuardCopiedDescr object at 0xf5373cec>) [i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd60496c00180] jit-log-intbounds}
# i4: (0 <= 0b0?...?) IntBound.nonnegative()
jump(0, i4, descr=TargetToken(-180948596))
[c5fd60496d2da00] jit-optimize}
[c5fd60496d47b80] {jit-backend
[c5fd60496d52f80] {jit-log-compiling-bridge
[i9, i10]
i11 = int_gt(i9, i10)
guard_true(i11, descr=<Guard0xf537394c>) [i9, i10]
i13 = int_add(i10, -1)
i15 = int_lt(i13, 0)
guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(0, i13, descr=TargetToken(-180948596))
[c5fd60496d8c180] jit-log-compiling-bridge}
[c5fd60496d9ea80] {jit-mem-looptoken-alloc
allocating Bridge # 1 of Loop # 1
[c5fd60496dadb00] jit-mem-looptoken-alloc}
[c5fd60496de8980] jit-backend}
compiled new bridge
[c5fd60496df9580] {jit-log-opt-bridge
# bridge out of Guard 0xf5369bcc with 7 ops
[i9, i10]
i11 = int_gt(i9, i10)
guard_true(i11, descr=<Guard0xf537394c>) [i9, i10]
i13 = int_add(i10, -1)
i15 = int_lt(i13, 0)
guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(0, i13, descr=TargetToken(-180948596))
[c5fd60496e38380] jit-log-opt-bridge}
[c5fd60496e43100] {jit-log-opt-bridge
# bridge out of Guard 0xf5369bcc with 7 ops
[i9, i10]
i11 = int_gt(i9, i10)
guard_true(i11, descr=<Guard0xf537394c>) [i9, i10]
i13 = int_add(i10, -1)
i15 = int_lt(i13, 0)
guard_false(i15, descr=<Guard0xf5373cec>) [i9, i10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(0, i13, descr=TargetToken(-180948596))
[c5fd60496e7ec00] jit-log-opt-bridge}
DoneWithThisFrameInt
[c5fd60497553f00] jit-tracing}
_______________________ TestLLWarmspot.test_simple_loop ________________________
self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf528b5cc>
def test_simple_loop(self):
mydriver = JitDriver(greens=[], reds=['m'])
def f1(m):
while m > 0:
mydriver.jit_merge_point(m=m)
m = m - 1
self.meta_interp(f1, [8])
self.check_trace_count(1)
self.check_resops({'jump': 1, 'guard_true': 2, 'int_gt': 2,
> 'int_sub': 2})
jit/metainterp/test/test_warmspot.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf50e6d4c>
insns = {'guard_true': 2, 'int_add': 2, 'int_gt': 2, 'jump': 1}
expected = {'guard_true': 2, 'int_gt': 2, 'int_sub': 2, 'jump': 1}, check = {}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
> assert insns == expected
E assert {'guard_true'... 2, 'jump': 1} == {'guard_true':... 2, 'jump': 1}
E Omitting 3 identical items, use -v to show
E Left contains more items:
E {'int_add': 2}
E Right contains more items:
E {'int_sub': 2}
E Use -v to get the full diff
jit/metainterp/history.py:977: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 30, 27] -> 30
bh: void_return [<BHInterp <JitCode 'f1'>>] -> LeaveFrame!
~~~ return value: None
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 3 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd604c2573500] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd604c2671000] {jit-trace-done
trace length: 37
number operations: 7
total snapshots: 2
snapshot data: 24
snapshot array data: 10
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd604c269df00] jit-trace-done}
[c5fd604c26cbd80] {jit-log-noopt
# Traced loop or bridge with 7 ops
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_sub(i0, 1)
i4 = int_gt(i2, 0)
guard_true(i4)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i2, descr=<Loop-1>)
[c5fd604c2727400] jit-log-noopt}
[c5fd604c2738500] {jit-optimize
[c5fd604c2753900] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf51076cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604c2b5e400] jit-log-intbounds}
[c5fd604c2bdcb00] {jit-log-exported-state
[i5]
INP(i5 = int_add(i6, -1/ci))
PureOp(i7 = int_gt(i5, 0/ci))
[c5fd604c2bf4c00] jit-log-exported-state}
[c5fd604c2c00780] jit-optimize}
[c5fd604c2c17100] {jit-optimize
[c5fd604c2d28b80] {jit-log-intbounds
[i0]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i1: (1 <= 0b0?...?) IntBound(1, MAXINT)
i3 = int_add(i1, -1)
# i3: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i5 = int_gt(i3, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf51072ac>) [i3]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604c3281600] jit-log-intbounds}
# i3: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i3, descr=TargetToken(-183468596))
[c5fd604c33b0000] jit-optimize}
[c5fd604c33bce80] {jit-log-short-preamble
[]
label(i8)
jump()
[c5fd604c33d2680] jit-log-short-preamble}
[c5fd604c3402c00] {jit-backend
[c5fd604c3418b80] {jit-log-compiling-loop
[i6]
label(i6, descr=TargetToken(-183470356))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i5 = int_add(i6, -1)
i7 = int_gt(i5, 0)
guard_true(i7, descr=<Guard0xf51076cc>) [i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i5, descr=TargetToken(-183468596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i5, -1)
i14 = int_gt(i12, 0)
guard_true(i14, descr=<Guard0xf51072ac>) [i12]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i12, descr=TargetToken(-183468596))
[c5fd604c346e280] jit-log-compiling-loop}
[c5fd604c347f680] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd604c348d880] jit-mem-looptoken-alloc}
[c5fd604c34ba980] jit-backend}
compiled new loop
[c5fd604c34c7480] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 13 ops
[i0]
label(i0, descr=TargetToken(-183470356))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i2 = int_add(i0, -1)
i4 = int_gt(i2, 0)
guard_true(i4, descr=<Guard0xf51076cc>) [i2]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i2, descr=TargetToken(-183468596))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i6 = int_add(i2, -1)
i8 = int_gt(i6, 0)
guard_true(i8, descr=<Guard0xf51072ac>) [i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i6, descr=TargetToken(-183468596))
[c5fd604c352aa00] jit-log-opt-loop}
DoneWithThisFrameVoid
[c5fd604c366f580] jit-tracing}
___________________ TestLLWarmspot.test_loop_automatic_reds ____________________
self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf51ee4ac>
def test_loop_automatic_reds(self):
myjitdriver = JitDriver(greens = ['m'], reds = 'auto')
def f(n, m):
res = 0
# try to have lots of red vars, so that if there is an error in
# the ordering of reds, there are low chances that the test passes
# by chance
a = b = c = d = n
while n > 0:
myjitdriver.jit_merge_point(m=m)
n -= 1
a += 1 # dummy unused red
b += 2 # dummy unused red
c += 3 # dummy unused red
d += 4 # dummy unused red
res += m*2
return res
expected = f(21, 5)
res = self.meta_interp(f, [21, 5])
assert res == expected
> self.check_resops(int_sub=2, int_mul=0, int_add=10)
jit/metainterp/test/test_warmspot.py:337:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf522bc8c>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 12, 'int_gt': 2, ...}
expected = None, check = {'int_add': 10, 'int_mul': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 12 'int_add', expected 10
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 65, 62] -> 65
bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame!
~~~ return value: 210
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd604d7350d00] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd604d75b4680] {jit-trace-done
trace length: 71
number operations: 17
total snapshots: 2
snapshot data: 24
snapshot array data: 34
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd604d75e2080] jit-trace-done}
[c5fd604d7644a80] {jit-log-noopt
# Traced loop or bridge with 12 ops
[i0, i1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_sub(i5, 1)
i9 = int_add(i1, 1)
i11 = int_add(i0, 2)
i13 = int_add(i3, 3)
i15 = int_add(i2, 4)
i17 = int_add(i4, 10)
i19 = int_gt(i7, 0)
guard_true(i19)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i11, i9, i15, i13, i17, i7, descr=<Loop-1>)
[c5fd604d7701080] jit-log-noopt}
[c5fd604d7711400] {jit-optimize
[c5fd604d774cf80] {jit-log-intbounds
[i0, i1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i5, -1)
i9 = int_add(i1, 1)
# i9 -> (?) IntBound.unbounded()
i11 = int_add(i0, 2)
# i11 -> (?) IntBound.unbounded()
i13 = int_add(i3, 3)
# i13 -> (?) IntBound.unbounded()
i15 = int_add(i2, 4)
# i15 -> (?) IntBound.unbounded()
i17 = int_add(i4, 10)
# i17 -> (?) IntBound.unbounded()
i19 = int_gt(i7, 0)
guard_true(i19, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf52552ac>) [i11, i9, i15, i13, i17, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604d800b400] jit-log-intbounds}
[c5fd604d8163f80] {jit-log-exported-state
[i20, i21, i22, i23, i24, i25]
INP(i20 = int_add(i26, 2/ci))
INP(i24 = int_add(i27, 10/ci))
PureOp(i28 = int_gt(i25, 0/ci))
INP(i23 = int_add(i29, 3/ci))
INP(i25 = int_add(i30, -1/ci))
INP(i21 = int_add(i31, 1/ci))
INP(i22 = int_add(i32, 4/ci))
[c5fd604d8197800] jit-log-exported-state}
[c5fd604d81a2d80] jit-optimize}
[c5fd604d81b9480] {jit-optimize
[c5fd604d8518180] {jit-log-intbounds
[i0, i1, i2, i3, i4, i5]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i6: (1 <= 0b0?...?) IntBound(1, MAXINT)
i8 = int_add(i6, -1)
i11 = int_add(i9, 1)
# i11 -> (?) IntBound.unbounded()
i14 = int_add(i12, 2)
# i14 -> (?) IntBound.unbounded()
i17 = int_add(i15, 3)
# i17 -> (?) IntBound.unbounded()
i20 = int_add(i18, 4)
# i20 -> (?) IntBound.unbounded()
i23 = int_add(i21, 10)
# i23 -> (?) IntBound.unbounded()
# i8: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i25 = int_gt(i8, 0)
guard_true(i25, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf5247f6c>) [i14, i11, i20, i17, i23, i8]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604d8f26300] jit-log-intbounds}
# i8: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i14, i11, i20, i17, i23, i8, descr=TargetToken(-178145684))
[c5fd604d9257100] jit-optimize}
[c5fd604d9264080] {jit-log-short-preamble
[]
label(i33, i34, i35, i36, i37, i38)
jump()
[c5fd604d927dc80] jit-log-short-preamble}
[c5fd604d92d0a80] {jit-backend
[c5fd604d92eac80] {jit-log-compiling-loop
[i26, i31, i32, i29, i27, i30]
label(i26, i31, i32, i29, i27, i30, descr=TargetToken(-182100084))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i25 = int_add(i30, -1)
i21 = int_add(i31, 1)
i20 = int_add(i26, 2)
i23 = int_add(i29, 3)
i22 = int_add(i32, 4)
i24 = int_add(i27, 10)
i28 = int_gt(i25, 0)
guard_true(i28, descr=<Guard0xf52552ac>) [i20, i21, i22, i23, i24, i25]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i20, i21, i22, i23, i24, i25, descr=TargetToken(-178145684))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i47 = int_add(i25, -1)
i49 = int_add(i21, 1)
i51 = int_add(i20, 2)
i53 = int_add(i23, 3)
i55 = int_add(i22, 4)
i57 = int_add(i24, 10)
i59 = int_gt(i47, 0)
guard_true(i59, descr=<Guard0xf5247f6c>) [i51, i49, i55, i53, i57, i47]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i51, i49, i55, i53, i57, i47, descr=TargetToken(-178145684))
[c5fd604d9389d80] jit-log-compiling-loop}
[c5fd604d939c480] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd604d93a9180] jit-mem-looptoken-alloc}
[c5fd604d93f0600] jit-backend}
compiled new loop
[c5fd604d93fd500] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 23 ops
[i0, i1, i2, i3, i4, i5]
label(i0, i1, i2, i3, i4, i5, descr=TargetToken(-182100084))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i7 = int_add(i5, -1)
i9 = int_add(i1, 1)
i11 = int_add(i0, 2)
i13 = int_add(i3, 3)
i15 = int_add(i2, 4)
i17 = int_add(i4, 10)
i19 = int_gt(i7, 0)
guard_true(i19, descr=<Guard0xf52552ac>) [i11, i9, i15, i13, i17, i7]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i11, i9, i15, i13, i17, i7, descr=TargetToken(-178145684))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i21 = int_add(i7, -1)
i23 = int_add(i9, 1)
i25 = int_add(i11, 2)
i27 = int_add(i13, 3)
i29 = int_add(i15, 4)
i31 = int_add(i17, 10)
i33 = int_gt(i21, 0)
guard_true(i33, descr=<Guard0xf5247f6c>) [i25, i23, i29, i27, i31, i21]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i25, i23, i29, i27, i31, i21, descr=TargetToken(-178145684))
[c5fd604d94a6c00] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd604d9822580] jit-tracing}
_________ TestLLWarmspot.test_loop_automatic_reds_with_floats_and_refs _________
self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf51a8a2c>
def test_loop_automatic_reds_with_floats_and_refs(self):
myjitdriver = JitDriver(greens = ['m'], reds = 'auto')
class MyObj(object):
def __init__(self, val):
self.val = val
def f(n, m):
res = 0
# try to have lots of red vars, so that if there is an error in
# the ordering of reds, there are low chances that the test passes
# by chance
i1 = i2 = i3 = i4 = n
f1 = f2 = f3 = f4 = float(n)
r1 = r2 = r3 = r4 = MyObj(n)
while n > 0:
myjitdriver.jit_merge_point(m=m)
n -= 1
i1 += 1 # dummy unused red
i2 += 2 # dummy unused red
i3 += 3 # dummy unused red
i4 += 4 # dummy unused red
f1 += 1 # dummy unused red
f2 += 2 # dummy unused red
f3 += 3 # dummy unused red
f4 += 4 # dummy unused red
r1.val += 1 # dummy unused red
r2.val += 2 # dummy unused red
r3.val += 3 # dummy unused red
r4.val += 4 # dummy unused red
res += m*2
return res
expected = f(21, 5)
res = self.meta_interp(f, [21, 5])
assert res == expected
> self.check_resops(int_sub=2, int_mul=0, int_add=18, float_add=8)
jit/metainterp/test/test_warmspot.py:372:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf52fc52c>
insns = {'debug_merge_point': 4, 'float_add': 8, 'getfield_gc_i': 1, 'guard_true': 2, ...}
expected = None
check = {'float_add': 8, 'int_add': 18, 'int_mul': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 20 'int_add', expected 18
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 142, 139] -> 142
bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame!
~~~ return value: 210
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 6 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd604e2487480] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd604e29bc080] {jit-trace-done
trace length: 149
number operations: 35
total snapshots: 2
snapshot data: 24
snapshot array data: 54
bigint consts: 0 0
float consts: 4 4
ref consts: 0 0 1
descrs: 1
[c5fd604e29eb080] jit-trace-done}
[c5fd604e2a7d280] {jit-log-noopt
# Traced loop or bridge with 25 ops
[i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_sub(i0, 1)
i14 = int_add(i1, 1)
i16 = int_add(i2, 2)
i18 = int_add(i3, 3)
i20 = int_add(i4, 4)
f22 = float_add(f8, 1.0)
f24 = float_add(f9, 2.0)
f26 = float_add(f7, 3.0)
f28 = float_add(f10, 4.0)
i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i31 = int_add(i29, 1)
setfield_gc(p6, i31, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i33 = int_add(i31, 2)
setfield_gc(p6, i33, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i35 = int_add(i33, 3)
setfield_gc(p6, i35, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i37 = int_add(i35, 4)
setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i39 = int_add(i5, 10)
i41 = int_gt(i12, 0)
guard_true(i41)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28, descr=<Loop-1>)
[c5fd604e2bfa400] jit-log-noopt}
[c5fd604e2c0b600] {jit-optimize
[c5fd604e2c6f700] {jit-log-intbounds
[i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i0, -1)
i14 = int_add(i1, 1)
# i14 -> (?) IntBound.unbounded()
i16 = int_add(i2, 2)
# i16 -> (?) IntBound.unbounded()
i18 = int_add(i3, 3)
# i18 -> (?) IntBound.unbounded()
i20 = int_add(i4, 4)
# i20 -> (?) IntBound.unbounded()
f22 = float_add(f8, 1.0)
f24 = float_add(f9, 2.0)
f26 = float_add(f7, 3.0)
f28 = float_add(f10, 4.0)
i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i31 = int_add(i29, 1)
# i31 -> (?) IntBound.unbounded()
i33 = int_add(i29, 3)
i35 = int_add(i29, 6)
i37 = int_add(i29, 10)
i39 = int_add(i5, 10)
# i39 -> (?) IntBound.unbounded()
setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i41 = int_gt(i12, 0)
guard_true(i41, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf536f8ac>) [i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604e39d0a00] jit-log-intbounds}
[c5fd604e3b87f00] {jit-log-exported-state
[i42, i43, i44, i45, i46, i47, r48, f49, f50, f51, f52]
INP(i44 = int_add(i53, 2/ci))
INP(f52 = float_add(f54, -1074790400/cf))
INP(i47 = int_add(i55, 10/ci))
INP(i43 = int_add(i56, 1/ci))
INP(i42 = int_add(i57, -1/ci))
INP(r48)
INP(f49 = float_add(f58, -1074266112/cf))
INP(i46 = int_add(i59, 4/ci))
INP(i45 = int_add(i60, 3/ci))
PureOp(i61 = int_gt(i42, 0/ci))
INP(f51 = float_add(f62, -1073741824/cf))
HeapOp(i63 = int_add(i64, 10/ci), i65 = getfield_gc_i(r48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val')))
INP(f50 = float_add(f66, -1072693248/cf))
[c5fd604e3be9580] jit-log-exported-state}
[c5fd604e3bf7280] jit-optimize}
[c5fd604e3c0fd00] {jit-optimize
[c5fd604e3f88000] {jit-log-intbounds
[i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
# i11: (1 <= 0b0?...?) IntBound(1, MAXINT)
i13 = int_add(i11, -1)
i16 = int_add(i14, 1)
# i16 -> (?) IntBound.unbounded()
i19 = int_add(i17, 2)
# i19 -> (?) IntBound.unbounded()
i22 = int_add(i20, 3)
# i22 -> (?) IntBound.unbounded()
i25 = int_add(i23, 4)
# i25 -> (?) IntBound.unbounded()
f28 = float_add(f26, 1.0)
f31 = float_add(f29, 2.0)
f34 = float_add(f32, 3.0)
f37 = float_add(f35, 4.0)
i40 = int_add(i38, 1)
# i40 -> (?) IntBound.unbounded()
i42 = int_add(i38, 3)
i44 = int_add(i38, 6)
i46 = int_add(i38, 10)
i49 = int_add(i47, 10)
# i49 -> (?) IntBound.unbounded()
setfield_gc(p50, i46, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
# i13: (0 <= 0b0?...? <= MAXINT - 1) IntBound(0, MAXINT - 1)
i52 = int_gt(i13, 0)
guard_true(i52, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf505008c>) [i13, i16, i19, i22, i25, i49, p50, f34, f28, f31, f37]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604e4ec6180] jit-log-intbounds}
# i13: (1 <= 0b0?...?) IntBound(1, MAXINT)
jump(i13, i16, i19, i22, i25, i49, p50, f34, f28, f31, f37, i46, descr=TargetToken(-184217652))
[c5fd604e527a580] jit-optimize}
[c5fd604e5287c00] {jit-log-short-preamble
[]
label(i67, i68, i69, i70, i71, i72, p73, f74, f75, f76, f77)
guard_nonnull(p73)
guard_is_object(p73)
guard_subclass(p73, <AddressAsInt * struct rpython.jit.metainterp.test.test_warmspot.MyObj_vtable { super=... }>)
i79 = getfield_gc_i(p73, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
jump(i79)
[c5fd604e52bf300] jit-log-short-preamble}
[c5fd604e5349400] {jit-backend
[c5fd604e5363b80] {jit-log-compiling-loop
[i57, i56, i53, i60, i59, i55, p48, f58, f66, f62, f54]
label(i57, i56, i53, i60, i59, i55, p48, f58, f66, f62, f54, descr=TargetToken(-176243636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i42 = int_add(i57, -1)
i43 = int_add(i56, 1)
i44 = int_add(i53, 2)
i45 = int_add(i60, 3)
i46 = int_add(i59, 4)
f50 = float_add(f66, 1.0)
f51 = float_add(f62, 2.0)
f49 = float_add(f58, 3.0)
f52 = float_add(f54, 4.0)
i64 = getfield_gc_i(p48, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i90 = int_add(i64, 1)
i92 = int_add(i64, 3)
i94 = int_add(i64, 6)
i63 = int_add(i64, 10)
i47 = int_add(i55, 10)
setfield_gc(p48, i63, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i61 = int_gt(i42, 0)
guard_true(i61, descr=<Guard0xf536f8ac>) [i42, i43, i44, i45, i46, i47, p48, f49, f50, f51, f52]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i42, i43, i44, i45, i46, i47, p48, f49, f50, f51, f52, i63, descr=TargetToken(-184217652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i99 = int_add(i42, -1)
i101 = int_add(i43, 1)
i103 = int_add(i44, 2)
i105 = int_add(i45, 3)
i107 = int_add(i46, 4)
f109 = float_add(f50, 1.0)
f111 = float_add(f51, 2.0)
f113 = float_add(f49, 3.0)
f115 = float_add(f52, 4.0)
i117 = int_add(i63, 1)
i119 = int_add(i63, 3)
i121 = int_add(i63, 6)
i123 = int_add(i63, 10)
i125 = int_add(i47, 10)
setfield_gc(p48, i123, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i127 = int_gt(i99, 0)
guard_true(i127, descr=<Guard0xf505008c>) [i99, i101, i103, i105, i107, i125, p48, f113, f109, f111, f115]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i99, i101, i103, i105, i107, i125, p48, f113, f109, f111, f115, i123, descr=TargetToken(-184217652))
[c5fd604e5483700] jit-log-compiling-loop}
[c5fd604e5495c00] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd604e54a2b80] jit-mem-looptoken-alloc}
[c5fd604e551ed80] jit-backend}
compiled new loop
[c5fd604e552c680] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 42 ops
[i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10]
label(i0, i1, i2, i3, i4, i5, p6, f7, f8, f9, f10, descr=TargetToken(-176243636))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i12 = int_add(i0, -1)
i14 = int_add(i1, 1)
i16 = int_add(i2, 2)
i18 = int_add(i3, 3)
i20 = int_add(i4, 4)
f22 = float_add(f8, 1.0)
f24 = float_add(f9, 2.0)
f26 = float_add(f7, 3.0)
f28 = float_add(f10, 4.0)
i29 = getfield_gc_i(p6, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i31 = int_add(i29, 1)
i33 = int_add(i29, 3)
i35 = int_add(i29, 6)
i37 = int_add(i29, 10)
i39 = int_add(i5, 10)
setfield_gc(p6, i37, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i41 = int_gt(i12, 0)
guard_true(i41, descr=<Guard0xf536f8ac>) [i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i12, i14, i16, i18, i20, i39, p6, f26, f22, f24, f28, i37, descr=TargetToken(-184217652))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i43 = int_add(i12, -1)
i45 = int_add(i14, 1)
i47 = int_add(i16, 2)
i49 = int_add(i18, 3)
i51 = int_add(i20, 4)
f53 = float_add(f22, 1.0)
f55 = float_add(f24, 2.0)
f57 = float_add(f26, 3.0)
f59 = float_add(f28, 4.0)
i61 = int_add(i37, 1)
i63 = int_add(i37, 3)
i65 = int_add(i37, 6)
i67 = int_add(i37, 10)
i69 = int_add(i39, 10)
setfield_gc(p6, i67, descr=FieldDescr(<GcStruct rpython.jit.metainterp.test.test_warmspot.MyObj { super, inst_val }>, 'inst_val'))
i71 = int_gt(i43, 0)
guard_true(i71, descr=<Guard0xf505008c>) [i43, i45, i47, i49, i51, i69, p6, f57, f53, f55, f59]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i43, i45, i47, i49, i51, i69, p6, f57, f53, f55, f59, i67, descr=TargetToken(-184217652))
[c5fd604e565b200] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd604e5d3c580] jit-tracing}
___ TestLLWarmspot.test_loop_automatic_reds_livevars_before_jit_merge_point ____
self = <rpython.jit.metainterp.test.test_warmspot.TestLLWarmspot instance at 0xf4fad3ac>
def test_loop_automatic_reds_livevars_before_jit_merge_point(self):
myjitdriver = JitDriver(greens = ['m'], reds = 'auto')
def f(n, m):
res = 0
while n > 0:
n -= 1
myjitdriver.jit_merge_point(m=m)
res += m*2
return res
expected = f(21, 5)
res = self.meta_interp(f, [21, 5])
assert res == expected
> self.check_resops(int_sub=2, int_mul=0, int_add=2)
jit/metainterp/test/test_warmspot.py:386:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
jit/metainterp/test/support.py:199: in check_resops
get_stats().check_resops(expected=expected, **check)
jit/metainterp/history.py:969: in check_resops
return self._check_insns(insns, expected, check)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.jit.metainterp.history.Stats object at 0xf532852c>
insns = {'debug_merge_point': 4, 'guard_true': 2, 'int_add': 4, 'int_gt': 2, ...}
expected = None, check = {'int_add': 2, 'int_mul': 0, 'int_sub': 2}
def _check_insns(self, insns, expected, check):
if expected is not None:
insns.pop('debug_merge_point', None)
insns.pop('enter_portal_frame', None)
insns.pop('leave_portal_frame', None)
insns.pop('label', None)
assert insns == expected
for insn, expected_count in check.items():
getattr(rop, insn.upper()) # fails if 'rop.INSN' does not exist
found = insns.get(insn, 0)
assert found == expected_count, (
> "found %d %r, expected %d" % (found, insn, expected_count))
E AssertionError: found 4 'int_add', expected 2
jit/metainterp/history.py:982: AssertionError
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [0, 0, 45, 38] -> 45
bh: int_return [<BHInterp <JitCode 'f'>>, 210] -> LeaveFrame!
~~~ return value: 210
----------------------------- Captured stderr call -----------------------------
[rtyper] -=- specialized 6 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 7 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] There are 1 JitCode instances.
[jitcodewriter:info] There are 4 -live- ops. Size of liveness is 4 bytes
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 0 effectinfos:
[jitcodewriter] 0 descrs for arrays
[jitcodewriter] 0 descrs for fields
[jitcodewriter] 0 descrs for interiorfields
[c5fd604ed054000] {jit-tracing
JIT starting (llgraph)
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[c5fd604ed1b7380] {jit-trace-done
trace length: 47
number operations: 9
total snapshots: 2
snapshot data: 24
snapshot array data: 18
bigint consts: 0 0
float consts: 0 0
ref consts: 0 0 1
descrs: 1
[c5fd604ed1e6500] jit-trace-done}
[c5fd604ed228c00] {jit-log-noopt
# Traced loop or bridge with 8 ops
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 10)
i5 = int_gt(i0, 0)
guard_true(i5)
i7 = int_sub(i0, 1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, i3, descr=<Loop-1>)
[c5fd604ed29b000] jit-log-noopt}
[c5fd604ed2ab400] {jit-optimize
[c5fd604ed2ce080] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 10)
# i3 -> (?) IntBound.unbounded()
i5 = int_gt(i0, 0)
guard_true(i5, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf509f72c>) [i0, i3]
# i0: (1 <= 0b0?...?) IntBound(1, MAXINT)
i7 = int_add(i0, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604ed7ba480] jit-log-intbounds}
[c5fd604ed87eb00] {jit-log-exported-state
[i8, i9]
INP(i8 = int_add(i10, -1/ci))
INP(i9 = int_add(i11, 10/ci))
[c5fd604ed898780] jit-log-exported-state}
[c5fd604ed8a3700] jit-optimize}
[c5fd604ed8baa00] {jit-optimize
[c5fd604eda14500] {jit-log-intbounds
[i0, i1]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i4 = int_add(i2, 10)
# i4 -> (?) IntBound.unbounded()
# i5: (0 <= 0b0?...?) IntBound.nonnegative()
i7 = int_gt(i5, 0)
guard_true(i7, descr=<rpython.jit.metainterp.compile.ResumeGuardDescr object at 0xf50ac24c>) [i5, i4]
# i5: (1 <= 0b0?...?) IntBound(1, MAXINT)
i9 = int_add(i5, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
[c5fd604edef4e00] jit-log-intbounds}
# i9: (0 <= 0b0?...?) IntBound.nonnegative()
jump(i9, i4, descr=TargetToken(-183843124))
[c5fd604ee06fc80] jit-optimize}
[c5fd604ee07c780] {jit-log-short-preamble
[]
label(i12, i13)
jump()
[c5fd604ee091f00] jit-log-short-preamble}
[c5fd604ee0c7e80] {jit-backend
[c5fd604ee0e1c80] {jit-log-compiling-loop
[i10, i11]
label(i10, i11, descr=TargetToken(-183896180))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i11, 10)
i16 = int_gt(i10, 0)
guard_true(i16, descr=<Guard0xf509f72c>) [i10, i9]
i8 = int_add(i10, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i8, i9, descr=TargetToken(-183843124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i19 = int_add(i9, 10)
i21 = int_gt(i8, 0)
guard_true(i21, descr=<Guard0xf50ac24c>) [i8, i19]
i23 = int_add(i8, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i23, i19, descr=TargetToken(-183843124))
[c5fd604ee142f00] jit-log-compiling-loop}
[c5fd604ee155600] {jit-mem-looptoken-alloc
allocating Loop # 1
[c5fd604ee161b80] jit-mem-looptoken-alloc}
[c5fd604ee192480] jit-backend}
compiled new loop
[c5fd604ee19ea00] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 15 ops
[i0, i1]
label(i0, i1, descr=TargetToken(-183896180))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i3 = int_add(i1, 10)
i5 = int_gt(i0, 0)
guard_true(i5, descr=<Guard0xf509f72c>) [i0, i3]
i7 = int_add(i0, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
label(i7, i3, descr=TargetToken(-183843124))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i9 = int_add(i3, 10)
i11 = int_gt(i7, 0)
guard_true(i11, descr=<Guard0xf50ac24c>) [i7, i9]
i13 = int_add(i7, -1)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i13, i9, descr=TargetToken(-183843124))
[c5fd604ee20d380] jit-log-opt-loop}
DoneWithThisFrameInt
[c5fd604ee443a00] jit-tracing}
=========================== short test summary info ============================
FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_header
FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_simple_loop
FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds
FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds_with_floats_and_refs
FAIL jit/metainterp/test/test_warmspot.py::TestLLWarmspot::()::test_loop_automatic_reds_livevars_before_jit_merge_point
================ 5 failed, 15 passed, 7 skipped in 9.32 seconds ================
++ 10:18:58 starting jit/metainterp/test/test_zvector.py [166 started in total]
__ jit/metainterp/test/test_zvector.py [163 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.72 seconds ===========================
++ 10:19:01 starting jit/tl/test [167 started in total]
__ jit/metainterp/test/test_warmstate.py [164 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 9 items
jit/metainterp/test/test_warmstate.py .........
=========================== 9 passed in 1.78 seconds ===========================
++ 10:19:02 starting jit/tl/tinyframe/test [168 started in total]
__ jit/metainterp/test/test_tracelimit.py [165 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
jit/metainterp/test/test_tracelimit.py .....
========================== 5 passed in 145.45 seconds ==========================
++ 10:19:04 starting jit/tl/tla [169 started in total]
__ jit/metainterp/test/test_loop_unroll_disopt.py [166 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 259 items
jit/metainterp/test/test_loop_unroll_disopt.py ..............................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s.................................ss.s...
=================== 238 passed, 21 skipped in 287.70 seconds ===================
++ 10:19:04 starting jit/tool/test [170 started in total]
__ jit/tl/tinyframe/test [167 done in total, somefailed=False] ________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
jit/tl/tinyframe/test/test_tinyframe.py .......
=========================== 7 passed in 3.32 seconds ===========================
++ 10:19:07 starting memory/gc/test [171 started in total]
__ jit/tool/test [168 done in total, somefailed=False] ________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 49 items
jit/tool/test/test_jitoutput.py ..
jit/tool/test/test_loopcounter.py .
jit/tool/test/test_oparser.py ...................................
jit/tool/test/test_traceviewer.py ...........
========================== 49 passed in 3.21 seconds ===========================
++ 10:19:10 starting memory/gctransform/test [172 started in total]
__ jit/tl/tla [169 done in total, somefailed=False] ___________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 15 items
jit/tl/tla/test_tla.py ..........ssss.
===================== 11 passed, 4 skipped in 9.47 seconds =====================
++ 10:19:16 starting memory/test/test_gctypelayout.py [173 started in total]
__ jit/tl/test [170 done in total, somefailed=False] __________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 44 items / 1 skipped
jit/tl/test/test_brainfuck.py .
jit/tl/test/test_tl.py ......................s
jit/tl/test/test_tlc.py ..................
jit/tl/test/test_tlr.py .s
==================== 42 passed, 3 skipped in 13.17 seconds =====================
++ 10:19:18 starting memory/test/test_generational_gc.py [174 started in total]
__ memory/test/test_gctypelayout.py [171 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
memory/test/test_gctypelayout.py .....
=========================== 5 passed in 1.76 seconds ===========================
++ 10:19:19 starting memory/test/test_growingsemispace_gc.py [175 started in total]
__ memory/test/test_growingsemispace_gc.py [172 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 47 items
memory/test/test_growingsemispace_gc.py ...............................................
========================== 47 passed in 90.83 seconds ==========================
++ 10:20:54 starting memory/test/test_hybrid_gc.py [176 started in total]
__ memory/test/test_generational_gc.py [173 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 47 items
memory/test/test_generational_gc.py ...............................................
========================== 47 passed in 94.05 seconds ==========================
++ 10:21:00 starting memory/test/test_hybrid_gc_smallheap.py [177 started in total]
__ memory/test/test_hybrid_gc.py [174 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 50 items
memory/test/test_hybrid_gc.py ..................................................
========================== 50 passed in 87.20 seconds ==========================
++ 10:22:28 starting memory/test/test_incminimark_gc.py [178 started in total]
__ memory/gctransform/test [175 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 85 items
memory/gctransform/test/test_boehm.py ......
memory/gctransform/test/test_framework.py .................
memory/gctransform/test/test_refcounting.py .s.............
memory/gctransform/test/test_shadowcolor.py ...................................
memory/gctransform/test/test_statistics.py ..
memory/gctransform/test/test_transform.py ..........
==================== 84 passed, 1 skipped in 197.24 seconds ====================
++ 10:22:33 starting memory/test/test_incminimark_gc_cardmarking.py [179 started in total]
__ memory/test/test_hybrid_gc_smallheap.py [176 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 46 items
memory/test/test_hybrid_gc_smallheap.py ..............................................
========================== 46 passed in 89.51 seconds ==========================
++ 10:22:34 starting memory/test/test_lldict.py [180 started in total]
__ memory/test/test_lldict.py [177 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
memory/test/test_lldict.py .....
=========================== 5 passed in 2.56 seconds ===========================
++ 10:22:40 starting memory/test/test_minimark_gc.py [181 started in total]
__ memory/test/test_minimark_gc.py [178 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 48 items
memory/test/test_minimark_gc.py ................................................
========================= 48 passed in 108.34 seconds ==========================
++ 10:24:36 starting memory/test/test_minimark_gc_cardmarking.py [182 started in total]
__ memory/test/test_incminimark_gc_cardmarking.py [179 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 52 items
memory/test/test_incminimark_gc_cardmarking.py ..................................................s.
==================== 51 passed, 1 skipped in 158.89 seconds ====================
++ 10:25:19 starting memory/test/test_semispace_gc.py [183 started in total]
__ memory/test/test_incminimark_gc.py [180 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 52 items
memory/test/test_incminimark_gc.py ..................................................s.
==================== 51 passed, 1 skipped in 191.84 seconds ====================
++ 10:25:44 starting memory/test/test_support.py [184 started in total]
__ memory/test/test_support.py [181 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 9 items
memory/test/test_support.py .........
========================== 9 passed in 11.84 seconds ===========================
++ 10:25:58 starting memory/test/test_transformed_gc.py [185 started in total]
__ memory/test/test_minimark_gc_cardmarking.py [182 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 48 items
memory/test/test_minimark_gc_cardmarking.py ................................................
========================== 48 passed in 95.78 seconds ==========================
++ 10:26:18 starting rlib/parsing/test/test_deterministic.py [186 started in total]
__ memory/test/test_semispace_gc.py [183 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 47 items
memory/test/test_semispace_gc.py ...............................................
========================== 47 passed in 69.64 seconds ==========================
++ 10:26:32 starting rlib/parsing/test/test_ebnfparse.py [187 started in total]
__ rlib/parsing/test/test_deterministic.py [184 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 9 items
rlib/parsing/test/test_deterministic.py .........
========================== 9 passed in 12.63 seconds ===========================
++ 10:26:35 starting rlib/parsing/test/test_lexer.py [188 started in total]
__ rlib/parsing/test/test_ebnfparse.py [185 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 29 items
rlib/parsing/test/test_ebnfparse.py ..........................s..
===================== 28 passed, 1 skipped in 1.16 seconds =====================
++ 10:26:35 starting rlib/parsing/test/test_parse.py [189 started in total]
__ rlib/parsing/test/test_lexer.py [186 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
rlib/parsing/test/test_lexer.py ..........
========================== 10 passed in 0.46 seconds ===========================
++ 10:26:37 starting rlib/parsing/test/test_parseerrors.py [190 started in total]
__ rlib/parsing/test/test_parse.py [187 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/parsing/test/test_parse.py ....
=========================== 4 passed in 0.26 seconds ===========================
++ 10:26:38 starting rlib/parsing/test/test_pcre_regtest.py [191 started in total]
__ rlib/parsing/test/test_parseerrors.py [188 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/parsing/test/test_parseerrors.py ..
=========================== 2 passed in 0.37 seconds ===========================
++ 10:26:40 starting rlib/parsing/test/test_pypackrat.py [192 started in total]
__ rlib/parsing/test/test_pypackrat.py [189 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 31 items
rlib/parsing/test/test_pypackrat.py ...............................
========================== 31 passed in 1.96 seconds ===========================
++ 10:26:44 starting rlib/parsing/test/test_pythonlexer.py [193 started in total]
__ rlib/parsing/test/test_pythonlexer.py [190 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
rlib/parsing/test/test_pythonlexer.py ...........
========================== 11 passed in 7.55 seconds ===========================
++ 10:26:55 starting rlib/parsing/test/test_pythonparse.py [194 started in total]
__ rlib/parsing/test/test_pythonparse.py [191 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
rlib/parsing/test/test_pythonparse.py ............s....
===================== 16 passed, 1 skipped in 4.36 seconds =====================
++ 10:27:01 starting rlib/parsing/test/test_regex.py [195 started in total]
__ rlib/parsing/test/test_pcre_regtest.py [192 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 290 items
rlib/parsing/test/test_pcre_regtest.py ..................................................................................................................................................................................................................................................................................................
========================= 290 passed in 38.38 seconds ==========================
++ 10:27:22 starting rlib/parsing/test/test_regexparse.py [196 started in total]
__ rlib/parsing/test/test_regexparse.py [193 done in total, somefailed=False] _
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 15 items
rlib/parsing/test/test_regexparse.py ...............
========================== 15 passed in 1.24 seconds ===========================
++ 10:27:25 starting rlib/parsing/test/test_translate.py [197 started in total]
__ rlib/parsing/test/test_regex.py [194 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 13 items
rlib/parsing/test/test_regex.py .............
========================== 13 passed in 33.67 seconds ==========================
++ 10:27:39 starting rlib/parsing/test/test_translate_lexer.py [198 started in total]
__ rlib/parsing/test/test_translate_lexer.py [195 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
rlib/parsing/test/test_translate_lexer.py .
========================== 1 passed in 19.69 seconds ===========================
++ 10:28:03 starting rlib/parsing/test/test_tree.py [199 started in total]
__ rlib/parsing/test/test_tree.py [196 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/parsing/test/test_tree.py ......
========================== 6 passed in 13.33 seconds ===========================
++ 10:28:20 starting rlib/rjitlog/test/test_jitlog.py [200 started in total]
__ rlib/rjitlog/test/test_jitlog.py [197 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/rjitlog/test/test_jitlog.py ....
=========================== 4 passed in 2.40 seconds ===========================
++ 10:28:26 starting rlib/rsre/test/test_char.py [201 started in total]
__ rlib/rsre/test/test_char.py [198 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
rlib/rsre/test/test_char.py .......
=========================== 7 passed in 7.32 seconds ===========================
++ 10:28:36 starting rlib/rsre/test/test_ext_opcode.py [202 started in total]
__ rlib/rsre/test/test_ext_opcode.py [199 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
rlib/rsre/test/test_ext_opcode.py ...........
========================== 11 passed in 1.75 seconds ===========================
++ 10:28:40 starting rlib/rsre/test/test_match.py [203 started in total]
__ rlib/rsre/test/test_match.py [200 done in total, somefailed=False] _________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 38 items
rlib/rsre/test/test_match.py ......................................
========================== 38 passed in 3.73 seconds ===========================
++ 10:28:46 starting rlib/rsre/test/test_re.py [204 started in total]
__ rlib/rsre/test/test_re.py [201 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 56 items
rlib/rsre/test/test_re.py ..............ss........................................
==================== 54 passed, 2 skipped in 17.53 seconds =====================
++ 10:29:06 starting rlib/rsre/test/test_search.py [205 started in total]
__ rlib/parsing/test/test_translate.py [202 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
rlib/parsing/test/test_translate.py .....
========================== 5 passed in 93.35 seconds ===========================
++ 10:29:07 starting rlib/rsre/test/test_zexternal.py [206 started in total]
__ rlib/rsre/test/test_search.py [203 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 67 items
rlib/rsre/test/test_search.py ...................................................................
========================== 67 passed in 2.79 seconds ===========================
++ 10:29:12 starting rlib/rsre/test/test_zinterp.py [207 started in total]
__ rlib/rsre/test/test_zexternal.py [204 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1002 items
rlib/rsre/test/test_zexternal.py ..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
========================= 1002 passed in 3.96 seconds ==========================
++ 10:29:14 starting rlib/rsre/test/test_zjit.py [208 started in total]
__ rlib/rsre/test/test_zinterp.py [205 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
rlib/rsre/test/test_zinterp.py ...
========================== 3 passed in 31.57 seconds ===========================
++ 10:29:50 starting rlib/rstrategies/test/test_rstrategies.py [209 started in total]
__ rlib/rstrategies/test/test_rstrategies.py [206 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 49 items
rlib/rstrategies/test/test_rstrategies.py .................................................
========================== 49 passed in 0.38 seconds ===========================
++ 10:29:52 starting rlib/rstruct/test/test_ieee.py [210 started in total]
__ rlib/rstruct/test/test_ieee.py [207 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 14 items
rlib/rstruct/test/test_ieee.py ..............
========================= 14 passed in 104.42 seconds ==========================
++ 10:31:41 starting rlib/rstruct/test/test_pack.py [211 started in total]
__ rlib/rstruct/test/test_pack.py [208 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 59 items
rlib/rstruct/test/test_pack.py ...........................................................
========================== 59 passed in 2.09 seconds ===========================
++ 10:31:46 starting rlib/rstruct/test/test_runpack.py [212 started in total]
__ rlib/rstruct/test/test_runpack.py [209 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 22 items
rlib/rstruct/test/test_runpack.py ......................
========================== 22 passed in 20.19 seconds ==========================
++ 10:32:09 starting rlib/rvmprof/test/test_file.py [213 started in total]
__ rlib/rvmprof/test/test_file.py [210 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.65 seconds ===========================
++ 10:32:14 starting rlib/rvmprof/test/test_rvmprof.py [214 started in total]
__ rlib/rvmprof/test/test_rvmprof.py [211 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.70 seconds ===========================
++ 10:32:18 starting rlib/rvmprof/test/test_support.py [215 started in total]
__ rlib/rvmprof/test/test_support.py [212 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.69 seconds ===========================
++ 10:32:23 starting rlib/rvmprof/test/test_traceback.py [216 started in total]
__ rlib/rvmprof/test/test_traceback.py [213 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.81 seconds ===========================
++ 10:32:27 starting rlib/rvmprof/test/test_ztranslation.py [217 started in total]
__ rlib/rvmprof/test/test_ztranslation.py [214 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 1.81 seconds ===========================
++ 10:32:31 starting rlib/test/test__jit_vref.py [218 started in total]
__ rlib/test/test__jit_vref.py [215 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 12 items
rlib/test/test__jit_vref.py ............
========================== 12 passed in 1.73 seconds ===========================
++ 10:32:35 starting rlib/test/test_buffer.py [219 started in total]
__ memory/gc/test [216 done in total, somefailed=False] _______________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 216 items
memory/gc/test/test_direct.py ....................................s.............................................................................
memory/gc/test/test_env.py .......
memory/gc/test/test_hook.py ...
memory/gc/test/test_incminimark.py ...
memory/gc/test/test_inspector.py ..
memory/gc/test/test_minimark.py ...
memory/gc/test/test_minimarkpage.py ...............
memory/gc/test/test_object_pinning.py .............................................
memory/gc/test/test_rawrefcount.py ........................
=================== 215 passed, 1 skipped in 817.67 seconds ====================
++ 10:32:49 starting rlib/test/test_cache.py [220 started in total]
__ rlib/test/test_cache.py [217 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
rlib/test/test_cache.py .
=========================== 1 passed in 0.24 seconds ===========================
++ 10:32:52 starting rlib/test/test_clibffi.py [221 started in total]
__ rlib/test/test_clibffi.py [218 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
rlib/test/test_clibffi.py ........s......n: 2
Arg 0: 3
Arg 1: 15
.s
===================== 15 passed, 2 skipped in 5.15 seconds =====================
++ 10:33:00 starting rlib/test/test_compilerinfo.py [222 started in total]
__ rlib/test/test_compilerinfo.py [219 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_compilerinfo.py ..
=========================== 2 passed in 8.02 seconds ===========================
++ 10:33:10 starting rlib/test/test_debug.py [223 started in total]
__ rlib/test/test_debug.py [220 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
rlib/test/test_debug.py ...........
========================== 11 passed in 9.94 seconds ===========================
++ 10:33:23 starting rlib/test/test_jit.py [224 started in total]
__ rlib/test/test_buffer.py [221 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 47 items
rlib/test/test_buffer.py ...............................................
========================== 47 passed in 48.04 seconds ==========================
++ 10:33:26 starting rlib/test/test_jit_libffi.py [225 started in total]
__ rlib/test/test_jit_libffi.py [222 done in total, somefailed=False] _________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
rlib/test/test_jit_libffi.py .
=========================== 1 passed in 1.48 seconds ===========================
++ 10:33:29 starting rlib/test/test_libffi.py [226 started in total]
__ rlib/test/test_jit.py [223 done in total, somefailed=False] ________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 30 items
rlib/test/test_jit.py ...ss.........................
===================== 28 passed, 2 skipped in 4.10 seconds =====================
++ 10:33:29 starting rlib/test/test_listsort.py [227 started in total]
__ rlib/test/test_libffi.py [224 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 26 items
rlib/test/test_libffi.py .........s................
===================== 25 passed, 1 skipped in 2.55 seconds =====================
++ 10:33:35 starting rlib/test/test_longlong2float.py [228 started in total]
__ rlib/test/test_listsort.py [225 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_listsort.py ....
================= 4 passed, 1 pytest-warnings in 3.59 seconds ==================
++ 10:33:36 starting rlib/test/test_mutbuffer.py [229 started in total]
__ rlib/test/test_mutbuffer.py [226 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
rlib/test/test_mutbuffer.py .....
=========================== 5 passed in 1.89 seconds ===========================
++ 10:33:41 starting rlib/test/test_nonconst.py [230 started in total]
__ rlib/test/test_nonconst.py [227 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
rlib/test/test_nonconst.py .....
=========================== 5 passed in 1.78 seconds ===========================
++ 10:33:45 starting rlib/test/test_objectmodel.py [231 started in total]
__ rlib/test/test_longlong2float.py [228 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
rlib/test/test_longlong2float.py ..........
========================== 10 passed in 28.83 seconds ==========================
++ 10:34:07 starting rlib/test/test_posix.py [232 started in total]
__ rlib/test/test_posix.py [229 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 30 items
rlib/test/test_posix.py ....s.........................
==================== 29 passed, 1 skipped in 19.78 seconds =====================
++ 10:34:31 starting rlib/test/test_rStringIO.py [233 started in total]
__ rlib/test/test_rStringIO.py [230 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 11 items
rlib/test/test_rStringIO.py ...........
========================== 11 passed in 0.65 seconds ===========================
++ 10:34:34 starting rlib/test/test_rarithmetic.py [234 started in total]
__ rlib/test/test_rarithmetic.py [231 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 103 items
rlib/test/test_rarithmetic.py .......................................................................................................
========================== 103 passed in 4.72 seconds ==========================
++ 10:34:41 starting rlib/test/test_rawrefcount.py [235 started in total]
__ rlib/test/test_objectmodel.py [232 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 60 items
rlib/test/test_objectmodel.py ....s.......................................................
==================== 59 passed, 1 skipped in 68.82 seconds =====================
++ 10:34:58 starting rlib/test/test_rawrefcount_boehm.py [236 started in total]
__ rlib/test/test_rawrefcount_boehm.py [233 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rawrefcount_boehm.py ..
========================== 2 passed in 19.89 seconds ===========================
++ 10:35:22 starting rlib/test/test_rawstorage.py [237 started in total]
__ rlib/test/test_rawrefcount.py [234 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 13 items
rlib/test/test_rawrefcount.py .............
========================== 13 passed in 44.19 seconds ==========================
++ 10:35:32 starting rlib/test/test_rbigint.py [238 started in total]
__ rlib/test/test_rawstorage.py [235 done in total, somefailed=False] _________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
rlib/test/test_rawstorage.py .......
========================== 7 passed in 21.73 seconds ===========================
++ 10:35:46 starting rlib/test/test_rbisect.py [239 started in total]
__ rlib/test/test_rbisect.py [236 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rbisect.py ..
=========================== 2 passed in 0.21 seconds ===========================
++ 10:35:48 starting rlib/test/test_rcomplex.py [240 started in total]
__ rlib/test/test_rcomplex.py [237 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 8 items
rlib/test/test_rcomplex.py ........
=========================== 8 passed in 0.42 seconds ===========================
++ 10:35:51 starting rlib/test/test_rdtoa.py [241 started in total]
__ rlib/test/test_rdtoa.py [238 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/test/test_rdtoa.py ......
=========================== 6 passed in 0.69 seconds ===========================
++ 10:35:53 starting rlib/test/test_rdynload.py [242 started in total]
__ rlib/test/test_rdynload.py [239 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 3 items
rlib/test/test_rdynload.py ...
=========================== 3 passed in 1.57 seconds ===========================
++ 10:35:58 starting rlib/test/test_rerased.py [243 started in total]
__ rlib/test/test_rerased.py [240 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 25 items
rlib/test/test_rerased.py .........................
========================== 25 passed in 2.10 seconds ===========================
++ 10:36:02 starting rlib/test/test_rfile.py [244 started in total]
__ rlib/test/test_rfile.py [241 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 26 items
rlib/test/test_rfile.py .................test
.........
========================== 26 passed in 52.24 seconds ==========================
++ 10:37:00 starting rlib/test/test_rfloat.py [245 started in total]
__ rlib/test/test_rfloat.py [242 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 13 items
rlib/test/test_rfloat.py .............
========================== 13 passed in 36.91 seconds ==========================
++ 10:37:45 starting rlib/test/test_rgc.py [246 started in total]
__ memory/test/test_transformed_gc.py [243 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 183 items
memory/test/test_transformed_gc.py ....s..................s..s.....s..................s..s............s..................s..s.............s.....................s................s.....................s.................s
=================== 169 passed, 14 skipped in 915.21 seconds ===================
++ 10:41:21 starting rlib/test/test_rgil.py [247 started in total]
__ rlib/test/test_rgc.py [244 done in total, somefailed=False] ________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 39 items
rlib/test/test_rgc.py .....................s.................
==================== 38 passed, 1 skipped in 210.25 seconds ====================
++ 10:41:22 starting rlib/test/test_rlocale.py [248 started in total]
__ rlib/test/test_rlocale.py [245 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_rlocale.py ss..
===================== 2 passed, 2 skipped in 0.36 seconds ======================
++ 10:41:24 starting rlib/test/test_rmarshal.py [249 started in total]
__ rlib/test/test_rmarshal.py [246 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/test/test_rmarshal.py ......
========================== 6 passed in 23.95 seconds ===========================
++ 10:41:52 starting rlib/test/test_rmd5.py [250 started in total]
__ rlib/test/test_rmd5.py [247 done in total, somefailed=False] _______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
rlib/test/test_rmd5.py .......
=========================== 7 passed in 8.38 seconds ===========================
++ 10:42:04 starting rlib/test/test_rmmap.py [251 started in total]
__ rlib/test/test_rgil.py [248 done in total, somefailed=False] _______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_rgil.py ....
========================== 4 passed in 54.42 seconds ===========================
++ 10:42:20 starting rlib/test/test_rope.py [252 started in total]
__ rlib/rsre/test/test_zjit.py [249 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 26 items
rlib/rsre/test/test_zjit.py .....................x.s..
============== 24 passed, 1 skipped, 1 xfailed in 826.23 seconds ===============
++ 10:43:03 starting rlib/test/test_rpath.py [253 started in total]
__ rlib/test/test_rpath.py [250 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
rlib/test/test_rpath.py ......s...
===================== 9 passed, 1 skipped in 1.33 seconds ======================
++ 10:43:07 starting rlib/test/test_rpoll.py [254 started in total]
__ rlib/test/test_rmmap.py [251 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 33 items
rlib/test/test_rmmap.py ...........................sss...
==================== 30 passed, 3 skipped in 58.98 seconds =====================
++ 10:43:10 starting rlib/test/test_rposix.py [255 started in total]
__ rlib/test/test_rpoll.py [252 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
rlib/test/test_rpoll.py s......
===================== 6 passed, 1 skipped in 27.47 seconds =====================
++ 10:43:39 starting rlib/test/test_rposix_environ.py [256 started in total]
__ rlib/test/test_rope.py [253 done in total, somefailed=False] _______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 58 items
rlib/test/test_rope.py .............................s............................
==================== 57 passed, 1 skipped in 82.00 seconds =====================
++ 10:43:47 starting rlib/test/test_rposix_scandir.py [257 started in total]
__ rlib/test/test_rposix_scandir.py [254 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
rlib/test/test_rposix_scandir.py .
=========================== 1 passed in 2.90 seconds ===========================
++ 10:43:52 starting rlib/test/test_rposix_stat.py [258 started in total]
__ rlib/test/test_rposix_environ.py [255 done in total, somefailed=False] _____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rposix_environ.py ..
========================== 2 passed in 20.06 seconds ===========================
++ 10:44:03 starting rlib/test/test_rrandom.py [259 started in total]
__ rlib/test/test_rrandom.py [256 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
rlib/test/test_rrandom.py .......
========================== 7 passed in 14.26 seconds ===========================
++ 10:44:20 starting rlib/test/test_rrawarray.py [260 started in total]
__ rlib/test/test_rposix_stat.py [257 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 9 items
rlib/test/test_rposix_stat.py ...s..s..
===================== 7 passed, 2 skipped in 29.83 seconds =====================
++ 10:44:25 starting rlib/test/test_rsha.py [261 started in total]
__ rlib/test/test_rrawarray.py [258 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_rrawarray.py ....
=========================== 4 passed in 2.98 seconds ===========================
++ 10:44:26 starting rlib/test/test_rshrinklist.py [262 started in total]
__ rlib/test/test_rshrinklist.py [259 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rshrinklist.py ..
=========================== 2 passed in 0.32 seconds ===========================
++ 10:44:28 starting rlib/test/test_rsignal.py [263 started in total]
__ rlib/test/test_rsha.py [260 done in total, somefailed=False] _______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_rsha.py ....
=========================== 4 passed in 3.06 seconds ===========================
++ 10:44:31 starting rlib/test/test_rsiphash.py [264 started in total]
__ rlib/test/test_rsignal.py [261 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/test/test_rsignal.py ......
========================== 6 passed in 15.20 seconds ===========================
++ 10:44:46 starting rlib/test/test_rsocket.py [265 started in total]
__ rlib/test/test_rposix.py [262 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 80 items
rlib/test/test_rposix.py ..ss.sss...............ss............................................ss.........
==================== 71 passed, 9 skipped in 121.28 seconds ====================
++ 10:45:13 starting rlib/test/test_rstacklet.py [266 started in total]
__ rlib/test/test_rsiphash.py [263 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/test/test_rsiphash.py ......
========================== 6 passed in 36.28 seconds ===========================
++ 10:45:15 starting rlib/test/test_rstackovf.py [267 started in total]
__ rlib/test/test_rstackovf.py [264 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/test/test_rstackovf.py .s..
===================== 3 passed, 1 skipped in 9.73 seconds ======================
++ 10:45:27 starting rlib/test/test_rstring.py [268 started in total]
__ rlib/test/test_rstring.py [265 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 28 items
rlib/test/test_rstring.py ............................
========================== 28 passed in 30.63 seconds ==========================
++ 10:46:05 starting rlib/test/test_rtermios.py [269 started in total]
__ rlib/test/test_rtermios.py [266 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
rlib/test/test_rtermios.py sssss
========================== 5 skipped in 0.03 seconds ===========================
++ 10:46:07 starting rlib/test/test_rthread.py [270 started in total]
__ rlib/test/test_rstacklet.py [267 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rstacklet.py ..
========================== 2 passed in 268.02 seconds ==========================
++ 10:49:48 starting rlib/test/test_rtime.py [271 started in total]
__ rlib/test/test_rtime.py [268 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 5 items
rlib/test/test_rtime.py .....
=========================== 5 passed in 3.69 seconds ===========================
++ 10:49:55 starting rlib/test/test_rtimer.py [272 started in total]
__ rlib/test/test_rsocket.py [269 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 68 items
rlib/test/test_rsocket.py ...........................................................xxx....s.
============== 64 passed, 1 skipped, 3 xfailed in 305.19 seconds ===============
++ 10:49:56 starting rlib/test/test_runicode.py [273 started in total]
__ rlib/test/test_rtimer.py [270 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 6 items
rlib/test/test_rtimer.py ......
========================== 6 passed in 13.24 seconds ===========================
++ 10:50:12 starting rlib/test/test_rurandom.py [274 started in total]
__ rlib/test/test_rurandom.py [271 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rurandom.py ..
=========================== 2 passed in 1.77 seconds ===========================
++ 10:50:16 starting rlib/test/test_rutf8.py [275 started in total]
__ rlib/test/test_runicode.py [272 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 48 items
rlib/test/test_runicode.py ................................................
========================== 48 passed in 27.04 seconds ==========================
++ 10:50:29 starting rlib/test/test_rweakkeydict.py [276 started in total]
__ rlib/test/test_rweakkeydict.py [273 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 8 items
rlib/test/test_rweakkeydict.py .....XXx
================ 5 passed, 1 xfailed, 2 xpassed in 9.64 seconds ================
++ 10:50:41 starting rlib/test/test_rweaklist.py [277 started in total]
__ rlib/test/test_rweaklist.py [274 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rweaklist.py ..
=========================== 2 passed in 0.33 seconds ===========================
++ 10:50:43 starting rlib/test/test_rweakref.py [278 started in total]
__ rlib/test/test_rweakref.py [275 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
rlib/test/test_rweakref.py .
=========================== 1 passed in 1.73 seconds ===========================
++ 10:50:48 starting rlib/test/test_rweakvaldict.py [279 started in total]
__ rlib/test/test_rutf8.py [276 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 23 items
rlib/test/test_rutf8.py .......................
========================== 23 passed in 61.66 seconds ==========================
++ 10:51:22 starting rlib/test/test_rwin32.py [280 started in total]
__ rlib/test/test_rwin32.py [277 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 10:51:24 starting rlib/test/test_rzipfile.py [281 started in total]
__ rlib/test/test_rweakvaldict.py [278 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 13 items
rlib/test/test_rweakvaldict.py .......X.....
==================== 12 passed, 1 xpassed in 34.45 seconds =====================
++ 10:51:26 starting rlib/test/test_rzlib.py [282 started in total]
__ rlib/test/test_rzipfile.py [279 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/test/test_rzipfile.py ..
========================== 2 passed in 48.83 seconds ===========================
++ 10:52:16 starting rlib/test/test_signature.py [283 started in total]
__ rlib/test/test_signature.py [280 done in total, somefailed=False] __________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 23 items
rlib/test/test_signature.py .....x..............xxx
===================== 19 passed, 4 xfailed in 2.33 seconds =====================
++ 10:52:20 starting rlib/test/test_streamio.py [284 started in total]
__ rlib/test/test_rthread.py [281 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 20 items
rlib/test/test_rthread.py ....................
========================= 20 passed in 427.20 seconds ==========================
++ 10:53:21 starting rlib/test/test_z3.py [285 started in total]
__ rlib/test/test_rzlib.py [282 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 22 items
rlib/test/test_rzlib.py ................s.....
==================== 21 passed, 1 skipped in 109.73 seconds ====================
++ 10:53:22 starting rlib/unicodedata/test/test_codegen.py [286 started in total]
__ rlib/test/test_z3.py [283 done in total, somefailed=False] _________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 10:53:22 starting rlib/unicodedata/test/test_dawg.py [287 started in total]
__ rlib/unicodedata/test/test_codegen.py [284 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
rlib/unicodedata/test/test_codegen.py ..
=========================== 2 passed in 1.87 seconds ===========================
++ 10:53:26 starting rlib/unicodedata/test/test_ucd.py [288 started in total]
__ rlib/unicodedata/test/test_dawg.py [285 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 9 items
rlib/unicodedata/test/test_dawg.py .........
=========================== 9 passed in 8.25 seconds ===========================
++ 10:53:32 starting rlib/unicodedata/test/test_unicodedata.py [289 started in total]
__ rlib/unicodedata/test/test_ucd.py [286 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
rlib/unicodedata/test/test_ucd.py ....
========================== 4 passed in 24.14 seconds ===========================
++ 10:53:54 starting rtyper/lltypesystem/module/test [290 started in total]
__ rlib/unicodedata/test/test_unicodedata.py [287 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 26 items
rlib/unicodedata/test/test_unicodedata.py ..........................
========================== 26 passed in 36.38 seconds ==========================
++ 10:54:17 starting rtyper/lltypesystem/test [291 started in total]
__ rtyper/lltypesystem/module/test [288 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 200 items
rtyper/lltypesystem/module/test/test_ll_math.py ............................................................................................................................................................................
rtyper/lltypesystem/module/test/test_llinterp_math.py ............................
========================= 200 passed in 30.59 seconds ==========================
++ 10:54:27 starting rtyper/test [292 started in total]
__ rlib/test/test_streamio.py [289 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 112 items
rlib/test/test_streamio.py ................................................................................................................
========================= 112 passed in 142.31 seconds =========================
++ 10:54:45 starting rtyper/tool/test [293 started in total]
__ rtyper/tool/test [290 done in total, somefailed=False] _____________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 38 items
rtyper/tool/test/test_mkrffi.py .......
rtyper/tool/test/test_rffi_platform.py ............................
rtyper/tool/test/test_rfficache.py ...
========================== 38 passed in 6.30 seconds ===========================
++ 10:54:53 starting tool/algo/test [294 started in total]
__ tool/algo/test [291 done in total, somefailed=False] _______________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 44 items
tool/algo/test/test_bitstring.py ....
tool/algo/test/test_color.py .....
tool/algo/test/test_graphlib.py ...s....ss.....s....s.......
tool/algo/test/test_regalloc.py ..
tool/algo/test/test_sparsemat.py ...
tool/algo/test/test_unionfind.py ..
==================== 39 passed, 5 skipped in 39.85 seconds =====================
++ 10:55:38 starting tool/cparser/test [295 started in total]
__ tool/cparser/test [292 done in total, somefailed=False] ____________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 21 items
tool/cparser/test/test_cts.py .....................
========================== 21 passed in 3.02 seconds ===========================
++ 10:55:43 starting tool/jitlogparser/test [296 started in total]
__ tool/jitlogparser/test [293 done in total, somefailed=False] _______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 24 items
tool/jitlogparser/test/test_parser.py .......ss....s.........
tool/jitlogparser/test/test_storage.py .
===================== 21 passed, 3 skipped in 1.66 seconds =====================
++ 10:55:46 starting tool/pytest/test [297 started in total]
__ tool/pytest/test [294 done in total, somefailed=False] _____________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
tool/pytest/test/test_expecttest.py s
========================== 1 skipped in 0.19 seconds ===========================
++ 10:55:48 starting tool/test [298 started in total]
__ tool/test [295 done in total, somefailed=False] ____________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 72 items
tool/test/test_ansi_print.py ........
tool/test/test_descriptor.py ...
tool/test/test_error.py ....
tool/test/test_flattenrec.py .
tool/test/test_frozenlist.py .
tool/test/test_gcc_cache.py .....
tool/test/test_identitydict.py ..........
tool/test/test_killsubprocess.py ...
tool/test/test_leakfinder.py ........
tool/test/test_logparser.py ...
tool/test/test_nullpath.py .
tool/test/test_pairtype.py .......
tool/test/test_runsubprocess.py .....
tool/test/test_sourcetools.py .........
tool/test/test_udir.py ..
tool/test/test_version.py ..
========================== 72 passed in 7.93 seconds ===========================
++ 10:55:58 starting translator/backendopt/test [299 started in total]
__ translator/backendopt/test [296 done in total, somefailed=False] ___________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 184 items
translator/backendopt/test/test_all.py ............
translator/backendopt/test/test_canraise.py ............
translator/backendopt/test/test_constfold.py ......................
translator/backendopt/test/test_finalizer.py ........
translator/backendopt/test/test_gilanalysis.py ....
translator/backendopt/test/test_graphanalyze.py ...
translator/backendopt/test/test_inline.py ...............................
translator/backendopt/test/test_innerloop.py ...
translator/backendopt/test/test_malloc.py .............s..s..s...s
translator/backendopt/test/test_merge_if_blocks.py .........
translator/backendopt/test/test_removeassert.py ......
translator/backendopt/test/test_removenoops.py ....
translator/backendopt/test/test_ssa.py ....
translator/backendopt/test/test_storesink.py ............
translator/backendopt/test/test_support.py ......
translator/backendopt/test/test_writeanalyze.py ...............s........
==================== 179 passed, 5 skipped in 15.37 seconds ====================
++ 10:56:16 starting translator/c/test/test_backendoptimized.py [300 started in total]
__ rtyper/lltypesystem/test [297 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 276 items
rtyper/lltypesystem/test/test_ll2ctypes.py ...........................................................................n: 3
Arg 0: 1
Arg 1: 20
Arg 2: 300
....s.
rtyper/lltypesystem/test/test_llarena.py .....s.......
rtyper/lltypesystem/test/test_llgroup.py ....
rtyper/lltypesystem/test/test_llmemory.py ..................................s....
rtyper/lltypesystem/test/test_lloperation.py .........
rtyper/lltypesystem/test/test_lltype.py ............................................................
rtyper/lltypesystem/test/test_rffi.py ................................s...........s........
rtyper/lltypesystem/test/test_rtagged.py ..............
rtyper/lltypesystem/test/test_ztranslated.py ...
=================== 271 passed, 5 skipped in 411.38 seconds ====================
++ 11:01:15 starting translator/c/test/test_boehm.py [301 started in total]
__ translator/c/test/test_boehm.py [298 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
translator/c/test/test_boehm.py .................
========================= 17 passed in 112.57 seconds ==========================
++ 11:03:11 starting translator/c/test/test_database.py [302 started in total]
__ translator/c/test/test_database.py [299 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
translator/c/test/test_database.py .................
========================== 17 passed in 3.07 seconds ===========================
++ 11:03:17 starting translator/c/test/test_exception.py [303 started in total]
__ translator/c/test/test_exception.py [300 done in total, somefailed=False] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
translator/c/test/test_exception.py ..........
========================== 10 passed in 53.66 seconds ==========================
++ 11:04:15 starting translator/c/test/test_extfunc.py [304 started in total]
__ translator/c/test/test_backendoptimized.py [301 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 90 items
translator/c/test/test_backendoptimized.py ........................................................................ssss..............
==================== 86 passed, 4 skipped in 568.65 seconds ====================
++ 11:05:53 starting translator/c/test/test_genc.py [305 started in total]
__ translator/c/test/test_genc.py [302 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 33 items
translator/c/test/test_genc.py .................................
========================= 33 passed in 161.07 seconds ==========================
++ 11:08:39 starting translator/c/test/test_lladdresses.py [306 started in total]
__ rlib/test/test_rbigint.py [303 done in total, somefailed=False] ____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 199 items
rlib/test/test_rbigint.py ................s......................................................................................................................................................................................
=================== 198 passed, 1 skipped in 2018.86 seconds ===================
++ 11:09:17 starting translator/c/test/test_llop.py [307 started in total]
__ translator/c/test/test_llop.py [304 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 4 items
translator/c/test/test_llop.py ....
========================== 4 passed in 49.61 seconds ===========================
++ 11:10:09 starting translator/c/test/test_lltyped.py [308 started in total]
__ translator/c/test/test_lladdresses.py [305 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 17 items
translator/c/test/test_lladdresses.py .................
========================== 17 passed in 86.85 seconds ==========================
++ 11:10:14 starting translator/c/test/test_math.py [309 started in total]
__ translator/c/test/test_extfunc.py [306 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 58 items
translator/c/test/test_extfunc.py ..........s..............................s................
==================== 56 passed, 2 skipped in 358.63 seconds ====================
++ 11:10:17 starting translator/c/test/test_newgc.py [310 started in total]
__ translator/c/test/test_math.py [307 done in total, somefailed=False] _______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
translator/c/test/test_math.py ..
========================== 2 passed in 48.44 seconds ===========================
++ 11:11:05 starting translator/c/test/test_refcount.py [311 started in total]
__ translator/c/test/test_refcount.py [308 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 10 items
translator/c/test/test_refcount.py ..........
========================== 10 passed in 62.45 seconds ==========================
++ 11:12:11 starting translator/c/test/test_rtagged.py [312 started in total]
__ translator/c/test/test_rtagged.py [309 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 2 items
translator/c/test/test_rtagged.py ..
=========================== 2 passed in 5.55 seconds ===========================
++ 11:12:19 starting translator/c/test/test_standalone.py [313 started in total]
__ translator/c/test/test_lltyped.py [310 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 50 items
translator/c/test/test_lltyped.py ..................s...............................
==================== 49 passed, 1 skipped in 283.46 seconds ====================
++ 11:14:58 starting translator/c/test/test_standalone_print_function.py [314 started in total]
__ translator/c/test/test_standalone_print_function.py [311 done in total, somefailed=False]
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1 items
translator/c/test/test_standalone_print_function.py .
========================== 1 passed in 13.63 seconds ===========================
++ 11:15:15 starting translator/c/test/test_support.py [315 started in total]
__ translator/c/test/test_support.py [312 done in total, somefailed=False] ____
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 107 items
translator/c/test/test_support.py ...........................................................................................................
========================== 107 passed in 0.37 seconds ==========================
++ 11:15:17 starting translator/c/test/test_symbolic.py [316 started in total]
__ translator/c/test/test_symbolic.py [313 done in total, somefailed=False] ___
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 7 items
translator/c/test/test_symbolic.py .......
========================== 7 passed in 33.72 seconds ===========================
++ 11:15:55 starting translator/c/test/test_typed.py [317 started in total]
__ rtyper/test [314 done in total, somefailed=False] __________________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 1167 items
rtyper/test/test_annlowlevel.py ..........
rtyper/test/test_controllerentry.py ........
rtyper/test/test_exception.py .........
rtyper/test/test_extfunc.py .......
rtyper/test/test_extregistry.py .......
rtyper/test/test_generator.py ...x..
rtyper/test/test_llann.py .........................
rtyper/test/test_llannotation.py ...
rtyper/test/test_llinterp.py .........................s.......
rtyper/test/test_llop.py ........
rtyper/test/test_nongc.py ........
rtyper/test/test_normalizecalls.py .................
rtyper/test/test_rbool.py ........
rtyper/test/test_rbuilder.py .....................
rtyper/test/test_rbuiltin.py ....................s..ss...................
rtyper/test/test_rbytearray.py ......
rtyper/test/test_rclass.py ...................................................................x.....
rtyper/test/test_rconstantdict.py .....
rtyper/test/test_rdict.py .........................................................................
rtyper/test/test_remptydict.py ..
rtyper/test/test_rfloat.py ............................
rtyper/test/test_rint.py .................................
rtyper/test/test_rlist.py ......................................................................................................
rtyper/test/test_rordereddict.py ............................................................................................................................................
rtyper/test/test_rpbc.py .................................................................................s..........s.......................................................................................s..........s......
rtyper/test/test_rptr.py .......................
rtyper/test/test_rrange.py ................
rtyper/test/test_rstr.py .........................................................................................
rtyper/test/test_rtuple.py .................................
rtyper/test/test_rtyper.py ........
rtyper/test/test_runicode.py ..........................................................................s..............ssssssssssss...
rtyper/test/test_rvirtualizable.py .............
rtyper/test/test_rweakref.py .......
============ 1144 passed, 21 skipped, 2 xfailed in 1344.32 seconds =============
++ 11:16:55 starting translator/platform/arch/test [318 started in total]
__ translator/platform/arch/test [315 done in total, somefailed=False] ________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 0 items / 1 skipped
========================== 1 skipped in 0.01 seconds ===========================
++ 11:16:57 starting translator/platform/test [319 started in total]
__ translator/platform/test [316 done in total, somefailed=False] _____________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 18 items / 2 skipped
translator/platform/test/test_makefile.py ...s
translator/platform/test/test_platform.py ..........
translator/platform/test/test_posix.py ....
==================== 17 passed, 3 skipped in 22.67 seconds =====================
++ 11:17:25 starting translator/sandbox/test [320 started in total]
__ translator/sandbox/test [317 done in total, somefailed=False] ______________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 30 items
translator/sandbox/test/test_sandbox.py ..........s.s....
translator/sandbox/test/test_sandlib.py .s.......
translator/sandbox/test/test_vfs.py ....
==================== 27 passed, 3 skipped in 216.29 seconds ====================
++ 11:21:09 starting translator/test [321 started in total]
__ translator/c/test/test_standalone.py [318 done in total, somefailed=True] __
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 43 items
translator/c/test/test_standalone.py ...s..............s......s.....F...........
=================================== FAILURES ===================================
_________ TestStandalone.test_set_length_fraction_clamped_to_os_stack __________
self = <rpython.translator.c.test.test_standalone.TestStandalone object at 0xf011da8c>
def test_set_length_fraction_clamped_to_os_stack(self):
# A huge recursion limit (large fraction) must NOT be able to push the
# stack-overflow threshold past the real OS stack: stack_check() has to
# raise StackOverflow rather than allow segfaulting. This test assumes a
# finite ulimit -s
try:
import resource
except ImportError:
py.test.skip("requires the resource module to bound RLIMIT_STACK")
from rpython.rlib.rstack import _stack_set_length_fraction
from rpython.rlib.rstackovf import StackOverflow
class A:
n = 0
glob = A()
def f(n):
glob.n += 1
if n <= 0:
return 42
return f(n+1)
def entry_point(argv):
_stack_set_length_fraction(50.0)
try:
f(1)
except StackOverflow:
print glob.n
return 0
print 'no overflow!'
return 1
t, cbuilder = self.compile(entry_point, stackcheck=True)
soft, hard = resource.getrlimit(resource.RLIMIT_STACK)
target = 8 * 1024 * 1024
if hard != resource.RLIM_INFINITY and hard < target:
target = hard
try:
resource.setrlimit(resource.RLIMIT_STACK, (target, hard))
except (ValueError, OSError):
py.test.skip("cannot impose a finite RLIMIT_STACK on this platform")
try:
> out = cbuilder.cmdexec('') # raises if the binary segfaulted/crashed
translator/c/test/test_standalone.py:1075:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.translator.c.genc.CStandaloneBuilder object at 0xefff1f0c>
args = '', env = None, err = False, expect_crash = False
exe = local('/build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33/testing_33')
def cmdexec(self, args='', env=None, err=False, expect_crash=False, exe=None):
assert self._compiled
if sys.platform == 'win32':
#Prevent opening a dialog box
import ctypes
winapi = ctypes.windll.kernel32
SetErrorMode = winapi.SetErrorMode
SetErrorMode.argtypes=[ctypes.c_int]
SEM_FAILCRITICALERRORS = 1
SEM_NOGPFAULTERRORBOX = 2
SEM_NOOPENFILEERRORBOX = 0x8000
flags = SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX \
| SEM_NOOPENFILEERRORBOX
#Since there is no GetErrorMode, do a double Set
old_mode = SetErrorMode(flags)
SetErrorMode(old_mode | flags)
if env is None:
envrepr = ''
else:
envrepr = ' [env=%r]' % (env,)
env.update(os.environ)
if exe is None:
exe = self.executable_name
log.cmdexec('%s %s%s' % (exe, args, envrepr))
res = self.translator.platform.execute(exe, args, env=env)
if sys.platform == 'win32':
SetErrorMode(old_mode)
if res.returncode != 0:
if expect_crash:
if type(expect_crash) is int and expect_crash != res.returncode:
raise Exception("Returned %d, but expected %d" % (
res.returncode, expect_crash))
return res.out, res.err
print(res.err, file=sys.stderr)
> raise Exception("Returned %d" % (res.returncode,))
E Exception: Returned -11
translator/c/genc.py:318: Exception
----------------------------- Captured stderr call -----------------------------
[rtyper] specializing: 100 / 371 blocks (26%)
[rtyper] specializing: 200 / 375 blocks (53%)
[rtyper] specializing: 300 / 375 blocks (80%)
[rtyper] -=- specialized 375 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 8 more blocks -=-
[rtyper] specializing: 400 / 412 blocks (97%)
[rtyper] -=- specialized 25 more blocks -=-
[rtyper] -=- specialized 60 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 6 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[rtyper] specializing: 500 / 562 blocks (88%)
[rtyper] -=- specialized 90 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[rtyper] -=- specialized 30 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] inlined 1 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[backendopt:malloc] removed 0 simple mallocs in total
[c:database] GC transformer: finished helpers
[c:database] GC transformer: finished tables
[c:database] Inlining GC helpers and postprocessing
[c] 399 nodes [ array: 28 func: 162 refcnt rtti: 19 struct: 190 ]
[c:database] Completed
[c:writing] structdef.h
[c:writing] forwarddecl.h
[c:writing] preimpl.h
[c:writing] data_rpython_flowspace.c
[c:writing] data_rpython_memory_gctransform.c
[c:writing] data_rpython_rlib.c
[c:writing] data_rpython_rtyper.c
[c:writing] data_rpython_rtyper_lltypesystem.c
[c:writing] data_rpython_translator_c.c
[c:writing] data_rpython_translator_c_test.c
[c:writing] nonfuncnodes.c
[c:writing] data_rpython_rlib_1.c
[c:writing] data_rpython_translator_c_test_1.c
[c:writing] implement.c
[c:writing] rpython_flowspace.c
[c:writing] rpython_memory_gctransform.c
[c:writing] rpython_rlib.c
[c:writing] rpython_rtyper.c
[c:writing] rpython_rtyper_lltypesystem.c
[c:writing] rpython_translator.c
[c:writing] rpython_translator_c.c
[c:writing] rpython_translator_c_test.c
[platform:execute] make in /build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33
[c:cmdexec] /build_dir/tmp/pytest/usession-jit-int-sub-const-canonicalization-429/testing_33/testing_33
=========================== short test summary info ============================
FAIL translator/c/test/test_standalone.py::TestStandalone::()::test_set_length_fraction_clamped_to_os_stack
=============== 1 failed, 39 passed, 3 skipped in 537.84 seconds ===============
++ 11:21:20 starting translator/tool/test [322 started in total]
__ translator/tool/test [319 done in total, somefailed=False] _________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 15 items
translator/tool/test/test_cbuild.py ......s.s.
translator/tool/test/test_staticsizereport.py ..
translator/tool/test/test_taskengine.py ...
==================== 13 passed, 2 skipped in 31.07 seconds =====================
__ translator/test [320 done in total, somefailed=False] ______________________
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 75 items
translator/test/test_driver.py .....
translator/test/test_exceptiontransform.py .........s......
translator/test/test_interactive.py .......
translator/test/test_simplify.py .............................
translator/test/test_stackcheck.py ...
translator/test/test_timing.py .
translator/test/test_translator.py ......
translator/test/test_uniquename.py .
translator/test/test_unsimplify.py .......
==================== 74 passed, 1 skipped in 73.66 seconds =====================
__ translator/c/test/test_typed.py [321 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 76 items
translator/c/test/test_typed.py .....................................................................ssss...
==================== 72 passed, 4 skipped in 484.36 seconds ====================
__ translator/c/test/test_newgc.py [322 done in total, somefailed=False] ______
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.18, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('/build_dir/rpython-linux-x86-32/build/rpython/.hypothesis/examples')
pytest-2.9.2 from /build_dir/rpython-linux-x86-32/build/pytest.pyc
rootdir: /build_dir/rpython-linux-x86-32/build/rpython, inifile: pytest.ini
plugins: hypothesis-4.39.3
collected 556 items
translator/c/test/test_newgc.py .............................................................................................................................................................................s.........................................................s.........................................................s............................................................s....................................................................s...........................................................s..............................................................s.............
=================== 549 passed, 7 skipped in 1325.65 seconds ===================
program finished with exit code 1
elapsedTime=7413.527629