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

Reply via email to