From cc712668f0c357a4056e28fd435d1359e3c9a48b Mon Sep 17 00:00:00 2001 From: Kenta Iwasaki Date: Wed, 24 Nov 2021 21:05:15 +0000 Subject: mimalloc: patch malloc/free --- Makefile | 13 ++++++++++++- build.zig | 29 +++++++++++++++++++++++------ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 08497583b..1c9e691f9 100644 --- a/Makefile +++ b/Makefile @@ -818,7 +818,13 @@ PICOHTTP_BUILD_FLAGS = \ CLAP_BUILD_FLAGS = --pkg-begin clap $(DEPS_DIR)/zig-clap/clap.zig --pkg-end -MIMALLOC_BUILD_FLAGS = \ +MIMALLOC_BUILD_FLAGS = -cflags -DMI_ALLOC_OVERRIDE + +ifeq ($(OS_NAME), darwin) +MIMALLOC_BUILD_FLAGS += -DMI_OSX_ZONE=1 +endif + +MIMALLOC_BUILD_FLAGS += -- \ -I src/deps/mimalloc/include \ src/deps/mimalloc/src/stats.c \ src/deps/mimalloc/src/random.c \ @@ -835,6 +841,11 @@ MIMALLOC_BUILD_FLAGS = \ src/deps/mimalloc/src/options.c \ src/deps/mimalloc/src/init.c +ifeq ($(OS_NAME), darwin) +MIMALLOC_BUILD_FLAGS += \ + src/deps/mimalloc/src/alloc-override-osx.c +endif + build-unit: @rm -rf zig-out/bin/$(testname) @mkdir -p zig-out/bin diff --git a/build.zig b/build.zig index c0b59110d..7d4305ae8 100644 --- a/build.zig +++ b/build.zig @@ -8,8 +8,10 @@ pub fn addPicoHTTP(step: *std.build.LibExeObjStep) void { } pub fn addMimalloc(step: *std.build.LibExeObjStep) void { - step.addIncludeDir("src/deps/mimalloc/include"); - step.addCSourceFiles(&.{ + var source_files = std.ArrayList([]const u8).init(step.builder.allocator); + defer source_files.deinit(); + + inline for (.{ "src/deps/mimalloc/src/stats.c", "src/deps/mimalloc/src/random.c", "src/deps/mimalloc/src/os.c", @@ -24,7 +26,22 @@ pub fn addMimalloc(step: *std.build.LibExeObjStep) void { "src/deps/mimalloc/src/heap.c", "src/deps/mimalloc/src/options.c", "src/deps/mimalloc/src/init.c", - }, &.{}); + }) |source_file| { + source_files.append(source_file) catch unreachable; + } + + var source_flags = std.ArrayList([]const u8).init(step.builder.allocator); + defer source_flags.deinit(); + + source_flags.append("-DMI_ALLOC_OVERRIDE") catch unreachable; + + if (step.target.getOsTag().isDarwin()) { + source_files.append("src/deps/mimalloc/src/alloc-override-osx.c") catch unreachable; + source_flags.append("-DMI_OSX_ZONE=1") catch unreachable; + } + + step.addIncludeDir("src/deps/mimalloc/include"); + step.addCSourceFiles(source_files.items, source_flags.items); } fn panicIfNotFound(comptime filepath: []const u8) []const u8 { @@ -323,10 +340,10 @@ pub fn build(b: *std.build.Builder) !void { { headers_obj.setTarget(target); - headers_obj.addPackagePath("clap", "src/deps/zig-clap/clap.zig"); - - headers_obj.setOutputDir(output_dir); headers_obj.setBuildMode(mode); + headers_obj.setOutputDir(output_dir); + + headers_obj.addPackagePath("clap", "src/deps/zig-clap/clap.zig"); headers_obj.linkLibC(); headers_obj.linkLibCpp(); headers_obj.bundle_compiler_rt = true; -- cgit v1.2.3 async-iter Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/scripts/get-revision.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-04-28bundler tests: rest of default.test.ts and starting jsx tests (#2765)Gravatar dave caruso 40-776/+1399
2023-04-28fix several memory issues related to pluginsGravatar Jarred Sumner 2-23/+27
2023-04-28cargo cult some code from JSCGravatar Jarred Sumner 2-6/+7
2023-04-28Fix race conditionGravatar Jarred Sumner 2-2/+50
2023-04-28Update bun-test.ymlGravatar Jarred Sumner 1-1/+1
2023-04-28move thisGravatar Jarred Sumner 4-1/+1
2023-04-28Add a commentGravatar Jarred Sumner 1-19/+54
2023-04-28Improve test runner markdownGravatar Ashcon Partovi 2-67/+107
2023-04-28[resolver] Propagate module type from package.json `"exports"` when possibleGravatar Jarred Sumner 2-5/+33
2023-04-28Fix crash with invalid input in fetch()Gravatar Jarred Sumner 1-2/+14
2023-04-28Improves Body.Value life cycle and Signal life cycle on server.zig (#2752)Gravatar Ciro Spaciari 12-227/+331
2023-04-28Use global allocator tsconfig.jsonGravatar Jarred Sumner 1-3/+6
2023-04-28Use setup-bun insteadGravatar Ashcon Partovi 1-12/+15
2023-04-28Fix path of bun in workflow, try 3Gravatar Ashcon Partovi 1-1/+1
2023-04-28Fix path of bun in workflow, try 2Gravatar Ashcon Partovi 1-2/+1
2023-04-28Fix path of bun in workflowGravatar Ashcon Partovi 1-1/+2
2023-04-28Use GITHUB_PATH instead of cpGravatar Ashcon Partovi 1-1/+1
2023-04-28Maybe fix test runner on macOSGravatar Ashcon Partovi 1-2/+2
2023-04-28Improve test workflowGravatar Ashcon Partovi 3-39/+56
2023-04-28Fix typo in runnerGravatar Ashcon Partovi 1-1/+1
2023-04-28Use bun x instead of bunxGravatar Ashcon Partovi 1-1/+1
2023-04-28Fix manual test workflowGravatar Ashcon Partovi 1-2/+1
2023-04-28Use Node.js APIs for test runnerGravatar Ashcon Partovi 3-17/+28
2023-04-28New test runner with better Github integrationGravatar Ashcon Partovi 2-20/+634
2023-04-28Bundler docs updates + support for `naming` string (#2767)Gravatar Colin McDonnell 5-252/+394
2023-04-27address unicode issue (#2763)Gravatar Jarred Sumner 3-19/+17
2023-04-27:nail_care:Gravatar Jarred Sumner 2-15/+4
2023-04-27fix: make node:crypto Hash.copy work correctly (#2761)Gravatar Silver 12-8941/+7815
2023-04-27Add TODO noteGravatar Jarred Sumner 1-0/+2
2023-04-27Fix mimalloc-debugGravatar Jarred Sumner 1-3/+3
2023-04-27Remove extra word in docs/index.md (#2758)Gravatar B. Burt 1-1/+1
2023-04-27Implement `outdir` in `Bun.build`Gravatar Jarred Sumner 8-26/+362
2023-04-27Don't preallocate unless its profitableGravatar Jarred Sumner 5-40/+45