author | Petr Sumbera <petr.sumbera@oracle.com> |
Mon, 14 Nov 2016 04:25:50 -0800 | |
branch | s11u3-sru |
changeset 7364 | 1ac24a377555 |
parent 7035 | 4c2f26e9d5ab |
permissions | -rw-r--r-- |
7035
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
1 |
This patch makes it so jemalloc is not included in firefox. Not accepted by |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
2 |
the upstream community. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
3 |
Put jemalloc inside libxul. Then need firefox to depend on libxul |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
4 |
and build jemalloc library. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
5 |
Remove lines - do not include memory for every program |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
Need to create/add our own versions of the functions malloc_usable, jemalloc_stats, etc. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
Remove mozalloc library |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
Check if we have jemalloc; if not, skip it. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
Build libxul and use flags -Wl,-z,interpose, needed to build the library. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
diff --git a/config/jemalloc_solaris.map b/config/jemalloc_solaris.map |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
new file mode 100644 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
--- /dev/null |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
+++ b/config/jemalloc_solaris.map |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
@@ -0,0 +1,12 @@ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
+{ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
+ global: |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
+ calloc = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
+ free = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
+ jemalloc_stats = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
+ malloc = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
+ malloc_usable_size = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
+ memalign = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
+ posix_memalign = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
+ realloc = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
+ valloc = NODIRECT; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
27 |
+}; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
28 |
diff --git a/storage/mozStorageService.cpp b/storage/mozStorageService.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
29 |
--- a/storage/mozStorageService.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
30 |
+++ b/storage/mozStorageService.cpp |
7364
1ac24a377555
25034529 Upgrade Firefox to version 45.5.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
7035
diff
changeset
|
31 |
@@ -528,9 +528,14 @@ |
7035
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
32 |
int rc; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
33 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
34 |
#ifdef MOZ_STORAGE_MEMORY |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
35 |
- rc = ::sqlite3_config(SQLITE_CONFIG_MALLOC, &memMethods); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
36 |
- if (rc != SQLITE_OK) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
37 |
- return convertResultCode(rc); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
38 |
+ // in case other malloc library is PRELOAD-ed |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
39 |
+ void *test_jemalloc = malloc(4); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
40 |
+ if (::moz_malloc_usable_size(test_jemalloc)) { |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
41 |
+ rc = ::sqlite3_config(SQLITE_CONFIG_MALLOC, &memMethods); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
42 |
+ if (rc != SQLITE_OK) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
43 |
+ return convertResultCode(rc); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
44 |
+ } |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
45 |
+ free(test_jemalloc); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
46 |
#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
47 |
|
7364
1ac24a377555
25034529 Upgrade Firefox to version 45.5.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
7035
diff
changeset
|
48 |
// TODO (bug 1191405): do not preallocate the connections caches until we |
7035
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
49 |
diff --git a/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in b/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
50 |
--- a/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
51 |
+++ b/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
52 |
@@ -184,6 +184,9 @@ static const bool config_cache_oblivious |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
53 |
#include "jemalloc/internal/jemalloc_internal_macros.h" |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
54 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
55 |
/* Size class index type. */ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
56 |
+#ifdef __sun |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
57 |
+#define index_t je_index_t |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
58 |
+#endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
59 |
typedef unsigned szind_t; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
60 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
61 |
/* |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
62 |
--- a/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in 2015-09-15 13:37:17.326056000 +0800 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
63 |
+++ b/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in 2015-09-15 13:37:51.959830000 +0800 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
64 |
@@ -204,6 +204,9 @@ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
65 |
# ifdef __alpha__ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
66 |
# define LG_QUANTUM 4 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
67 |
# endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
68 |
+# ifdef __sparc__ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
69 |
+# define LG_QUANTUM 4 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
70 |
+# endif |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
71 |
# ifdef __sparc64__ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
72 |
# define LG_QUANTUM 4 |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
73 |
# endif |