Why am I getting this error ?pidigits.py runs fine outside of the pytest
environment.
Please see attached files
PIDIGITS_LEN = 1000
def pidigits(length):
i = k = ns = 0
k1 = 1
n,a,d,t,u = 1,0,1,0,0
while(True):
k += 1
t = n<<1
n *= k
a += t
k1 += 2
a *= k1
d *= k1
if a >= n:
# t,u = divmod(n*3 + a,d)
u = (n*3 + a) % d
t //= d
u += n
if d > u:
ns = ns*10 + t
i += 1
if i % 10 == 0:
ns = 0
if i >= length:
break
a -= d*t
a *= 10
n *= 10
def main(n):
for i in range(n):
pidigits(PIDIGITS_LEN)
if __name__ == '__main__':
main(10)
import re
import os
from rpython.rlib import debug
from rpython.jit.tool.oparser import pure_parse
from rpython.jit.metainterp import logger
from rpython.jit.metainterp.typesystem import llhelper
from rpython.rlib.rjitlog import rjitlog as jl
from StringIO import StringIO
from rpython.jit.metainterp.optimizeopt.util import equaloplists
from rpython.jit.metainterp.history import AbstractDescr, JitCellToken, BasicFailDescr, BasicFinalDescr
from rpython.jit.backend.model import AbstractCPU
from rpython.rlib.jit import JitDriver
from rpython.rlib.objectmodel import always_inline
from rpython.jit.metainterp.test.support import LLJitMixin,X86JitMixin
from rpython.rlib.rjitlog import rjitlog
import tempfile
import pdb
PIDIGITS_LEN = 1000
class LoggerTest(X86JitMixin):
def test_explicit_enable(self):
# file = tmpdir.join('jitlog')
file = "./jit.log"
#pdb.set_trace()
#print file
#fileno = os.open(file.strpath, os.O_WRONLY | os.O_CREAT)
fileno = os.open(file, os.O_WRONLY | os.O_CREAT)
enable_jitlog = lambda: rjitlog.enable_jitlog(fileno)
#f = self.run_sample_loop(enable_jitlog)
#self.meta_interp(f, [10, 10])
f = self.run_pidigits(enable_jitlog)
self.meta_interp(f, [1000])
assert os.path.exists(file)
with open(file, 'r') as f:
# check the file header
assert f.read(3) == jl.MARK_JITLOG_HEADER + jl.JITLOG_VERSION_16BIT_LE
assert len(f.read()) > 0
def test_env(self, monkeypatch, tmpdir):
#pdb.set_trace()
#file = tmpdir.join('jitlog')
file = "./jit.log"
#monkeypatch.setenv("JITLOG", file.strpath)
monkeypatch.setenv("JITLOG", file)
f = self.run_sample_loop(None)
self.meta_interp(f, [10,0])
#assert os.path.exists(file.strpath)
assert os.path.exists(file)
#with file.open('rb') as fd:
with open(file, 'rb') as fd:
# check the file header
assert fd.read(3) == jl.MARK_JITLOG_HEADER + jl.JITLOG_VERSION_16BIT_LE
assert len(fd.read()) > 0
def test_version(self, monkeypatch, tmpdir):
#file = tmpdir.join('jitlog')
file = "./jit.log"
monkeypatch.setattr(jl, 'JITLOG_VERSION_16BIT_LE', '\xff\xfe')
#monkeypatch.setenv("JITLOG", file.strpath)
monkeypatch.setenv("JITLOG", file)
f = self.run_sample_loop(None)
self.meta_interp(f, [10,0])
assert os.path.exists(file.strpath)
#with file.open('rb') as fd:
with open(file, 'rb') as fd:
# check the file header
assert fd.read(3) == jl.MARK_JITLOG_HEADER + '\xff\xfe'
assert len(fd.read()) > 0
def test_version(self, monkeypatch, tmpdir):
#file = tmpdir.join('jitlog')
file = "./jit.log"
monkeypatch.setattr(jl, 'JITLOG_VERSION_16BIT_LE', '\xff\xfe')
monkeypatch.setenv("JITLOG", file)
f = self.run_sample_loop(None)
self.meta_interp(f, [10,0])
assert os.path.exists(file)
with open(file, 'rb') as fd:
# check the file header
assert fd.read(3) == jl.MARK_JITLOG_HEADER + '\xff\xfe'
assert len(fd.read()) > 0
def run_sample_loop(self, func, myjitdriver = None):
if not myjitdriver:
myjitdriver = JitDriver(greens = [], reds = 'auto')
def f(y, x):
res = 0
if func:
func()
while y > 0:
myjitdriver.jit_merge_point()
res += x
y -= 1
return res
return f
def run_pidigits(self, func, myjitdriver = None):
if not myjitdriver:
myjitdriver = JitDriver(greens = [], reds = 'auto')
def f(length):
if func:
func()
i = k = ns = 0
k1 = 1
n,a,d,t,u = 1,0,1,0,0
while(True):
myjitdriver.jit_merge_point()
k += 1
t = n<<1
n *= k
a += t
k1 += 2
a *= k1
d *= k1
if a >= n:
#t,u = divmod(n*3 + a,d)
u = (n*3 + a) % d
t //= d
u += n
if d > u:
ns = ns*10 + t
i += 1
if i % 10 == 0:
ns = 0
if i >= length:
break
a -= d*t
a *= 10
n *= 10
return f
[platform:msg] Set platform with 'host' cc=None, using cc='gcc', version='Unknown'
============================= test session starts ==============================
platform linux2 -- Python 2.7.12, pytest-2.9.2, py-1.4.29, pluggy-0.3.1
pytest-2.9.2 from /opt/pypy/pytest.pyc
rootdir: /opt/pypy/rpython, inifile: pytest.ini
plugins: hypothesis-3.6.0
collected 3 items
test_jitlog.py F..
=========================== short test summary info ============================
FAIL test_jitlog.py::TestJitlog::()::test_explicit_enable
=================================== FAILURES ===================================
_______________________ TestJitlog.test_explicit_enable ________________________
self = <rpython.jit.backend.x86.test.test_jitlog.TestJitlog instance at 0x7f5ea5393758>
def test_explicit_enable(self):
# file = tmpdir.join('jitlog')
file = "./jit.log"
#pdb.set_trace()
#print file
#fileno = os.open(file.strpath, os.O_WRONLY | os.O_CREAT)
fileno = os.open(file, os.O_WRONLY | os.O_CREAT)
enable_jitlog = lambda: rjitlog.enable_jitlog(fileno)
#f = self.run_sample_loop(enable_jitlog)
#self.meta_interp(f, [10, 10])
f = self.run_pidigits(enable_jitlog)
> self.meta_interp(f, [1000])
../../test/jitlog_test.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../metainterp/test/support.py:265: in meta_interp
return ll_meta_interp(*args, **kwds)
../../../metainterp/warmspot.py:80: in ll_meta_interp
return jittify_and_run(interp, graph, args, backendopt=backendopt, **kwds)
../../../metainterp/warmspot.py:118: in jittify_and_run
res = interp.eval_graph(graph, args)
../../../../rtyper/llinterp.py:87: in eval_graph
retval = llframe.eval()
../../../../rtyper/llinterp.py:285: in eval
nextblock, args = self.eval_block(nextblock)
../../../../rtyper/llinterp.py:309: in eval_block
self.eval_operation(op)
../../../../rtyper/llinterp.py:418: in eval_operation
retval = ophandler(*vals)
../../../../rtyper/llinterp.py:677: in op_direct_call
return self.perform_call(f, FTYPE.ARGS, args)
../../../../rtyper/llinterp.py:664: in perform_call
return self.invoke_callable_with_pyexceptions(f, *args)
../../../../rtyper/llinterp.py:497: in invoke_callable_with_pyexceptions
self.make_llexception()
../../../../rtyper/llinterp.py:474: in make_llexception
evalue = exdata.get_standard_ll_exc_instance_by_class(exc.__class__)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <rpython.rtyper.exceptiondata.ExceptionData object at 0x7f5ea5202690>
exceptionclass = <class 'rpython.rtyper.llinterp.LLAssertFailure'>
def get_standard_ll_exc_instance_by_class(self, exceptionclass):
if exceptionclass not in self.standardexceptions:
> raise UnknownException(exceptionclass)
E UnknownException: <class 'rpython.rtyper.llinterp.LLAssertFailure'>
../../../../rtyper/exceptiondata.py:42: UnknownException
----------------------------- Captured stdout call -----------------------------
bh: goto_if_not_int_gt [945, 2760, 128, 83] -> 128
bh: goto [122] -> 122
bh: goto [0] -> 0
bh: jit_merge_point [<BHInterp #1>, 0, [], [], [], [9, 2400, 288000, 1000, 945, 2, 4], [], []] -> ContinueRunningNormally!
bh: goto_if_not_int_ge [1026059891715866624, 2476045814290448384, 131, 48] -> 131
bh: goto [122] -> 122
bh: goto [0] -> 0
bh: jit_merge_point [<BHInterp #1>, 0, [], [], [], [33, 2476045814290448384, 1026059891715866624, 1000, 6332659870762850625, 6, 16], [], []] -> ContinueRunningNormally!
----------------------------- Captured stderr call -----------------------------
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-167/platcheck_60.c -o /tmp/usession-default-167/platcheck_60.o
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-167/platcheck_61.c -o /tmp/usession-default-167/platcheck_61.o
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-167/platcheck_62.c -o /tmp/usession-default-167/platcheck_62.o
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-167/platcheck_63.c -o /tmp/usession-default-167/platcheck_63.o
[rtyper] specializing: 100 / 245 blocks (40%)
[rtyper] specializing: 200 / 339 blocks (58%)
[rtyper] specializing: 300 / 339 blocks (88%)
[rtyper] -=- specialized 339 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-default-167/platcheck_71.c -o /tmp/usession-default-167/platcheck_71.o
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 6 more blocks -=-
[rtyper] -=- specialized 17 more blocks -=-
[rtyper] -=- specialized 2 more blocks -=-
[rtyper] -=- specialized 3 more blocks -=-
[jitcodewriter:info] making JitCodes...
[jitcodewriter:info] there are 1 JitCode instances.
[jitcodewriter] compute_bitstrings:
[jitcodewriter] 2 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
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused -fPIC -fvisibility=hidden -g -O0 -DRPY_EXTERN=RPY_EXPORTED -DRPYTHON_LL2CTYPES -I/opt/pypy/rpython/translator/c /opt/pypy/rpython/translator/c/src/thread.c -o /tmp/usession-default-167/rpython/translator/c/src/thread.o
[platform:execute] gcc -shared /tmp/usession-default-167/rpython/translator/c/src/thread.o -pthread -Wl,--export-dynamic -lrt -o /tmp/usession-default-167/shared_cache/externmod.so
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused -fPIC -fvisibility=hidden -g -O0 -DRPY_EXTERN=RPY_EXPORTED -DRPYTHON_LL2CTYPES -I/opt/pypy/rpython/rlib/rjitlog/src /opt/pypy/rpython/rlib/rjitlog/src/rjitlog.c -o /tmp/usession-default-167/rpython/rlib/rjitlog/src/rjitlog.o
[platform:execute] gcc -shared /tmp/usession-default-167/rpython/rlib/rjitlog/src/rjitlog.o -pthread -Wl,--export-dynamic -ldl -lrt -o /tmp/usession-default-167/shared_cache/externmod_0.so
[362] {jit-tracing
JIT starting (x86)
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused -fPIC -fvisibility=hidden -DPYPY_JIT_CODEMAP -g -O0 -DRPY_EXTERN=RPY_EXPORTED -DRPYTHON_LL2CTYPES -I/opt/pypy/rpython/translator/c /tmp/usession-default-167/module_cache/module_0.c -o /tmp/usession-default-167/module_cache/module_0.o
[platform:execute] gcc -shared /tmp/usession-default-167/module_cache/module_0.o -pthread -Wl,--export-dynamic -lrt -o /tmp/usession-default-167/shared_cache/externmod_1.so
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused -fPIC -fvisibility=hidden -g -O0 -DRPY_EXTERN=RPY_EXPORTED -DRPYTHON_LL2CTYPES /tmp/usession-default-167/module_cache/module_1.c -o /tmp/usession-default-167/module_cache/module_1.o
[platform:execute] gcc -shared /tmp/usession-default-167/module_cache/module_1.o -pthread -Wl,--export-dynamic -lrt -o /tmp/usession-default-167/shared_cache/externmod_2.so
[364] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb000 +0 48894D48488945504889555848895D604889756848897D704C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA80000008F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3
[364] jit-backend-dump}
[365] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb090 +0 48894D48488945504889555848895D604889756848897D704C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA800000049BB88B8E1A05E7F0000498B1B49BB80B8E1A05E7F000049C7030000000049BB88B8E1A05E7F000049C7030000000048895D308F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3
[365] jit-backend-dump}
[367] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb150 +0 48894D48488945504889555848895D604889756848897D704C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA8000000F20F1185B0000000F20F118DB8000000F20F1195C0000000F20F119DC8000000F20F11A5D0000000F20F11ADD8000000F20F11B5E0000000F20F11BDE8000000F2440F1185F0000000F2440F118DF8000000F2440F119500010000F2440F119D08010000F2440F11A510010000F2440F11AD18010000F2440F11B520010000488B7424104889EF4883EC0849BB88B8E1A05E7F0000498B0B48894D3049BB80B8E1A05E7F0000498B1B49BB80B8E1A05E7F000049C7030000000049BB88B8E1A05E7F000049C7030000000049BB80B03AA95E7F000041FFD34889C5488B4D3048C745300000000049BB88B8E1A05E7F000049890B49BB80B8E1A05E7F000049891B4883C40848C7451800000000488B4D48488B4550488B5558488B5D60488B7568488B7D704C8B45784C8B8D800000004C8B95880000004C8BA5900000004C8BAD980000004C8BB5A00000004C8BBDA8000000F20F1085B0000000F20F108DB8000000F20F1095C0000000F20F109DC8000000F20F10A5D0000000F20F10ADD8000000F20F10B5E0000000F20F10BDE8000000F2440F1085F0000000F2440F108DF8000000F2440F109500010000F2440F109D08010000F2440F10A510010000F2440F10AD18010000F2440F10B520010000C3
[367] jit-backend-dump}
[368] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb370 +0 48894D48488945504889555848895D604889756848897D704C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA8000000F20F1185B0000000F20F118DB8000000F20F1195C0000000F20F119DC8000000F20F11A5D0000000F20F11ADD8000000F20F11B5E0000000F20F11BDE8000000F2440F1185F0000000F2440F118DF8000000F2440F119500010000F2440F119D08010000F2440F11A510010000F2440F11AD18010000F2440F11B5200100008F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3
[368] jit-backend-dump}
[369] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb480 +0 48894D48488945504889555848895D604889756848897D704C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA8000000F20F1185B0000000F20F118DB8000000F20F1195C0000000F20F119DC8000000F20F11A5D0000000F20F11ADD8000000F20F11B5E0000000F20F11BDE8000000F2440F1185F0000000F2440F118DF8000000F2440F119500010000F2440F119D08010000F2440F11A510010000F2440F11AD18010000F2440F11B52001000049BB88B8E1A05E7F0000498B1B49BB80B8E1A05E7F000049C7030000000049BB88B8E1A05E7F000049C7030000000048895D308F45188F45084889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3
[369] jit-backend-dump}
[36a] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb5c0 +0 49BB88B8E1A05E7F0000498B0349BB80B8E1A05E7F000049C7030000000049BB88B8E1A05E7F000049C703000000004889453048C74508030000004889E84C8BBC24880000004C8BB424800000004C8B6C24784C8B642470488B5C2468488B6C24604881C4B8000000C3
[36a] jit-backend-dump}
[36a] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb630 +0 48895D604C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA80000004883EC08FFD04883C40848C7451800000000488B4D48488B5558488B5D60488B7568488B7D704C8B45784C8B8D800000004C8B95880000004C8BA5900000004C8BAD980000004C8BB5A00000004C8BBDA8000000C3
[36a] jit-backend-dump}
[36a] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb6d0 +0 4C8945784C898D800000004C8995880000004883EC08FFD04883C40848C7451800000000488B4D48488B5558488B7568488B7D704C8B45784C8B8D800000004C8B9588000000C3
[36b] jit-backend-dump}
[36c] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb720 +0 48895D604C8945784C898D800000004C8995880000004C89A5900000004C89AD980000004C89B5A00000004C89BDA8000000F20F1185B0000000F20F118DB8000000F20F1195C0000000F20F119DC8000000F20F11A5D0000000F20F11ADD8000000F20F11B5E0000000F20F11BDE8000000F2440F1185F0000000F2440F118DF8000000F2440F119500010000F2440F119D08010000F2440F11A510010000F2440F11AD18010000F2440F11B5200100004883EC08FFD04883C40848C7451800000000488B4D48488B5558488B5D60488B7568488B7D704C8B45784C8B8D800000004C8B95880000004C8BA5900000004C8BAD980000004C8BB5A00000004C8BBDA8000000F20F1085B0000000F20F108DB8000000F20F1095C0000000F20F109DC8000000F20F10A5D0000000F20F10ADD8000000F20F10B5E0000000F20F10BDE8000000F2440F1085F0000000F2440F108DF8000000F2440F109500010000F2440F109D08010000F2440F10A510010000F2440F10AD18010000F2440F10B520010000C3
[36c] jit-backend-dump}
[36d] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cb8b0 +0 4C8945784C898D800000004C899588000000F20F1185B0000000F20F118DB8000000F20F1195C0000000F20F119DC8000000F20F11A5D0000000F20F11ADD8000000F20F11B5E0000000F20F11BDE8000000F2440F1185F0000000F2440F118DF8000000F2440F119500010000F2440F119D08010000F2440F11A510010000F2440F11AD18010000F2440F11B5200100004883EC08FFD04883C40848C7451800000000488B4D48488B5558488B7568488B7D704C8B45784C8B8D800000004C8B9588000000F20F1085B0000000F20F108DB8000000F20F1095C0000000F20F109DC8000000F20F10A5D0000000F20F10ADD8000000F20F10B5E0000000F20F10BDE8000000F2440F1085F0000000F2440F108DF8000000F2440F109500010000F2440F109D08010000F2440F10A510010000F2440F10AD18010000F2440F10B520010000C3
[36d] jit-backend-dump}
(jitdriver: no get_printable_location)
(jitdriver: no get_printable_location)
[36f] {jit-trace-done
trace length: 105
total snapshots: 5
bigint consts: 6 6
float consts: 0 0
ref consts: 0 1
descrs: 1
[36f] jit-trace-done}
[36f] {jit-optimize
[376] {jit-log-noopt-loop
# Loop 0 () : noopt with 30 ops
[i0, i1, i2, i3, i4, i5, i6]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i8 = int_add(i6, 1)
i10 = int_lshift(i1, 1)
i11 = int_mul(i1, i8)
i12 = int_add(i2, i10)
i14 = int_add(i0, 2)
i15 = int_mul(i12, i14)
i16 = int_mul(i4, i14)
i17 = int_ge(i15, i11)
guard_true(i17)
i19 = int_mul(i11, 3)
i20 = int_add(i19, i15)
i22 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i20, i16, descr=<Calli 8 ii EF=0 OS=14>)
i24 = call_pure_i(ConstClass(ll_int_py_div__Signed_Signed), i10, i16, descr=<Calli 8 ii EF=0 OS=12>)
i25 = int_add(i22, i11)
i26 = int_gt(i16, i25)
guard_true(i26)
i28 = int_add(i5, 1)
i31 = call_pure_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i28, 10, descr=<Calli 8 ii EF=0 OS=14>)
i32 = int_is_zero(i31)
guard_false(i32)
i33 = int_ge(i28, i3)
guard_false(i33)
i34 = int_mul(i16, i24)
i35 = int_sub(i15, i34)
i37 = int_mul(i35, 10)
i39 = int_mul(i11, 10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i14, i39, i37, i3, i16, i28, i8, descr=<Loop-1>)
[376] jit-log-noopt-loop}
[377] jit-optimize}
[377] {jit-backend
[377] {jit-log-compiling-loop
[i40, i41, i42, i43, i44, i45, i46]
label(i40, i41, i42, i43, i44, i45, i46, descr=TargetToken(140044401599024))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
i48 = int_add(i46, 1)
i50 = int_lshift(i41, 1)
i51 = int_mul(i41, i48)
i52 = int_add(i42, i50)
i54 = int_add(i40, 2)
i55 = int_mul(i52, i54)
i56 = int_mul(i44, i54)
i57 = int_ge(i55, i51)
guard_true(i57, descr=<Guard0x7f5ea0df1f50>) [i50, i48, i45, i56, i43, i55, i51, i54]
i59 = int_mul(i51, 3)
i60 = int_add(i59, i55)
i62 = call_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i60, i56, descr=<Calli 8 ii EF=0 OS=14>)
i64 = call_i(ConstClass(ll_int_py_div__Signed_Signed), i50, i56, descr=<Calli 8 ii EF=0 OS=12>)
i65 = int_add(i62, i51)
i66 = int_gt(i56, i65)
guard_true(i66, descr=<Guard0x7f5ea0df1b90>) [i64, i65, i48, i45, i56, i43, i55, i51, i54]
i68 = int_add(i45, 1)
i70 = int_rshift(i68, 63)
i71 = int_xor(i68, i70)
i73 = uint_mul_high(i71, -3689348814741910323)
i75 = uint_rshift(i73, 3)
i76 = int_xor(i75, i70)
i78 = int_mul(i76, 10)
i79 = int_sub(i68, i78)
i80 = int_is_zero(i79)
guard_false(i80, descr=<Guard0x7f5ea0cf6140>) [i64, i65, i48, i45, i56, i43, i55, i51, i54]
i81 = int_ge(i68, i43)
guard_false(i81, descr=<Guard0x7f5ea0df1f00>) [i64, i65, i48, i45, i56, i43, i55, i51, i54]
i82 = int_mul(i56, i64)
i83 = int_sub(i55, i82)
i85 = int_mul(i83, 10)
i87 = int_mul(i51, 10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i54, i87, i85, i43, i56, i68, i48, descr=TargetToken(140044401599024))
[377] jit-log-compiling-loop}
[382] {jit-mem-looptoken-alloc
allocating Loop # 1
[382] jit-mem-looptoken-alloc}
[384] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbaf0 +0 00000000000000000000000000000000000000000000000000000000000000004881ECB800000048896C24604889B424B00000004889FD48895C24684C896424704C896C24784C89B424800000004C89BC248800000048FF04252036CC02669048FF042500A6CB02488B8D580100004883C101488B853001000048D1E0488B9530010000480FAFD1488B9D380100004801C3488BB5280100004883C602480FAFDE488BBD48010000480FAFFE4839D30F8C000000004989D0486BD2034801DA4989C44D89C54989CE4989F74889BD480100004889FE4889D749BBF0B03AA95E7F000041FFD3488985280100004C89E7488BB54801000049BB28B13AA95E7F000041FFD34C8BA5280100004D01EC4C39A5480100000F8E00000000488B95500100004883C2014989D148C1FA3F4D89CA4931D14889852801000048B8CDCCCCCCCCCCCCCC4889953001000049F7E148C1EA0348339530010000486BD20A4D89D14929D24D85D20F84000000004C3B8D400100000F8D000000004C8BA5480100004C0FAFA5280100004C29E3486BDB0A4D6BED0A4C89BD280100004C89AD3001000048899D380100004C898D500100004C89B558010000E9A6FEFFFF0F0B0F1F4000FF353AFEFFFF49BBB0BA6CA05E7F0000415349BB00B06CA05E7F000041FFE3FF3523FEFFFF49BBC0BA6CA05E7F0000415349BB00B06CA05E7F000041FFE3FF350CFEFFFF49BBD0BA6CA05E7F0000415349BB00B06CA05E7F000041FFE3FF35F5FDFFFF49BBE0BA6CA05E7F0000415349BB00B06CA05E7F000041FFE3
[385] jit-backend-dump}
[385] {jit-backend-addr
Loop 1 ((jitdriver: no get_printable_location)) has address 0x7f5ea06cbb46 to 0x7f5ea06cbcb0 (bootstrap 0x7f5ea06cbb10)
gc table: 0x7f5ea06cbaf0
function: 0x7f5ea06cbb10
resops: 0x7f5ea06cbb46
failures: 0x7f5ea06cbcb0
end: 0x7f5ea06cbd2c
[385] jit-backend-addr}
[385] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbba1 +0 0B010000
[385] jit-backend-dump}
[385] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbc06 +0 C5000000
[385] jit-backend-dump}
[385] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbc57 +0 93000000
[385] jit-backend-dump}
[385] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbc64 +0 A5000000
[385] jit-backend-dump}
[397] {jit-log-rewritten-loop
# Loop 0 ((jitdriver: no get_printable_location)) : rewritten with 36 ops
[i0, i1, i2, i3, i4, i5, i6]
+86: increment_debug_counter(46937632)
+94: label(i0, i1, i2, i3, i4, i5, i6, descr=TargetToken(140044401599024))
+96: increment_debug_counter(46900736)
+104: i10 = int_add(i6, 1)
+115: i12 = int_lshift(i1, 1)
+125: i13 = int_mul(i1, i10)
+136: i14 = int_add(i2, i12)
+146: i16 = int_add(i0, 2)
+157: i17 = int_mul(i14, i16)
+161: i18 = int_mul(i4, i16)
+172: i19 = int_ge(i17, i13)
+175: guard_true(i19, descr=<Guard0x7f5ea0df1f50>) [i12, i10, i5, i18, i3, i17, i13, i16]
+181: i21 = int_mul(i13, 3)
+188: i22 = int_add(i21, i17)
+191: i24 = call_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i22, i18, descr=<Calli 8 ii EF=0 OS=14>)
+229: i26 = call_i(ConstClass(ll_int_py_div__Signed_Signed), i12, i18, descr=<Calli 8 ii EF=0 OS=12>)
+259: i27 = int_add(i24, i13)
+269: i28 = int_gt(i18, i27)
+276: guard_true(i28, descr=<Guard0x7f5ea0df1b90>) [i26, i27, i10, i5, i18, i3, i17, i13, i16]
+282: i30 = int_add(i5, 1)
+293: i32 = int_rshift(i30, 63)
+300: i33 = int_xor(i30, i32)
+306: i35 = uint_mul_high(i33, -3689348814741910323)
+333: i37 = uint_rshift(i35, 3)
+337: i38 = int_xor(i37, i32)
+344: i40 = int_mul(i38, 10)
+348: i41 = int_sub(i30, i40)
+354: i42 = int_is_zero(i41)
+357: guard_false(i42, descr=<Guard0x7f5ea0cf6140>) [i26, i27, i10, i5, i18, i3, i17, i13, i16]
+363: i43 = int_ge(i30, i3)
+370: guard_false(i43, descr=<Guard0x7f5ea0df1f00>) [i26, i27, i10, i5, i18, i3, i17, i13, i16]
+376: i44 = int_mul(i18, i26)
+391: i45 = int_sub(i17, i44)
+394: i47 = int_mul(i45, 10)
+398: i49 = int_mul(i13, 10)
+402: jump(i16, i49, i47, i3, i18, i30, i10, descr=TargetToken(140044401599024))
+448: --end of the loop--
[397] jit-log-rewritten-loop}
[397] jit-backend}
compiled new loop
[397] {jit-log-opt-loop
# Loop 1 ((jitdriver: no get_printable_location)) : loop with 36 ops
[i0, i1, i2, i3, i4, i5, i6]
+94: label(i0, i1, i2, i3, i4, i5, i6, descr=TargetToken(140044401599024))
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
+104: i8 = int_add(i6, 1)
+115: i10 = int_lshift(i1, 1)
+125: i11 = int_mul(i1, i8)
+136: i12 = int_add(i2, i10)
+146: i14 = int_add(i0, 2)
+157: i15 = int_mul(i12, i14)
+161: i16 = int_mul(i4, i14)
+172: i17 = int_ge(i15, i11)
+175: guard_true(i17, descr=<Guard0x7f5ea0df1f50>) [i10, i8, i5, i16, i3, i15, i11, i14]
+181: i19 = int_mul(i11, 3)
+188: i20 = int_add(i19, i15)
+191: i22 = call_i(ConstClass(ll_int_py_mod_nonnegargs__Signed_Signed), i20, i16, descr=<Calli 8 ii EF=0 OS=14>)
+229: i24 = call_i(ConstClass(ll_int_py_div__Signed_Signed), i10, i16, descr=<Calli 8 ii EF=0 OS=12>)
+259: i25 = int_add(i22, i11)
+269: i26 = int_gt(i16, i25)
+276: guard_true(i26, descr=<Guard0x7f5ea0df1b90>) [i24, i25, i8, i5, i16, i3, i15, i11, i14]
+282: i28 = int_add(i5, 1)
+293: i30 = int_rshift(i28, 63)
+300: i31 = int_xor(i28, i30)
+306: i33 = uint_mul_high(i31, -3689348814741910323)
+333: i35 = uint_rshift(i33, 3)
+337: i36 = int_xor(i35, i30)
+344: i38 = int_mul(i36, 10)
+348: i39 = int_sub(i28, i38)
+354: i40 = int_is_zero(i39)
+357: guard_false(i40, descr=<Guard0x7f5ea0cf6140>) [i24, i25, i8, i5, i16, i3, i15, i11, i14]
+363: i41 = int_ge(i28, i3)
+370: guard_false(i41, descr=<Guard0x7f5ea0df1f00>) [i24, i25, i8, i5, i16, i3, i15, i11, i14]
+376: i42 = int_mul(i16, i24)
+391: i43 = int_sub(i15, i42)
+394: i45 = int_mul(i43, 10)
+398: i47 = int_mul(i11, 10)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
+402: jump(i14, i47, i45, i3, i16, i28, i8, descr=TargetToken(140044401599024))
+448: --end of the loop--
[397] jit-log-opt-loop}
ContinueRunningNormally
[398] jit-tracing}
[398] {jit-tracing
(jitdriver: no get_printable_location)
[399] {jit-trace-done
trace length: 32
total snapshots: 2
bigint consts: 0 0
float consts: 0 0
ref consts: 0 1
descrs: 2
[399] jit-trace-done}
[399] {jit-optimize
[39a] {jit-log-noopt-loop
# Loop 0 () : noopt with 5 ops
[i0, i1, i2, i3, i4, i5, i6, i7, i8]
i9 = int_gt(i4, i1)
guard_false(i9)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i8, i7, i6, i5, i4, i3, i2, descr=<Loop1>)
[39a] jit-log-noopt-loop}
[39a] jit-optimize}
[39a] {jit-backend
[39a] {jit-log-compiling-bridge
[i10, i11, i12, i13, i14, i15, i16, i17, i18]
i19 = int_gt(i14, i11)
guard_false(i19, descr=<Guard0x7f5ea0d6f690>) [i10, i11, i12, i13, i14, i15, i16, i17, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i18, i17, i16, i15, i14, i13, i12, descr=TargetToken(140044401599024))
[39a] jit-log-compiling-bridge}
[39c] {jit-mem-looptoken-alloc
allocating Bridge # 1 of Loop # 1
[39c] jit-mem-looptoken-alloc}
[39e] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbd60 +0 0000000000000000000000000000000048817D40FFFFFF007D2448C7442408FFFFFF0049BB40BD6CA05E7F00004C895D1849BB50B16CA05E7F000041FFD348FF042510B0DA024C39A5480100000F8F000000004C89BD280100004C89AD3001000048899D380100004C89B55801000049BB50BB6CA05E7F000041FFE30F0B6690FF357AFFFFFF49BB50BD6CA05E7F0000415349BB00B06CA05E7F000041FFE3
[39e] jit-backend-dump}
[39e] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbd74 +0 23000000
[39e] jit-backend-dump}
[39e] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbd7f +0 23000000
[39e] jit-backend-dump}
[39e] {jit-backend-addr
bridge out of Guard 0x7f5ea0df1b90 has address 0x7f5ea06cbd70 to 0x7f5ea06cbde0
gc table: 0x7f5ea06cbd60
jump target: 0x7f5ea06cbd70
resops: 0x7f5ea06cbd9e
failures: 0x7f5ea06cbde0
end: 0x7f5ea06cbdff
[39e] jit-backend-addr}
[39e] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbdaf +0 2D000000
[39e] jit-backend-dump}
[39e] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbc06 +0 66010000
[39e] jit-backend-dump}
[3a1] {jit-log-rewritten-bridge
# bridge out of Guard 0x7f5ea0df1b90 with 4 ops
[i0, i1, i2, i3, i4, i5, i6, i7, i8]
+62: increment_debug_counter(47886352)
+70: i10 = int_gt(i4, i1)
+77: guard_false(i10, descr=<Guard0x7f5ea0d6f690>) [i0, i1, i2, i3, i4, i5, i6, i7, i8]
+83: jump(i8, i7, i6, i5, i4, i3, i2, descr=TargetToken(140044401599024))
+128: --end of the loop--
[3a1] jit-log-rewritten-bridge}
[3a1] jit-backend}
compiled new bridge
[3a1] {jit-log-opt-bridge
# bridge out of Guard 0x7f5ea0df1b90 with 4 ops
[i10, i11, i12, i13, i14, i15, i16, i17, i18]
+70: i19 = int_gt(i14, i11)
+77: guard_false(i19, descr=<Guard0x7f5ea0d6f690>) [i10, i11, i12, i13, i14, i15, i16, i17, i18]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
+83: jump(i18, i17, i16, i15, i14, i13, i12, descr=TargetToken(140044401599024))
+128: --end of the loop--
[3a1] jit-log-opt-bridge}
ContinueRunningNormally
[3a2] jit-tracing}
[3a2] {jit-tracing
(jitdriver: no get_printable_location)
[3a3] {jit-trace-done
trace length: 31
total snapshots: 2
bigint consts: 0 0
float consts: 0 0
ref consts: 0 1
descrs: 2
[3a3] jit-trace-done}
[3a3] {jit-optimize
[3a4] {jit-log-noopt-loop
# Loop 0 () : noopt with 5 ops
[i0, i1, i2, i3, i4, i5, i6, i7]
i8 = int_ge(i5, i6)
guard_false(i8)
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
guard_future_condition()
jump(i7, i6, i5, i4, i3, i2, i1, descr=<Loop1>)
[3a4] jit-log-noopt-loop}
[3a4] jit-optimize}
[3a5] {jit-backend
[3a5] {jit-log-compiling-bridge
[i9, i10, i11, i12, i13, i14, i15, i16]
i17 = int_ge(i14, i15)
guard_false(i17, descr=<Guard0x7f5ea0d6f1e0>) [i9, i10, i11, i12, i13, i14, i15, i16]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
jump(i16, i15, i14, i13, i12, i11, i10, descr=TargetToken(140044401599024))
[3a5] jit-log-compiling-bridge}
[3a6] {jit-mem-looptoken-alloc
allocating Bridge # 2 of Loop # 1
[3a6] jit-mem-looptoken-alloc}
[3a7] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbe30 +0 0000000000000000000000000000000048817D40FFFFFF007D2448C7442408FFFFFF0049BB10BE6CA05E7F00004C895D1849BB50B16CA05E7F000041FFD348FF0425E07AE0024839D30F8D000000004889B5280100004889953001000048899D380100004889BD4801000048898D5801000049BB50BB6CA05E7F000041FFE30F0B6666666666662E0F1F840000000000FF356AFFFFFF49BB20BE6CA05E7F0000415349BB00B06CA05E7F000041FFE3
[3a7] jit-backend-dump}
[3a7] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbe44 +0 23000000
[3a7] jit-backend-dump}
[3a7] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbe4f +0 23000000
[3a7] jit-backend-dump}
[3a7] {jit-backend-addr
bridge out of Guard 0x7f5ea0df1f50 has address 0x7f5ea06cbe40 to 0x7f5ea06cbec0
gc table: 0x7f5ea06cbe30
jump target: 0x7f5ea06cbe40
resops: 0x7f5ea06cbe6e
failures: 0x7f5ea06cbec0
end: 0x7f5ea06cbedf
[3a7] jit-backend-addr}
[3a7] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbe7b +0 41000000
[3a7] jit-backend-dump}
[3a7] {jit-backend-dump
BACKEND x86_64
SYS_EXECUTABLE ??
CODE_DUMP @7f5ea06cbba1 +0 9B020000
[3a7] jit-backend-dump}
[3ab] {jit-log-rewritten-bridge
# bridge out of Guard 0x7f5ea0df1f50 with 4 ops
[i0, i1, i2, i3, i4, i5, i6, i7]
+62: increment_debug_counter(48265952)
+70: i9 = int_ge(i5, i6)
+73: guard_false(i9, descr=<Guard0x7f5ea0d6f1e0>) [i0, i1, i2, i3, i4, i5, i6, i7]
+79: jump(i7, i6, i5, i4, i3, i2, i1, descr=TargetToken(140044401599024))
+144: --end of the loop--
[3ab] jit-log-rewritten-bridge}
[3ab] jit-backend}
compiled new bridge
[3ab] {jit-log-opt-bridge
# bridge out of Guard 0x7f5ea0df1f50 with 4 ops
[i9, i10, i11, i12, i13, i14, i15, i16]
+70: i17 = int_ge(i14, i15)
+73: guard_false(i17, descr=<Guard0x7f5ea0d6f1e0>) [i9, i10, i11, i12, i13, i14, i15, i16]
debug_merge_point(0, 0, '(jitdriver: no get_printable_location)')
+79: jump(i16, i15, i14, i13, i12, i11, i10, descr=TargetToken(140044401599024))
+144: --end of the loop--
[3ab] jit-log-opt-bridge}
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 315, in 'calling callback function'
File "/opt/pypy/rpython/rtyper/lltypesystem/ll2ctypes.py", line 874, in callback
return callback_internal(*cargs)
File "/opt/pypy/rpython/rtyper/lltypesystem/ll2ctypes.py", line 845, in callback_internal
llres = llinterp.eval_graph(container.graph, llargs)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 87, in eval_graph
retval = llframe.eval()
File "/opt/pypy/rpython/rtyper/llinterp.py", line 285, in eval
nextblock, args = self.eval_block(nextblock)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 309, in eval_block
self.eval_operation(op)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 418, in eval_operation
retval = ophandler(*vals)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 522, in op_debug_assert
raise LLAssertFailure(msg)
rpython.rtyper.llinterp.LLAssertFailure: int_py_mod_nonnegargs(): one arg is negative
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 315, in 'calling callback function'
File "/opt/pypy/rpython/rtyper/lltypesystem/ll2ctypes.py", line 874, in callback
return callback_internal(*cargs)
File "/opt/pypy/rpython/rtyper/lltypesystem/ll2ctypes.py", line 845, in callback_internal
llres = llinterp.eval_graph(container.graph, llargs)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 87, in eval_graph
retval = llframe.eval()
File "/opt/pypy/rpython/rtyper/llinterp.py", line 285, in eval
nextblock, args = self.eval_block(nextblock)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 309, in eval_block
self.eval_operation(op)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 418, in eval_operation
retval = ophandler(*vals)
File "/opt/pypy/rpython/rtyper/llinterp.py", line 522, in op_debug_assert
raise LLAssertFailure(msg)
rpython.rtyper.llinterp.LLAssertFailure: int_py_mod_nonnegargs(): one arg is negative
LLAssertFailure
[3ab] jit-tracing}
===================== 1 failed, 2 passed in 10.32 seconds ======================
_______________________________________________
pypy-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-dev