components/desktop/firefox/patches/firefox-32-solaris_jemalloc_linkage.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Wed, 02 Nov 2016 08:17:06 -0700
changeset 7309 2655ef11c386
parent 6919 7972aae0fb03
permissions -rw-r--r--
25034529 Upgrade Firefox to version 45.5.0 ESR 25099456 problem in FIREFOX/BROWSER
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5255
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     1
This patch makes it so jemalloc is not included in firefox. Not accepted by 
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     2
the upstream community. 
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     3
Put jemalloc inside libxul. Then need firefox to depend on libxul
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     4
and build jemalloc library.
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     5
Remove lines - do not include memory for every program
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     6
Need to create/add our own versions of the functions malloc_usable, jemalloc_stats, etc.
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     7
Remove mozalloc library
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     8
Check if we have jemalloc; if not, skip it.
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
     9
Build libxul and use flags -Wl,-z,interpose, needed to build the library.
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    10
5527
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    11
diff --git a/config/jemalloc_solaris.map b/config/jemalloc_solaris.map
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    12
new file mode 100644
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    13
--- /dev/null
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    14
+++ b/config/jemalloc_solaris.map
5255
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    15
@@ -0,0 +1,12 @@
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    16
+{
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    17
+    global:
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    18
+        calloc             = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    19
+        free               = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    20
+        jemalloc_stats     = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    21
+        malloc             = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    22
+        malloc_usable_size = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    23
+        memalign           = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    24
+        posix_memalign     = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    25
+        realloc            = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    26
+        valloc             = NODIRECT;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    27
+};
6919
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    28
diff --git a/storage/mozStorageService.cpp b/storage/mozStorageService.cpp
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    29
--- a/storage/mozStorageService.cpp
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    30
+++ b/storage/mozStorageService.cpp
7309
2655ef11c386 25034529 Upgrade Firefox to version 45.5.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents: 6919
diff changeset
    31
@@ -528,9 +528,14 @@
5255
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    32
   int rc;
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    33
 
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    34
 #ifdef MOZ_STORAGE_MEMORY
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    35
-  rc = ::sqlite3_config(SQLITE_CONFIG_MALLOC, &memMethods);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    36
-  if (rc != SQLITE_OK)
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    37
-    return convertResultCode(rc);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    38
+  // in case other malloc library is PRELOAD-ed
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    39
+  void *test_jemalloc = malloc(4);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    40
+  if (::moz_malloc_usable_size(test_jemalloc)) {
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    41
+    rc = ::sqlite3_config(SQLITE_CONFIG_MALLOC, &memMethods);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    42
+    if (rc != SQLITE_OK)
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    43
+      return convertResultCode(rc);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    44
+  }
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    45
+  free(test_jemalloc);
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    46
 #endif
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    47
 
7309
2655ef11c386 25034529 Upgrade Firefox to version 45.5.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents: 6919
diff changeset
    48
   // TODO (bug 1191405): do not preallocate the connections caches until we
5527
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
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
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    50
--- a/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    51
+++ b/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in
6919
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    52
@@ -184,6 +184,9 @@ static const bool config_cache_oblivious
5527
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    53
 #include "jemalloc/internal/jemalloc_internal_macros.h"
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    54
 
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    55
 /* Size class index type. */
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    56
+#ifdef __sun
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    57
+#define index_t je_index_t
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    58
+#endif
6919
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    59
 typedef unsigned szind_t;
5255
cea0e462549a 22322082 Move Firefox/Thunderbird from Desktop consolidation to Userland
Stacy Yeh <stacy.yeh@oracle.com>
parents:
diff changeset
    60
 
6919
7972aae0fb03 24508672 Upgrade Firefox to version 45.1.1 ESR
Jingning Ji <jingning.ji@oracle.com>
parents: 5527
diff changeset
    61
 /*
5527
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    62
--- a/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in	2015-09-15 13:37:17.326056000 +0800
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    63
+++ b/memory/jemalloc/src/include/jemalloc/internal/jemalloc_internal.h.in	2015-09-15 13:37:51.959830000 +0800
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    64
@@ -204,6 +204,9 @@
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    65
 #  ifdef __alpha__
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    66
 #    define LG_QUANTUM		4
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    67
 #  endif
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    68
+#  ifdef __sparc__
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    69
+#    define LG_QUANTUM		4
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    70
+#  endif
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    71
 #  ifdef __sparc64__
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    72
 #    define LG_QUANTUM		4
611b2d6efdfe 21602607 Need to move Firefox to 38.5.0 ESR branch to continue getting fixes
Stacy Yeh <stacy.yeh@oracle.com>
parents: 5255
diff changeset
    73
 #  endif