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