Author: Armin Rigo <[email protected]>
Branch: vmprof-review
Changeset: r78847:4d382eb7b1b2
Date: 2015-08-07 10:57 +0200
http://bitbucket.org/pypy/pypy/changeset/4d382eb7b1b2/

Log:    Connect the two ways to temporarily disable interrupts

diff --git a/rpython/jit/backend/llsupport/src/codemap.c 
b/rpython/jit/backend/llsupport/src/codemap.c
--- a/rpython/jit/backend/llsupport/src/codemap.c
+++ b/rpython/jit/backend/llsupport/src/codemap.c
@@ -5,20 +5,16 @@
 # error "skiplist.c needs to be included before"
 #endif
 
-volatile int pypy_codemap_currently_invalid = 0;
-
-void pypy_codemap_invalid_set(int value)
-{
-#ifndef _MSC_VER
-    if (value)
-        __sync_lock_test_and_set(&pypy_codemap_currently_invalid, 1);
-    else
-        __sync_lock_release(&pypy_codemap_currently_invalid);
+#ifdef RPYTHON_VMPROF
+RPY_EXTERN void rpython_vmprof_ignore_signals(int ignored);
+static void pypy_codemap_invalid_set(int ignored) {
+    rpython_vmprof_ignore_signals(ignored);
+}
 #else
-    _InterlockedExchange((long volatile *)&pypy_codemap_currently_invalid,
-                        (long)value);
+static void pypy_codemap_invalid_set(int ignored) {
+    /* nothing */
+}
 #endif
-}
 
 
 /************************************************************/
diff --git a/rpython/rlib/rvmprof/cintf.py b/rpython/rlib/rvmprof/cintf.py
--- a/rpython/rlib/rvmprof/cintf.py
+++ b/rpython/rlib/rvmprof/cintf.py
@@ -24,6 +24,7 @@
     includes = ['rvmprof.h'],
     libraries = libs,
     separate_module_files = [SRC.join('rvmprof.c')],
+    post_include_bits=['#define RPYTHON_VMPROF\n'],
     )
 eci = ExternalCompilationInfo(**eci_kwds)
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to