Author: Edd Barrett <vex...@gmail.com> Branch: asmmemmgr-for-code-only Changeset: r86545:2cbba6120432 Date: 2016-08-26 10:16 +0100 http://bitbucket.org/pypy/pypy/changeset/2cbba6120432/
Log: Fix type errors exposed by backend tests. diff --git a/rpython/jit/backend/llsupport/gcreftracer.py b/rpython/jit/backend/llsupport/gcreftracer.py --- a/rpython/jit/backend/llsupport/gcreftracer.py +++ b/rpython/jit/backend/llsupport/gcreftracer.py @@ -44,10 +44,12 @@ def make_boehm_tracer(array_base_addr, gcrefs): # copy the addresses, but return 'gcrefs' as the object that must be # kept alive + assert isinstance(array_base_addr, int) + array_base_addr_p = rffi.cast(rffi.CCHARP, array_base_addr) n_gcrefs = len(gcrefs) - set_pages_writable(array_base_addr, n_gcrefs * WORD) + set_pages_writable(array_base_addr_p, n_gcrefs * WORD) for i in range(n_gcrefs): p = rffi.cast(rffi.SIGNEDP, array_base_addr + i * WORD) p[0] = rffi.cast(lltype.Signed, gcrefs[i]) - set_pages_executable(array_base_addr, n_gcrefs * WORD) + set_pages_executable(array_base_addr_p, n_gcrefs * WORD) return gcrefs diff --git a/rpython/rlib/rmmap.py b/rpython/rlib/rmmap.py --- a/rpython/rlib/rmmap.py +++ b/rpython/rlib/rmmap.py @@ -727,14 +727,20 @@ return c_mprotect_safe(addr, size, prot) def set_pages_executable(addr, size): + assert isinstance(addr, lltype._ptr) + assert isinstance(size, int) rv = mprotect(addr, size, PROT_EXEC | PROT_READ) - if rv < 0: + if int(rv) < 0: + from rpython.rlib import debug debug.fatalerror_notb("set_pages_executable failed") def set_pages_writable(addr, size): + assert isinstance(addr, lltype._ptr) + assert isinstance(size, int) rv = mprotect(addr, size, PROT_WRITE | PROT_READ) - if rv < 0: - debug.fatalerror_notb("set_pages_executable failed") + if int(rv) < 0: + from rpython.rlib import debug + debug.fatalerror_notb("set_pages_writable failed") def clear_large_memory_chunk_aligned(addr, map_size): addr = rffi.cast(PTR, addr) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit