aboutsummaryrefslogtreecommitdiff
path: root/contrib/jemalloc
diff options
context:
space:
mode:
authorJason Evans <jasone@FreeBSD.org>2015-08-18 20:42:08 +0000
committerJason Evans <jasone@FreeBSD.org>2015-08-18 20:42:08 +0000
commit337776f85804f3f2b5d2819787358659306b97ad (patch)
tree1577fd8ee75536e29fbafe2ffc62c33943b2a425 /contrib/jemalloc
parent83fb3d8cefbd912fa5a7defbf91ae85c0b0d11f9 (diff)
downloadsrc-337776f85804f3f2b5d2819787358659306b97ad.tar.gz
src-337776f85804f3f2b5d2819787358659306b97ad.zip
Notes
Diffstat (limited to 'contrib/jemalloc')
-rw-r--r--contrib/jemalloc/FREEBSD-diffs16
-rw-r--r--contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h12
2 files changed, 12 insertions, 16 deletions
diff --git a/contrib/jemalloc/FREEBSD-diffs b/contrib/jemalloc/FREEBSD-diffs
index 8452677020c0..58f5f6fc08a0 100644
--- a/contrib/jemalloc/FREEBSD-diffs
+++ b/contrib/jemalloc/FREEBSD-diffs
@@ -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;
diff --git a/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h b/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
index c5113b99330b..737542e09d85 100644
--- a/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
+++ b/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
@@ -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;