Author: Edd Barrett <vex...@gmail.com>
Branch: asmmemmgr-for-code-only
Changeset: r86748:bb2143405c5f
Date: 2016-08-30 17:31 +0100
http://bitbucket.org/pypy/pypy/changeset/bb2143405c5f/

Log:    Another W^X site.

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
@@ -1,4 +1,4 @@
-from rpython.rlib import rgc
+from rpython.rlib import rgc, rmmap
 from rpython.rtyper.lltypesystem import lltype, llmemory, rffi
 from rpython.rtyper.lltypesystem.lloperation import llop
 from rpython.jit.backend.llsupport.symbolic import WORD
@@ -33,10 +33,13 @@
     tr.array_base_addr = array_base_addr
     tr.array_length = length
     i = 0
+    array_base_addr_p = rffi.cast(rffi.CCHARP, array_base_addr)
+    rmmap.set_pages_writable(array_base_addr_p, length)
     while i < length:
         p = rffi.cast(rffi.SIGNEDP, array_base_addr + i * WORD)
         p[0] = rffi.cast(lltype.Signed, gcrefs[i])
         i += 1
+    rmmap.set_pages_executable(array_base_addr_p, length)
     llop.gc_writebarrier(lltype.Void, tr)
     # --no GC until here--
     return tr
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to