merge from dev

This commit is contained in:
Daan 2025-06-09 19:21:26 -07:00
commit b0958d81fa
6 changed files with 20 additions and 12 deletions

View file

@ -130,7 +130,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|x64|amd64|AMD64)$" OR CMAKE_GENE
set(MI_ARCH "x64") set(MI_ARCH "x64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv[89].?|ARM64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR "arm64" IN_LIST CMAKE_OSX_ARCHITECTURES) elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv[89].?|ARM64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR "arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
set(MI_ARCH "arm64") set(MI_ARCH "arm64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|armv[34567]|ARM)$") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|armv[34567].?|ARM)$")
set(MI_ARCH "arm32") set(MI_ARCH "arm32")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv|riscv32|riscv64)$") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv|riscv32|riscv64)$")
if(CMAKE_SIZEOF_VOID_P==4) if(CMAKE_SIZEOF_VOID_P==4)

View file

@ -1,5 +1,5 @@
set(mi_version_major 3) set(mi_version_major 3)
set(mi_version_minor 0) set(mi_version_minor 1)
set(mi_version_patch 4) set(mi_version_patch 4)
set(mi_version ${mi_version_major}.${mi_version_minor}) set(mi_version ${mi_version_major}.${mi_version_minor})

View file

@ -4,8 +4,8 @@ vcpkg_from_github(
HEAD_REF master HEAD_REF master
# The "REF" can be a commit hash, branch name (dev2), or a version (v2.2.1). # The "REF" can be a commit hash, branch name (dev2), or a version (v2.2.1).
# REF "v${VERSION}" REF "v${VERSION}"
REF 6a89f8554eaab8d8d00e17b5b09f79e1d8dbf61b # REF 6a89f8554eaab8d8d00e17b5b09f79e1d8dbf61b
# The sha512 is the hash of the tar.gz bundle. # The sha512 is the hash of the tar.gz bundle.
# (To get the sha512, run `vcpkg install mimalloc[override] --overlay-ports=<dir of this file>` and copy the sha from the error message.) # (To get the sha512, run `vcpkg install mimalloc[override] --overlay-ports=<dir of this file>` and copy the sha from the error message.)
@ -19,6 +19,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
secure MI_SECURE secure MI_SECURE
override MI_OVERRIDE override MI_OVERRIDE
optarch MI_OPT_ARCH optarch MI_OPT_ARCH
nooptarch MI_NO_OPT_ARCH
optsimd MI_OPT_SIMD optsimd MI_OPT_SIMD
xmalloc MI_XMALLOC xmalloc MI_XMALLOC
asm MI_SEE_ASM asm MI_SEE_ASM

View file

@ -1,6 +1,6 @@
{ {
"name": "mimalloc", "name": "mimalloc",
"version": "3.0.2", "version": "3.1.4",
"port-version": 2, "port-version": 2,
"description": "Compact general purpose allocator with excellent performance", "description": "Compact general purpose allocator with excellent performance",
"homepage": "https://github.com/microsoft/mimalloc", "homepage": "https://github.com/microsoft/mimalloc",
@ -35,6 +35,9 @@
"optarch": { "optarch": {
"description": "Use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')" "description": "Use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')"
}, },
"nooptarch": {
"description": "Do _not_ use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')"
},
"optsimd": { "optsimd": {
"description": "Allow use of SIMD instructions (avx2 or neon) (requires 'optarch' to be enabled)" "description": "Allow use of SIMD instructions (avx2 or neon) (requires 'optarch' to be enabled)"
}, },

View file

@ -8,7 +8,7 @@ terms of the MIT license. A copy of the license can be found in the file
#ifndef MIMALLOC_H #ifndef MIMALLOC_H
#define MIMALLOC_H #define MIMALLOC_H
#define MI_MALLOC_VERSION 304 // major + 2 digits minor #define MI_MALLOC_VERSION 314 // major + 2 digits minor
// ------------------------------------------------------ // ------------------------------------------------------
// Compiler specific attributes // Compiler specific attributes

View file

@ -12,9 +12,9 @@ is a general purpose allocator with excellent [performance](#performance) charac
Initially developed by Daan Leijen for the runtime systems of the Initially developed by Daan Leijen for the runtime systems of the
[Koka](https://koka-lang.github.io) and [Lean](https://github.com/leanprover/lean) languages. [Koka](https://koka-lang.github.io) and [Lean](https://github.com/leanprover/lean) languages.
Latest release : `v3.0.3` (beta) (2025-03-28). Latest release : `v3.1.4` (beta) (2025-06-09).
Latest v2 release: `v2.2.3` (2025-03-28). Latest v2 release: `v2.2.4` (2025-06-09).
Latest v1 release: `v1.9.3` (2024-03-28). Latest v1 release: `v1.9.4` (2024-06-09).
mimalloc is a drop-in replacement for `malloc` and can be used in other programs mimalloc is a drop-in replacement for `malloc` and can be used in other programs
without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as: without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
@ -77,12 +77,16 @@ Enjoy!
* `dev2`: development branch for mimalloc v2. This branch is downstream of `dev` * `dev2`: development branch for mimalloc v2. This branch is downstream of `dev`
(and is essentially equal to `dev` except for `src/segment.c`). Uses larger sliced segments to manage (and is essentially equal to `dev` except for `src/segment.c`). Uses larger sliced segments to manage
mimalloc pages that can reduce fragmentation. mimalloc pages that can reduce fragmentation.
* `dev3`: development branch for mimalloc v3-beta. This branch is downstream of `dev`. This version * `dev3`: development branch for mimalloc v3 beta. This branch is downstream of `dev`. This version
simplifies the lock-free ownership of previous versions, has no thread-local segments any more. simplifies the lock-free ownership of previous versions, and improves sharing of memory between
This improves sharing of memory between threads, and on certain large workloads may use (much) less memory. threads. On certain large workloads this version may use (much) less memory.
### Releases ### Releases
* 2025-06-09, `v1.9.4`, `v2.2.4`, `v3.1.4` (beta) : Some important bug fixes, including a case where OS memory
was not always fully released. Improved v3 performance, build on XBox, fix build on Android, support interpose
for older macOS versions, use MADV_FREE_REUSABLE on macOS, always check commit success, better support for Windows
fixed TLS offset, etc.
* 2025-03-28, `v1.9.3`, `v2.2.3`, `v3.0.3` (beta) : Various small bug and build fixes, including: * 2025-03-28, `v1.9.3`, `v2.2.3`, `v3.0.3` (beta) : Various small bug and build fixes, including:
fix arm32 pre v7 builds, fix mingw build, get runtime statistics, improve statistic commit counts, fix arm32 pre v7 builds, fix mingw build, get runtime statistics, improve statistic commit counts,
fix execution on non BMI1 x64 systems. fix execution on non BMI1 x64 systems.