using config pypy/testrunner_cfg.py using config machine_cfg.py running 4 parallel test workers setting MAKEFLAGS to ' ' (space) -- 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 -- total: 48 to run ++ 13:57:55 starting jit/backend/x86/test/test_assembler.py [1 started in total] ++ 13:57:55 starting jit/backend/x86/test/test_basic.py [2 started in total] ++ 13:57:55 starting jit/backend/x86/test/test_call.py [3 started in total] ++ 13:57:55 starting jit/backend/x86/test/test_callbuilder.py [4 started in total] __ jit/backend/x86/test/test_callbuilder.py [1 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.py rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit\backend\x86\test\test_callbuilder.py .. ========================== 2 passed in 3.17 seconds =========================== ++ 13:58:40 starting jit/backend/x86/test/test_calling_convention.py [5 started in total] __ jit/backend/x86/test/test_assembler.py [2 done in total, somefailed=False] _ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.py rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit\backend\x86\test\test_assembler.py ... ========================== 3 passed in 6.78 seconds =========================== ++ 13:58:40 starting jit/backend/x86/test/test_del.py [6 started in total] __ jit/backend/x86/test/test_del.py [3 done in total, somefailed=False] _______ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit\backend\x86\test\test_del.py ... ========================== 3 passed in 6.02 seconds =========================== ++ 13:58:50 starting jit/backend/x86/test/test_dict.py [7 started in total] __ jit/backend/x86/test/test_call.py [4 done in total, somefailed=False] ______ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 16 items jit\backend\x86\test\test_call.py ................ ========================= 16 passed in 22.52 seconds ========================== ++ 13:59:01 starting jit/backend/x86/test/test_exception.py [8 started in total] __ jit/backend/x86/test/test_exception.py [5 done in total, somefailed=False] _ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 33.56 seconds ==================== ++ 13:59:39 starting jit/backend/x86/test/test_fficall.py [9 started in total] __ jit/backend/x86/test/test_calling_convention.py [6 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit\backend\x86\test\test_calling_convention.py ....... ========================== 7 passed in 63.52 seconds ========================== ++ 13:59:53 starting jit/backend/x86/test/test_float.py [10 started in total] __ jit/backend/x86/test/test_float.py [7 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 10 items jit\backend\x86\test\test_float.py .......... ========================= 10 passed in 12.00 seconds ========================== ++ 14:00:10 starting jit/backend/x86/test/test_jitlog.py [11 started in total] __ jit/backend/x86/test/test_jitlog.py [8 done in total, somefailed=False] ____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.99 seconds ========================== ++ 14:00:17 starting jit/backend/x86/test/test_jump.py [12 started in total] __ jit/backend/x86/test/test_fficall.py [9 done in total, somefailed=False] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit\backend\x86\test\test_fficall.py ...s........ ==================== 11 passed, 1 skipped in 48.97 seconds ==================== ++ 14:00:38 starting jit/backend/x86/test/test_list.py [13 started in total] __ jit/backend/x86/test/test_jump.py [10 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 12 items jit\backend\x86\test\test_jump.py ............ ========================= 12 passed in 20.20 seconds ========================== ++ 14:00:41 starting jit/backend/x86/test/test_llop.py [14 started in total] __ jit/backend/x86/test/test_dict.py [11 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 20 items jit\backend\x86\test\test_dict.py .................... ========================= 20 passed in 112.48 seconds ========================= ++ 14:00:46 starting jit/backend/x86/test/test_longlong.py [15 started in total] __ jit/backend/x86/test/test_longlong.py [12 done in total, somefailed=False] _ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 14 items jit\backend\x86\test\test_longlong.py ssssssssssssss ========================= 14 skipped in 2.18 seconds ========================== ++ 14:00:52 starting jit/backend/x86/test/test_loop_unroll.py [16 started in total] __ jit/backend/x86/test/test_llop.py [13 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit\backend\x86\test\test_llop.py ..... ========================== 5 passed in 10.95 seconds ========================== ++ 14:00:55 starting jit/backend/x86/test/test_quasiimmut.py [17 started in total] __ jit/backend/x86/test/test_list.py [14 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 24 items jit\backend\x86\test\test_list.py ...s.................... ==================== 23 passed, 1 skipped in 35.08 seconds ==================== ++ 14:01:22 starting jit/backend/x86/test/test_rawmem.py [18 started in total] __ jit/backend/x86/test/test_quasiimmut.py [15 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 22.64 seconds ==================== ++ 14:01:23 starting jit/backend/x86/test/test_recursive.py [19 started in total] __ jit/backend/x86/test/test_rawmem.py [16 done in total, somefailed=False] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 7 items jit\backend\x86\test\test_rawmem.py ....... ========================== 7 passed in 8.50 seconds =========================== ++ 14:01:34 starting jit/backend/x86/test/test_regalloc.py [20 started in total] __ jit/backend/x86/test/test_regalloc.py [17 done in total, somefailed=False] _ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit\backend\x86\test\test_regalloc.py ....s........s..... ==================== 17 passed, 2 skipped in 3.94 seconds ===================== ++ 14:01:43 starting jit/backend/x86/test/test_regloc.py [21 started in total] __ jit/backend/x86/test/test_regloc.py [18 done in total, somefailed=False] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 25 items jit\backend\x86\test\test_regloc.py ....s..................s. ==================== 23 passed, 2 skipped in 1.98 seconds ===================== ++ 14:01:48 starting jit/backend/x86/test/test_runner.py [22 started in total] __ jit/backend/x86/test/test_loop_unroll.py [19 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 77.59 seconds ==================== ++ 14:02:19 starting jit/backend/x86/test/test_rvmprof.py [23 started in total] __ jit/backend/x86/test/test_rvmprof.py [20 done in total, somefailed=False] __ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 2.22 seconds ========================== ++ 14:02:25 starting jit/backend/x86/test/test_rx86.py [24 started in total] __ jit/backend/x86/test/test_rx86.py [21 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 34 items jit\backend\x86\test\test_rx86.py .................................. ========================== 34 passed in 0.14 seconds ========================== ++ 14:02:29 starting jit/backend/x86/test/test_rx86_32_auto_encoding.py [25 started in total] __ jit/backend/x86/test/test_rx86_32_auto_encoding.py [22 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 The system cannot find the path specified. collected 0 items / 1 skipped ========================== 1 skipped in 0.14 seconds ========================== ++ 14:02:34 starting jit/backend/x86/test/test_rx86_64_auto_encoding.py [26 started in total] __ jit/backend/x86/test/test_rx86_64_auto_encoding.py [23 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 The system cannot find the path specified. collected 1 items / 1 skipped jit\backend\x86\test\test_rx86_64_auto_encoding.py s ========================== 2 skipped in 0.15 seconds ========================== ++ 14:02:38 starting jit/backend/x86/test/test_send.py [27 started in total] __ jit/backend/x86/test/test_recursive.py [24 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 42 items jit\backend\x86\test\test_recursive.py ................s........s..............ss =================== 38 passed, 4 skipped in 108.67 seconds ==================== ++ 14:03:20 starting jit/backend/x86/test/test_slist.py [28 started in total] __ jit/backend/x86/test/test_send.py [25 done in total, somefailed=False] _____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 23 items jit\backend\x86\test\test_send.py ....................... ========================= 23 passed in 36.51 seconds ========================== ++ 14:03:22 starting jit/backend/x86/test/test_string.py [29 started in total] __ jit/backend/x86/test/test_slist.py [26 done in total, somefailed=False] ____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 10.62 seconds ===================== ++ 14:03:34 starting jit/backend/x86/test/test_symbolic_x86.py [30 started in total] __ jit/backend/x86/test/test_symbolic_x86.py [27 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 6 items jit\backend\x86\test\test_symbolic_x86.py ...... ========================== 6 passed in 0.03 seconds =========================== ++ 14:03:38 starting jit/backend/x86/test/test_tl.py [31 started in total] __ jit/backend/x86/test/test_tl.py [28 done in total, somefailed=False] _______ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit\backend\x86\test\test_tl.py ..... ========================== 5 passed in 21.26 seconds ========================== ++ 14:04:06 starting jit/backend/x86/test/test_tlc.py [32 started in total] __ jit/backend/x86/test/test_tlc.py [29 done in total, somefailed=False] ______ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 14.12 seconds ===================== ++ 14:04:26 starting jit/backend/x86/test/test_tracelimit.py [33 started in total] __ jit/backend/x86/test/test_runner.py [30 done in total, somefailed=False] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 172 items jit\backend\x86\test\test_runner.py ............................................................................................s...........................ss...........................sssss....s....s....s.s. ================== 160 passed, 12 skipped in 150.65 seconds =================== read saved errno: 24 read saved errno: 0 read saved errno: 25 read saved errno: 0 GetLastError() result: 24 9 8 7 6 5 4 3 GetLastError() result: 25 9 8 7 6 5 4 3 ++ 14:04:28 starting jit/backend/x86/test/test_virtual.py [34 started in total] __ jit/backend/x86/test/test_basic.py [31 done in total, somefailed=False] ____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 199 items jit\backend\x86\test\test_basic.py .s............................................................................................................................................s...................s..............s...........s......... =================== 194 passed, 5 skipped in 356.38 seconds =================== ++ 14:04:33 starting jit/backend/x86/test/test_virtualizable.py [35 started in total] __ jit/backend/x86/test/test_virtualizable.py [32 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 59.58 seconds =============== ++ 14:05:39 starting jit/backend/x86/test/test_virtualref.py [36 started in total] __ jit/backend/x86/test/test_tracelimit.py [33 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 5 items jit\backend\x86\test\test_tracelimit.py ..... ========================== 5 passed in 74.78 seconds ========================== ++ 14:05:47 starting jit/backend/x86/test/test_x86vector.py [37 started in total] __ jit/backend/x86/test/test_virtual.py [34 done in total, somefailed=False] __ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 52 items jit\backend\x86\test\test_virtual.py .................................................... ========================= 52 passed in 77.28 seconds ========================== ++ 14:05:48 starting jit/backend/x86/test/test_zmath.py [38 started in total] __ jit/backend/x86/test/test_x86vector.py [35 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 3.58 seconds ========================== ++ 14:05:59 starting jit/backend/x86/test/test_zrpy_gc.py [39 started in total] __ jit/backend/x86/test/test_string.py [36 done in total, somefailed=False] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 157.82 seconds ==================== ++ 14:06:09 starting jit/backend/x86/test/test_zrpy_gc_boehm.py [40 started in total] __ jit/backend/x86/test/test_virtualref.py [37 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\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 36.31 seconds ==================== ++ 14:06:23 starting jit/backend/x86/test/test_zrpy_releasegil.py [41 started in total] __ jit/backend/x86/test/test_zmath.py [38 done in total, somefailed=False] ____ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_zmath.py . ========================== 1 passed in 31.39 seconds ========================== ++ 14:06:27 starting jit/backend/x86/test/test_zrpy_vecopt.py [42 started in total] __ jit/backend/x86/test/test_zrpy_gc_boehm.py [39 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_zrpy_gc_boehm.py F ================================== FAILURES =================================== _____________________________ test_compile_boehm ______________________________ def compile_boehm_test(): myjitdriver = JitDriver(greens = [], reds = ['n', 'x']) @dont_look_inside def see(lst, n): assert len(lst) == 3 assert lst[0] == n+10 assert lst[1] == n+20 assert lst[2] == n+30 def main(n, x): while n > 0: myjitdriver.can_enter_jit(n=n, x=x) myjitdriver.jit_merge_point(n=n, x=x) y = X() y.foo = x.foo n -= y.foo see([n+10, n+20, n+30], n) > res = compile_and_run(get_entry(get_g(main)), "boehm", jit=True) jit\backend\llsupport\test\zrpy_gc_boehm_test.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_boehm_test.py:20: in compile_and_run cbuilder = compile(f, gc, **kwds) jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] specializing: 100 / 471 blocks (21%) [rtyper] specializing: 200 / 530 blocks (37%) [rtyper] specializing: 300 / 534 blocks (56%) [rtyper] specializing: 400 / 534 blocks (74%) [rtyper] specializing: 500 / 534 blocks (93%) [rtyper] -=- specialized 534 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 600 / 604 blocks (99%) [rtyper] -=- specialized 66 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 6 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 10 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 1 JitCode instances. [jitcodewriter:info] There are 3 -live- ops. Size of liveness is 5 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 2 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 0 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 2 bitstrings, mean length 0.5, max length 1 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_zrpy_gc_boehm.py::test_compile_boehm ========================== 1 failed in 98.66 seconds ========================== ++ 14:07:51 starting jit/backend/x86/test/test_zrpy_vmprof.py [43 started in total] __ jit/backend/x86/test/test_zrpy_vecopt.py [40 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_zrpy_vecopt.py F ================================== FAILURES =================================== ________________________ TestVecOptX86.test_translate _________________________ self = def test_translate(self): jd = JitDriver(greens = [], reds = 'auto', vectorize=True) def f(x): pass i = 0 while i < 100: jd.jit_merge_point() i += 1 > compile(f, 'boehm', jit=True) jit\backend\x86\test\test_zrpy_vecopt.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\x86\test\test_zrpy_vecopt.py:20: in compile apply_jit(t, vec=True) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] -=- specialized 5 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 100 / 389 blocks (25%) [rtyper] specializing: 200 / 442 blocks (45%) [rtyper] specializing: 300 / 442 blocks (67%) [rtyper] specializing: 400 / 442 blocks (90%) [rtyper] -=- specialized 433 more blocks -=- [rtyper] -=- specialized 26 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 500 / 502 blocks (99%) [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 9 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] 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 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_zrpy_vecopt.py::TestVecOptX86::()::test_translate ========================== 1 failed in 90.57 seconds ========================== ++ 14:08:01 starting jit/backend/x86/test/test_ztranslation_basic.py [44 started in total] __ jit/backend/x86/test/test_zrpy_gc.py [41 done in total, somefailed=True] ___ [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 19 items jit\backend\x86\test\test_zrpy_gc.py EEEEEEEEEEEEEEEEEEE =================================== ERRORS ==================================== _________ ERROR at setup of TestShadowStack.test_compile_framework_1 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stdout setup ---------------------------- {'compile_framework_1': 0, 'compile_framework_2': 1, 'compile_framework_3': 2, 'compile_framework_3_extra': 3, 'compile_framework_4': 4, 'compile_framework_5': 5, 'compile_framework_7': 6, 'compile_framework_7_interior': 7, 'compile_framework_8': 8, 'compile_framework_9': 9, 'compile_framework_bug1': 10, 'compile_framework_call_assembler': 11, 'compile_framework_external_exception_handling': 12, 'compile_framework_float': 13, 'compile_framework_minimal_size_in_nursery': 14, 'compile_framework_vref': 15, 'multiple_pinned': 16, 'pinned_simple': 17, 'pinned_unpin': 18} ---------------------------- Captured stderr setup ---------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] specializing: 100 / 1263 blocks (7%) [rtyper] specializing: 200 / 1414 blocks (14%) [rtyper] specializing: 300 / 1414 blocks (21%) [rtyper] specializing: 400 / 1467 blocks (27%) [rtyper] specializing: 500 / 1467 blocks (34%) [rtyper] specializing: 600 / 1471 blocks (40%) [rtyper] specializing: 700 / 1471 blocks (47%) [rtyper] specializing: 800 / 1471 blocks (54%) [rtyper] specializing: 900 / 1471 blocks (61%) [rtyper] specializing: 1000 / 1471 blocks (67%) [rtyper] specializing: 1100 / 1471 blocks (74%) [rtyper] specializing: 1200 / 1471 blocks (81%) [rtyper] specializing: 1300 / 1471 blocks (88%) [rtyper] specializing: 1400 / 1471 blocks (95%) [rtyper] -=- specialized 1471 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 1500 / 1534 blocks (97%) [rtyper] -=- specialized 59 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:removeassert] Removed 1 asserts [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 356 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 29 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 6 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 43 JitCode instances. [jitcodewriter:info] There are 202 -live- ops. Size of liveness is 220 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 18 effectinfos: [jitcodewriter] 1 descrs for arrays [jitcodewriter] 27 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 12 bitstrings, mean length 1.2, max length 2 _________ ERROR at setup of TestShadowStack.test_compile_framework_2 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_3 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ______ ERROR at setup of TestShadowStack.test_compile_framework_3_extra _______ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_4 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_5 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_7 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _____ ERROR at setup of TestShadowStack.test_compile_framework_7_interior _____ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_8 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _________ ERROR at setup of TestShadowStack.test_compile_framework_9 __________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ERROR at setup of TestShadowStack.test_compile_framework_external_exception_handling cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ________ ERROR at setup of TestShadowStack.test_compile_framework_bug1 ________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ________ ERROR at setup of TestShadowStack.test_compile_framework_vref ________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _______ ERROR at setup of TestShadowStack.test_compile_framework_float ________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ERROR at setup of TestShadowStack.test_compile_framework_minimal_size_in_nursery cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ___ ERROR at setup of TestShadowStack.test_compile_framework_call_assembler ___ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ____________ ERROR at setup of TestShadowStack.test_pinned_simple _____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError _____________ ERROR at setup of TestShadowStack.test_pinned_unpin _____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ___________ ERROR at setup of TestShadowStack.test_multiple_pinned ____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ========================= 19 error in 116.88 seconds ========================== ++ 14:08:05 starting jit/backend/x86/test/test_ztranslation_call_assembler.py [45 started in total] __ jit/backend/x86/test/test_ztranslation_call_assembler.py [42 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 0 items / 1 skipped ========================== 1 skipped in 1.78 seconds ========================== ++ 14:08:08 starting jit/backend/x86/test/test_ztranslation_external_exception.py [46 started in total] __ jit/backend/x86/test/test_zrpy_releasegil.py [43 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 3 items jit\backend\x86\test\test_zrpy_releasegil.py EEE =================================== ERRORS ==================================== ________________ ERROR at setup of TestShadowStack.test_simple ________________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stdout setup ---------------------------- {'close_stack': 0, 'get_set_errno': 1, 'simple': 2} ---------------------------- Captured stderr setup ---------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] specializing: 100 / 1256 blocks (7%) [rtyper] specializing: 200 / 1373 blocks (14%) [rtyper] specializing: 300 / 1373 blocks (21%) [rtyper] specializing: 400 / 1373 blocks (29%) [rtyper] specializing: 500 / 1377 blocks (36%) [rtyper] specializing: 600 / 1377 blocks (43%) [rtyper] specializing: 700 / 1377 blocks (50%) [rtyper] specializing: 800 / 1377 blocks (58%) [rtyper] specializing: 900 / 1377 blocks (65%) [rtyper] specializing: 1000 / 1377 blocks (72%) [rtyper] specializing: 1100 / 1377 blocks (79%) [rtyper] specializing: 1200 / 1377 blocks (87%) [rtyper] specializing: 1300 / 1377 blocks (94%) [rtyper] -=- specialized 1377 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 1400 / 1408 blocks (99%) [rtyper] -=- specialized 27 more blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:removeassert] Removed 2 asserts [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 40 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 3 more blocks -=- [jitcodewriter:info] making JitCodes... [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [jitcodewriter:info] There are 12 JitCode instances. [jitcodewriter:info] There are 38 -live- ops. Size of liveness is 49 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 11 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 _____________ ERROR at setup of TestShadowStack.test_close_stack ______________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ____________ ERROR at setup of TestShadowStack.test_get_set_errno _____________ cls = def setup_class(cls): funcs = [] name_to_func = {} for fullname in dir(cls): if not fullname.startswith('define'): continue definefunc = getattr(cls, fullname) _, name = fullname.split('_', 1) beforefunc, loopfunc, afterfunc = definefunc.im_func(cls) if beforefunc is None: def beforefunc(n, x): return n, x, None, None, None, None, None, None, None, None, None, '' if afterfunc is None: def afterfunc(n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s): pass beforefunc.__name__ = 'before_'+name loopfunc.__name__ = 'loop_'+name afterfunc.__name__ = 'after_'+name funcs.append((beforefunc, loopfunc, afterfunc)) assert name not in name_to_func name_to_func[name] = len(name_to_func) print(name_to_func) def allfuncs(name, n): x = X() x.foo = 2 main_allfuncs(name, n, x) x.foo = 5 return weakref.ref(x) def main_allfuncs(name, n, x): num = name_to_func[name] n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][0](n, x) while n > 0: myjitdriver.can_enter_jit(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) myjitdriver.jit_merge_point(num=num, n=n, x=x, x0=x0, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6, x7=x7, l=l, s=s) n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s = funcs[num][1]( n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) funcs[num][2](n, x, x0, x1, x2, x3, x4, x5, x6, x7, l, s) myjitdriver = JitDriver(greens = ['num'], reds = ['n', 'x', 'x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'l', 's'], is_recursive=True) cls.main_allfuncs = staticmethod(main_allfuncs) cls.name_to_func = name_to_func OLD_DEBUG = GcLLDescr_framework.DEBUG try: GcLLDescr_framework.DEBUG = True cls.cbuilder = compile(get_entry(allfuncs), cls.gc, gcrootfinder=cls.gcrootfinder, jit=True, > thread=True) jit\backend\llsupport\test\zrpy_gc_test.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\llsupport\test\zrpy_gc_test.py:105: in compile apply_jit(t) jit\metainterp\warmspot.py:74: in apply_jit warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ========================== 3 error in 105.59 seconds ========================== ++ 14:08:19 starting jit/backend/x86/test/test_ztranslation_jit_stats.py [47 started in total] __ jit/backend/x86/test/test_zrpy_vmprof.py [44 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_zrpy_vmprof.py F ================================== FAILURES =================================== ___________________________ TestZVMprof.test_vmprof ___________________________ self = def test_vmprof(self): from rpython.rlib import rvmprof class MyCode: _vmprof_unique_id = 0 _vmprof_weak_list = RWeakListMixin() ; _vmprof_weak_list.initialize() def __init__(self, name): self.name = name def get_name(code): return code.name code2 = MyCode("py:y:foo:4") rvmprof.register_code(code2, get_name) try: rvmprof.register_code_object_class(MyCode, get_name) except rvmprof.VMProfPlatformUnsupported as e: py.test.skip(str(e)) def get_unique_id(code): return rvmprof.get_unique_id(code) driver = JitDriver(greens = ['code'], reds = ['i', 's', 'num'], is_recursive=True, get_unique_id=get_unique_id) @rvmprof.vmprof_execute_code("xcode13", lambda code, num: code) def main(code, num): return main_jitted(code, num) def main_jitted(code, num): s = 0 i = 0 while i < num: driver.jit_merge_point(code=code, i=i, s=s, num=num) s += (i << 1) if i % 3 == 0 and code is not code2: main(code2, 100) i += 1 return s tmpfilename = str(udir.join('test_rvmprof')) def f(num): rthread.get_ident() # register TLOFS_thread_ident code = MyCode("py:x:foo:3") rvmprof.register_code(code, get_name) fd = os.open(tmpfilename, os.O_WRONLY | os.O_CREAT, 0666) period = 0.0001 rvmprof.enable(fd, period) res = main(code, num) #assert res == 499999500000 rvmprof.disable() os.close(fd) return 0 def check_vmprof_output(): from vmprof import read_profile tmpfile = str(udir.join('test_rvmprof')) stats = read_profile(tmpfile) t = stats.get_tree() assert t.name == 'py:x:foo:3' assert len(t.children) == 1 # jit > self.meta_interp(f, [1000000], inline=True) jit\backend\llsupport\test\zrpy_vmprof_test.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\test\support.py:73: in meta_interp warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] specializing: 100 / 283 blocks (35%) [rtyper] specializing: 200 / 364 blocks (54%) [rtyper] specializing: 300 / 364 blocks (82%) [rtyper] -=- specialized 364 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 400 / 690 blocks (57%) [rtyper] specializing: 500 / 690 blocks (72%) [rtyper] specializing: 600 / 690 blocks (86%) [rtyper] -=- specialized 322 more blocks -=- [rtyper] specializing: 700 / 712 blocks (98%) [rtyper] -=- specialized 26 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 10 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 8 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 4 JitCode instances. [jitcodewriter:info] There are 12 -live- ops. Size of liveness is 22 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 4 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 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_zrpy_vmprof.py::TestZVMprof::()::test_vmprof ========================== 1 failed in 95.02 seconds ========================== ++ 14:09:33 starting jit/backend/x86/tool/test/test_viewcode.py [48 started in total] __ jit/backend/x86/tool/test/test_viewcode.py [45 done in total, somefailed=False] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit\backend\x86\tool\test\test_viewcode.py .. ========================== 2 passed in 0.03 seconds =========================== __ jit/backend/x86/test/test_ztranslation_external_exception.py [46 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_ztranslation_external_exception.py F ================================== FAILURES =================================== _ TestTranslationRemoveTypePtrX86.test_external_exception_handling_translates _ self = def test_external_exception_handling_translates(self): jitdriver = JitDriver(greens = [], reds = ['n', 'total']) class ImDone(Exception): def __init__(self, resvalue): self.resvalue = resvalue @dont_look_inside def f(x, total): if x <= 30: raise ImDone(total * 10) if x > 200: return 2 raise ValueError @dont_look_inside def g(x): if x > 150: raise ValueError return 2 class Base: def meth(self): return 2 class Sub(Base): def meth(self): return 1 @dont_look_inside def h(x): if x < 20000: return Sub() else: return Base() def myportal(i): set_param(jitdriver, "threshold", 3) set_param(jitdriver, "trace_eagerness", 2) total = 0 n = i while True: jitdriver.can_enter_jit(n=n, total=total) jitdriver.jit_merge_point(n=n, total=total) try: total += f(n, total) except ValueError: total += 1 try: total += g(n) except ValueError: total -= 1 n -= h(n).meth() # this is to force a GUARD_CLASS def main(i): try: myportal(i) except ImDone as e: return e.resvalue # XXX custom fishing, depends on the exact env var and format logfile = udir.join('test_ztranslation.log') os.environ['PYPYLOG'] = 'jit-log-opt:%s' % (logfile,) try: > res = self.meta_interp(main, [400]) jit\backend\llsupport\test\ztranslation_test.py:334: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\test\support.py:73: in meta_interp warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] -=- specialized 41 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 100 / 425 blocks (23%) [rtyper] specializing: 200 / 425 blocks (47%) [rtyper] specializing: 300 / 478 blocks (62%) [rtyper] specializing: 400 / 478 blocks (83%) [rtyper] -=- specialized 433 more blocks -=- [rtyper] specializing: 500 / 504 blocks (99%) [rtyper] -=- specialized 26 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 9 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 7 -live- ops. Size of liveness is 18 bytes [jitcodewriter] compute_bitstrings: [jitcodewriter] 5 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 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_ztranslation_external_exception.py::TestTranslationRemoveTypePtrX86::()::test_external_exception_handling_translates ========================== 1 failed in 97.87 seconds ========================== __ jit/backend/x86/test/test_ztranslation_basic.py [47 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 1 items jit\backend\x86\test\test_ztranslation_basic.py F ================================== FAILURES =================================== __________________ TestTranslationX86.test_stuff_translates ___________________ self = def test_stuff_translates(self): # this is a basic test that tries to hit a number of features and their # translation: # - jitting of loops and bridges # - two virtualizable types # - set_param interface # - profiler # - full optimizer # - floats neg and abs # - cast_int_to_float # - llexternal with macro=True # - extra place for the zero after STR instances class BasicFrame(object): _virtualizable_ = ['i'] def __init__(self, i): self.i = i class Frame(BasicFrame): pass eci = ExternalCompilationInfo(post_include_bits=[''' #define pypy_my_fabs(x) fabs(x) '''], includes=['math.h']) myabs1 = rffi.llexternal('pypy_my_fabs', [lltype.Float], lltype.Float, macro=True, releasegil=False, compilation_info=eci) myabs2 = rffi.llexternal('pypy_my_fabs', [lltype.Float], lltype.Float, macro=True, releasegil=True, compilation_info=eci) @jl.returns(jl.MP_FILENAME, jl.MP_LINENO, jl.MP_INDEX) def get_location(): return ("/home.py",0,0) jitdriver = JitDriver(greens = [], reds = ['total', 'frame', 'prev_s', 'j'], virtualizables = ['frame'], get_location = get_location) def f(i, j): for param, _ in unroll_parameters: defl = PARAMETERS[param] set_param(jitdriver, param, defl) set_param(jitdriver, "threshold", 3) set_param(jitdriver, "trace_eagerness", 2) total = 0 frame = Frame(i) j = float(j) prev_s = rstr.mallocstr(16) while frame.i > 3: jitdriver.can_enter_jit(frame=frame, total=total, j=j, prev_s=prev_s) jitdriver.jit_merge_point(frame=frame, total=total, j=j, prev_s=prev_s) _get_virtualizable_token(frame) total += frame.i if frame.i >= 20: frame.i -= 2 frame.i -= 1 j *= -0.712 if j + (-j): raise ValueError j += frame.i k = myabs1(myabs2(j)) if k - abs(j): raise ValueError if k - abs(-j): raise ValueError s = rstr.mallocstr(16) rgc.ll_write_final_null_char(s) rgc.ll_write_final_null_char(prev_s) if (frame.i & 3) == 0: prev_s = s return chr(total % 253) # class Virt2(object): _virtualizable_ = ['i'] def __init__(self, i): self.i = i from rpython.rlib.libffi import types, CDLL, ArgChain from rpython.rlib.test.test_clibffi import get_libm_name libm_name = get_libm_name(sys.platform) jitdriver2 = JitDriver(greens=[], reds = ['v2', 'func', 'res', 'x'], virtualizables = ['v2']) def libffi_stuff(i, j): lib = CDLL(libm_name) func = lib.getpointer('fabs', [types.double], types.double) res = 0.0 x = float(j) v2 = Virt2(i) while v2.i > 0: jitdriver2.jit_merge_point(v2=v2, res=res, func=func, x=x) promote(func) argchain = ArgChain() argchain.arg(x) res = func.call(argchain, rffi.DOUBLE) v2.i -= 1 return res # def main(i, j): a_char = f(i, j) a_float = libffi_stuff(i, j) return ord(a_char) * 10 + int(a_float) expected = main(40, -49) > res = self.meta_interp(main, [40, -49]) jit\backend\llsupport\test\ztranslation_test.py:127: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\test\support.py:73: in meta_interp warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] specializing: 100 / 577 blocks (17%) [rtyper] specializing: 200 / 577 blocks (34%) [rtyper] specializing: 300 / 588 blocks (51%) [rtyper] specializing: 400 / 663 blocks (60%) [rtyper] specializing: 500 / 724 blocks (69%) [rtyper] specializing: 600 / 726 blocks (82%) [rtyper] specializing: 700 / 730 blocks (95%) [rtyper] -=- specialized 730 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 800 / 1036 blocks (77%) [rtyper] specializing: 900 / 1041 blocks (86%) [rtyper] specializing: 1000 / 1041 blocks (96%) [rtyper] -=- specialized 307 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 17 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 21 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 22 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [rtyper] -=- specialized 6 more blocks -=- [jitcodewriter:info] making JitCodes... [jitcodewriter:info] There are 5 JitCode instances. [jitcodewriter:info] There are 34 -live- ops. Size of liveness is 110 bytes [rtyper] replaced 0 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary> [rtyper] replaced 5 'jit_force_virtualizable' with <* delayed!force_virtualizable_if_necessary> [jitcodewriter] compute_bitstrings: [jitcodewriter] 9 effectinfos: [jitcodewriter] 2 descrs for arrays [jitcodewriter] 1 descrs for fields [jitcodewriter] 0 descrs for interiorfields [jitcodewriter] -> 3 bitstrings, mean length 0.7, max length 1 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_ztranslation_basic.py::TestTranslationX86::()::test_stuff_translates ========================= 1 failed in 105.03 seconds ========================== __ jit/backend/x86/test/test_ztranslation_jit_stats.py [48 done in total, somefailed=True] [platform:msg] Updated environment with vsver 160, using x64 True [platform:msg] Set platform with 'host' cc=None, using cc='cl.exe', version='MSVC 160' ============================= test session starts ============================= platform win32 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 hypothesis profile 'default' -> deadline=None, database=DirectoryBasedExampleDatabase('D:\\a\\pypy\\pypy\\rpython\\.hypothesis\\examples') pytest-2.9.2 from D:\a\pypy\pypy\pytest.pyc rootdir: D:\a\pypy\pypy\rpython, inifile: pytest.ini plugins: hypothesis-4.39.3 collected 2 items jit\backend\x86\test\test_ztranslation_jit_stats.py sF ================================== FAILURES =================================== _____________ TestTranslationJITStatsX86.test_flush_trace_counts ______________ self = def test_flush_trace_counts(self): driver = JitDriver(greens = [], reds = ['i']) def f(): i = 0 while i < 100000: driver.jit_merge_point(i=i) i += 1 def main(): jit_hooks.stats_set_debug(None, True) f() jl.stats_flush_trace_counts(None) return 0 > res = self.meta_interp(main, []) jit\backend\llsupport\test\ztranslation_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jit\backend\test\support.py:73: in meta_interp warmrunnerdesc.finish() jit\metainterp\warmspot.py:298: in finish self.annhelper.finish() rtyper\annlowlevel.py:219: in finish self.finish_rtype() rtyper\annlowlevel.py:254: in finish_rtype perform_normalizations(rtyper.annotator) rtyper\normalizecalls.py:408: in perform_normalizations normalize_call_familes(annotator) rtyper\normalizecalls.py:19: in normalize_call_familes normalize_calltable(annotator, callfamily) rtyper\normalizecalls.py:33: in normalize_calltable raise_call_table_too_complex_error(callfamily, annotator) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ callfamily = annotator = def raise_call_table_too_complex_error(callfamily, annotator): msg = [] items = callfamily.calltables.items() for i, (shape1, table1) in enumerate(items): for shape2, table2 in items[i + 1:]: if shape1 == shape2: continue row1 = table1[0] row2 = table2[0] problematic_function_graphs = set(row1.values()).union(set(row2.values())) pfg = [str(graph) for graph in problematic_function_graphs] pfg.sort() msg.append("the following functions:") msg.append(" %s" % ("\n ".join(pfg), )) msg.append("are called with inconsistent numbers of arguments") msg.append("(and/or the argument names are different, which is" " not supported in this case)") if shape1[0] != shape2[0]: msg.append("sometimes with %s arguments, sometimes with %s" % (shape1[0], shape2[0])) else: pass # XXX better message in this case callers = [] msg.append("the callers of these functions are:") for tag, (caller, callee) in annotator.translator.callgraph.iteritems(): if callee not in problematic_function_graphs: continue if str(caller) in callers: continue callers.append(str(caller)) callers.sort() for caller in callers: msg.append(" %s" % (caller, )) > raise TyperError("\n".join(msg)) E TyperError: the following functions: E (rpython.jit.metainterp.optimizeopt.info:120)NonNullPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:360)StructPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:379)AbstractRawPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:716)ConstPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:83)PtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:862)FloatConstInfo.make_guards E (rpython.jit.metainterp.optimizeopt.intutils:1264)IntBound.make_guards E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards E are called with inconsistent numbers of arguments E (and/or the argument names are different, which is not supported in this case) E the callers of these functions are: E (rpython.jit.metainterp.optimizeopt.info:336)InstancePtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.info:632)ArrayPtrInfo.make_guards E (rpython.jit.metainterp.optimizeopt.shortpreamble:382)AbstractShortPreambleBuilder.use_box E (rpython.jit.metainterp.optimizeopt.virtualstate:483)NotVirtualStateInfoInt._generate_guards_unkown E (rpython.jit.metainterp.optimizeopt.vstring:121)StrPtrInfo.make_guards rtyper\normalizecalls.py:76: TyperError ---------------------------- Captured stderr call ----------------------------- [platform:msg] Updated environment with vsver 160, using x64 True [rtyper] -=- specialized 7 blocks -=- [rtyper] -=- specialized 4 more blocks -=- [rtyper] specializing: 100 / 391 blocks (25%) [rtyper] specializing: 200 / 444 blocks (45%) [rtyper] specializing: 300 / 444 blocks (67%) [rtyper] specializing: 400 / 444 blocks (90%) [rtyper] -=- specialized 433 more blocks -=- [rtyper] -=- specialized 26 more blocks -=- [rtyper] -=- specialized 2 more blocks -=- [rtyper] -=- specialized 7 more blocks -=- [rtyper] -=- specialized 6 more blocks -=- [rtyper] specializing: 500 / 504 blocks (99%) [rtyper] -=- specialized 19 more blocks -=- [rtyper] -=- specialized 12 more blocks -=- [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] inlined 2 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] removed 9 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] 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 =========================== short test summary info =========================== FAIL jit/backend/x86/test/test_ztranslation_jit_stats.py::TestTranslationJITStatsX86::()::test_flush_trace_counts ==================== 1 failed, 1 skipped in 91.16 seconds =====================