Define CPU_SPINWAIT as cpu_spinwait().

Submitted by:	cem
This commit is contained in:
Jason Evans 2015-08-18 20:42:08 +00:00
parent 83fb3d8cef
commit 337776f858
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=286907
2 changed files with 12 additions and 16 deletions

View file

@ -117,10 +117,10 @@ index dbf6aa7..f87dba8 100644
jemalloc_postfork_child
diff --git a/include/jemalloc/jemalloc_FreeBSD.h b/include/jemalloc/jemalloc_FreeBSD.h
new file mode 100644
index 0000000..c5113b9
index 0000000..737542e
--- /dev/null
+++ b/include/jemalloc/jemalloc_FreeBSD.h
@@ -0,0 +1,144 @@
@@ -0,0 +1,142 @@
+/*
+ * Override settings that were generated in jemalloc_defs.h as necessary.
+ */
@ -135,7 +135,6 @@ index 0000000..c5113b9
+ * The following are architecture-dependent, so conditionally define them for
+ * each supported architecture.
+ */
+#undef CPU_SPINWAIT
+#undef JEMALLOC_TLS_MODEL
+#undef STATIC_PAGE_SHIFT
+#undef LG_SIZEOF_PTR
@ -145,7 +144,6 @@ index 0000000..c5113b9
+
+#ifdef __i386__
+# define LG_SIZEOF_PTR 2
+# define CPU_SPINWAIT __asm__ volatile("pause")
+# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
+#endif
+#ifdef __ia64__
@ -157,7 +155,6 @@ index 0000000..c5113b9
+#endif
+#ifdef __amd64__
+# define LG_SIZEOF_PTR 3
+# define CPU_SPINWAIT __asm__ volatile("pause")
+# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
+#endif
+#ifdef __arm__
@ -183,15 +180,16 @@ index 0000000..c5113b9
+# define JEMALLOC_TLS_MODEL /* Default. */
+#endif
+
+#ifndef CPU_SPINWAIT
+# define CPU_SPINWAIT do {} while (0)
+#endif
+
+#define STATIC_PAGE_SHIFT PAGE_SHIFT
+#define LG_SIZEOF_INT 2
+#define LG_SIZEOF_LONG LG_SIZEOF_PTR
+#define LG_SIZEOF_INTMAX_T 3
+
+#undef CPU_SPINWAIT
+#include <machine/cpu.h>
+#include <machine/cpufunc.h>
+#define CPU_SPINWAIT cpu_spinwait()
+
+/* Disable lazy-lock machinery, mangle isthreaded, and adjust its type. */
+#undef JEMALLOC_LAZY_LOCK
+extern int __isthreaded;

View file

@ -12,7 +12,6 @@
* The following are architecture-dependent, so conditionally define them for
* each supported architecture.
*/
#undef CPU_SPINWAIT
#undef JEMALLOC_TLS_MODEL
#undef STATIC_PAGE_SHIFT
#undef LG_SIZEOF_PTR
@ -22,7 +21,6 @@
#ifdef __i386__
# define LG_SIZEOF_PTR 2
# define CPU_SPINWAIT __asm__ volatile("pause")
# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
#endif
#ifdef __ia64__
@ -34,7 +32,6 @@
#endif
#ifdef __amd64__
# define LG_SIZEOF_PTR 3
# define CPU_SPINWAIT __asm__ volatile("pause")
# define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
#endif
#ifdef __arm__
@ -60,15 +57,16 @@
# define JEMALLOC_TLS_MODEL /* Default. */
#endif
#ifndef CPU_SPINWAIT
# define CPU_SPINWAIT do {} while (0)
#endif
#define STATIC_PAGE_SHIFT PAGE_SHIFT
#define LG_SIZEOF_INT 2
#define LG_SIZEOF_LONG LG_SIZEOF_PTR
#define LG_SIZEOF_INTMAX_T 3
#undef CPU_SPINWAIT
#include <machine/cpu.h>
#include <machine/cpufunc.h>
#define CPU_SPINWAIT cpu_spinwait()
/* Disable lazy-lock machinery, mangle isthreaded, and adjust its type. */
#undef JEMALLOC_LAZY_LOCK
extern int __isthreaded;