Commit 90e0fe11 authored by Ryan VanderMeulen's avatar Ryan VanderMeulen
Browse files

Bug 1343432 - Update jemalloc 4 to version 4.5.0. r=glandium

parent c525adc2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.

Touching clobber for Bug 1322703 - Use -Fd to specify unique PDB filename per-compile for MSVC
Bug 1343432 - jemalloc update needs a clobber
+15 −1
Original line number Diff line number Diff line
@@ -12,6 +12,20 @@ environment:
    CPU: x86_64
  - MSYSTEM: MINGW32
    CPU: i686
  - MSYSTEM: MINGW64
    CPU: x86_64
    MSVC: amd64
    CONFIG_FLAGS: --enable-debug
  - MSYSTEM: MINGW32
    CPU: i686
    MSVC: x86
    CONFIG_FLAGS: --enable-debug
  - MSYSTEM: MINGW64
    CPU: x86_64
    CONFIG_FLAGS: --enable-debug
  - MSYSTEM: MINGW32
    CPU: i686
    CONFIG_FLAGS: --enable-debug

install:
  - set PATH=c:\msys64\%MSYSTEM%\bin;c:\msys64\usr\bin;%PATH%
@@ -21,7 +35,7 @@ install:

build_script:
  - bash -c "autoconf"
  - bash -c "./configure"
  - bash -c "./configure $CONFIG_FLAGS"
  - mingw32-make -j3
  - file lib/jemalloc.dll
  - mingw32-make -j3 tests
+77 −11
Original line number Diff line number Diff line
language: c
language: generic

matrix:
  include:
    - os: linux
      compiler: gcc
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS=""
    - os: osx
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS=""
    - os: linux
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS=""
    - os: linux
      compiler: gcc
      env:
        - EXTRA_FLAGS=-m32
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
    - os: osx
      compiler: clang
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS=""
    - os: osx
      compiler: clang
      env:
        - EXTRA_FLAGS=-m32
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
    - os: osx
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
    - os: osx
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
    - os: osx
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
    - os: linux
      env: CC=clang COMPILER_FLAGS="-m32" CONFIGURE_FLAGS=""
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug"
    - os: linux
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof"
    - os: linux
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats"
    - os: linux
      env: CC=clang COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-tcache"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--enable-debug"
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--enable-prof"
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--disable-stats"
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=gcc COMPILER_FLAGS="-m32" CONFIGURE_FLAGS="--disable-tcache"
      addons:
        apt:
          packages:
            - gcc-multilib
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --enable-prof"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --disable-stats"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --disable-tcache"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof --disable-stats"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-prof --disable-tcache"
    - os: linux
      env: CC=gcc COMPILER_FLAGS="" CONFIGURE_FLAGS="--disable-stats --disable-tcache"


before_script:
  - autoconf
  - ./configure${EXTRA_FLAGS:+ CC="$CC $EXTRA_FLAGS"}
  - ./configure ${COMPILER_FLAGS:+       CC="$CC $COMPILER_FLAGS" }       $CONFIGURE_FLAGS
  - make -j3
  - make -j3 tests

script:
  - make check
+35 −0
Original line number Diff line number Diff line
@@ -4,6 +4,41 @@ brevity. Much more detail can be found in the git revision history:

    https://github.com/jemalloc/jemalloc

* 4.5.0 (February 28, 2017)

  This is the first release to benefit from much broader continuous integration
  testing, thanks to @davidtgoldblatt.  Had we had this testing infrastructure
  in place for prior releases, it would have caught all of the most serious
  regressions fixed by this release.

  New features:
  - Add --disable-thp and the opt.thp to provide opt-out mechanisms for
    transparent huge page integration.  (@jasone)
  - Update zone allocator integration to work with macOS 10.12.  (@glandium)
  - Restructure *CFLAGS configuration, so that CFLAGS behaves typically, and
    EXTRA_CFLAGS provides a way to specify e.g. -Werror during building, but not
    during configuration.  (@jasone, @ronawho)

  Bug fixes:
  - Fix DSS (sbrk(2)-based) allocation.  This regression was first released in
    4.3.0.  (@jasone)
  - Handle race in per size class utilization computation.  This functionality
    was first released in 4.0.0.  (@interwq)
  - Fix lock order reversal during gdump.  (@jasone)
  - Fix-refactor tcache synchronization.  This regression was first released in
    4.0.0.  (@jasone)
  - Fix various JSON-formatted malloc_stats_print() bugs.  This functionality
    was first released in 4.3.0.  (@jasone)
  - Fix huge-aligned allocation.  This regression was first released in 4.4.0.
    (@jasone)
  - When transparent huge page integration is enabled, detect what state pages
    start in according to the kernel's current operating mode, and only convert
    arena chunks to non-huge during purging if that is not their initial state.
    This functionality was first released in 4.4.0.  (@jasone)
  - Fix lg_chunk clamping for the --enable-cache-oblivious --disable-fill case.
    This regression was first released in 4.0.0.  (@jasone, @428desmo)
  - Properly detect sparc64 when building for Linux.  (@glaubitz)

* 4.4.0 (December 3, 2016)

  New features:
+15 −9
Original line number Diff line number Diff line
@@ -157,6 +157,13 @@ any of the following arguments (not a definitive list) to 'configure':
    released in bulk, thus reducing the total number of mutex operations.  See
    the "opt.tcache" option for usage details.

--disable-thp
    Disable transparent huge page (THP) integration.  On systems with THP
    support, THPs are explicitly disabled as a side effect of unused dirty page
    purging for chunks that back small and/or large allocations, because such
    chunks typically comprise active, unused dirty, and untouched clean
    pages.

--disable-munmap
    Disable virtual memory deallocation via munmap(2); instead keep track of
    the virtual memory for later use.  munmap() is disabled by default (i.e.
@@ -306,17 +313,16 @@ The following environment variables (not a definitive list) impact configure's
behavior:

CFLAGS="?"
    Pass these flags to the compiler.  You probably shouldn't define this unless
    you know what you are doing.  (Use EXTRA_CFLAGS instead.)
    Pass these flags to the C compiler.  Any flags set by the configure script
    are prepended, which means explicitly set flags generally take precedence.
    Take care when specifying flags such as -Werror, because configure tests may
    be affected in undesirable ways.

EXTRA_CFLAGS="?"
    Append these flags to CFLAGS.  This makes it possible to add flags such as
    -Werror, while allowing the configure script to determine what other flags
    are appropriate for the specified configuration.

    The configure script specifically checks whether an optimization flag (-O*)
    is specified in EXTRA_CFLAGS, and refrains from specifying an optimization
    level if it finds that one has already been specified.
    Append these flags to CFLAGS, without passing them to the compiler during
    configuration.  This makes it possible to add flags such as -Werror, while
    allowing the configure script to determine what other flags are appropriate
    for the specified configuration.

CPPFLAGS="?"
    Pass these flags to the C preprocessor.  Note that CFLAGS is not passed to
Loading