From 27d929f338a7da875a734920f473e04562c5bfc3 Mon Sep 17 00:00:00 2001 From: Daan Leijen Date: Wed, 18 Dec 2024 23:55:37 -0800 Subject: [PATCH] add support for arm64ec --- bin/mimalloc-redirect-arm64.dll | Bin 53760 -> 55296 bytes bin/mimalloc-redirect-arm64ec.dll | Bin 0 -> 100864 bytes bin/mimalloc-redirect-arm64ec.lib | Bin 0 -> 3308 bytes bin/mimalloc-redirect.dll | Bin 70656 -> 54272 bytes bin/mimalloc-redirect.lib | Bin 2874 -> 2874 bytes bin/mimalloc-redirect32.dll | Bin 48128 -> 35840 bytes bin/mimalloc-redirect32.lib | Bin 2928 -> 2928 bytes ide/vs2022/mimalloc-override-test.vcxproj | 82 ++++++++++++++++ ide/vs2022/mimalloc-override.vcxproj | 107 ++++++++++++++++++++ ide/vs2022/mimalloc-test-api.vcxproj | 65 +++++++++++++ ide/vs2022/mimalloc-test-stress.vcxproj | 65 +++++++++++++ ide/vs2022/mimalloc-test.vcxproj | 64 ++++++++++++ ide/vs2022/mimalloc.sln | 28 +++++- ide/vs2022/mimalloc.vcxproj | 113 ++++++++++++++++++++++ test/main-override.cpp | 3 + 15 files changed, 526 insertions(+), 1 deletion(-) create mode 100644 bin/mimalloc-redirect-arm64ec.dll create mode 100644 bin/mimalloc-redirect-arm64ec.lib diff --git a/bin/mimalloc-redirect-arm64.dll b/bin/mimalloc-redirect-arm64.dll index 2b1d3e355ccd3bb8aa3442f90f3490a3a4a167f0..98268796c03f790362d628c25ab684a96a6b4fd4 100644 GIT binary patch delta 8358 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 literal 0 HcmV?d00001 diff --git a/bin/mimalloc-redirect-arm64ec.lib b/bin/mimalloc-redirect-arm64ec.lib new file mode 100644 index 0000000000000000000000000000000000000000..1c7c368fc6ae255df671dd2ca96ae9e66ef76659 GIT binary patch literal 3308 zcmc&$&1(}u6n{xtTVs*<0iIeS7OX;>G)-a)rEI@wOVg$#DcI9=n_cZf(v)qg0S{7I zdJyrS5Ij`yA}C%;LA=zf$BHNM*n=nq1${F+v)N5{lP*XdNM`0YZ+3p~&HI?^!?K=V z9SKIl_SV~PpNm#6uB&S$HdZA9DKpwcMf1W1PP)CTrSCB z=)%DzJWt3`T!Qd{ANy{=M1!rfVbI=$D0UY9lera6 z&CJj8bz6rSjb>_0WVB(s00D5vjAaN>#0GKj~DnfD7wm3HUT2=DH1H{ih8GH7)SaQ(JnaZ9Y9*$IwKAI{4 zIC-3c>(*xRxB-Dvk9#X7yr&*_MxJyUZ|Fo?uEpJJsimsy{i7^`-JXI4WF XtR87whiT+A?aWHNLcCEkb_M?eX{j9D literal 0 HcmV?d00001 diff --git a/bin/mimalloc-redirect.dll b/bin/mimalloc-redirect.dll index 4702fec0175e66168151f1d995a6148a0e69a1eb..5dee3713751104a965b40d13f21bbaac571b99f5 100644 GIT binary patch delta 13047 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 diff --git a/bin/mimalloc-redirect.lib b/bin/mimalloc-redirect.lib index 7d5f19cee2052225b3f95447945c4b937371c055..851455a50a661f904b6a977f203e77a6e04d9958 100644 GIT binary patch delta 100 zcmdlbwo7b-1Pe>dy|ZU0%dqTV(PC(Bo1Dd=Joz_^15?saGKI(E2rZK&ktjU1g!01|H^egFUf delta 100 zcmdlbwo7b-1Pe<;VeF5|GAuh-G#R{GCueaePyWr~z~tS!*_Kt8k!2#E^XtiZY!eW& kog6$s*~zx7Qj>kzV_7x@#9p7gjvcOD8!EYZBS$9_0B67-?*IS* diff --git a/bin/mimalloc-redirect32.dll b/bin/mimalloc-redirect32.dll index 17c0555027cd73317e893549e9831235c35d4d83..1bb909e199e55ff9212e913471866c86e0a9bf59 100644 GIT binary patch delta 11168 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 b&O-=^=4o>X8V?k|RypZ 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 diff --git a/bin/mimalloc-redirect32.lib b/bin/mimalloc-redirect32.lib index a7100afcbe011e36358bedf663a5e77a7bdae736..45d7297d8ebd45aee3b18c8a0bc71a691ec862d7 100644 GIT binary patch delta 118 zcmew$_Caie84C-q{=@^5typ%kXfZUmP1a&ppDfR6$JE@mIiA&!kuzxNw&zC~7#Nr) z+p|bd-ojP{Q>G78GC7`AYH}%iENAa+`AZL>s>~(}a@50ANl#wS!2wmd`7*~`CIFm& BByj)$ delta 118 zcmew$_Caie84JryC+YK(typ%kXfk-WPS#>qpDfR6$K>6*IiA&!k<&tj_194b1_q|d z_AJtqx3Cq#l<5PNOpa%jnq0~r%Xuc!`Nc!1DznLg9Q80&(v#P7a6naVzRWR~2>=MW BA`Som diff --git a/ide/vs2022/mimalloc-override-test.vcxproj b/ide/vs2022/mimalloc-override-test.vcxproj index ff5d53d0..97803b9c 100644 --- a/ide/vs2022/mimalloc-override-test.vcxproj +++ b/ide/vs2022/mimalloc-override-test.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -55,6 +63,11 @@ true v143 + + Application + true + v143 + Application false @@ -67,6 +80,12 @@ v143 true + + Application + false + v143 + true + @@ -84,12 +103,18 @@ + + + + + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -107,6 +132,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -115,6 +144,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + Level3 @@ -185,6 +218,30 @@ + + + Level3 + Disabled + true + true + ..\..\include + MultiThreadedDebugDLL + Sync + Default + false + + + Console + + + kernel32.lib;%(AdditionalDependencies) + + + + + + + Level3 @@ -258,6 +315,31 @@ + + + Level3 + MaxSpeed + true + true + true + true + ..\..\include + _MBCS;%(PreprocessorDefinitions);NDEBUG + MultiThreadedDLL + + + true + true + Console + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + diff --git a/ide/vs2022/mimalloc-override.vcxproj b/ide/vs2022/mimalloc-override.vcxproj index 16a48740..9de18895 100644 --- a/ide/vs2022/mimalloc-override.vcxproj +++ b/ide/vs2022/mimalloc-override.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -54,6 +62,11 @@ true v143 + + DynamicLibrary + true + v143 + DynamicLibrary false @@ -64,6 +77,11 @@ false v143 + + DynamicLibrary + false + v143 + @@ -81,12 +99,18 @@ + + + + + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -112,6 +136,12 @@ .dll mimalloc-override + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + .dll + mimalloc-override + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -124,6 +154,12 @@ .dll mimalloc-override + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + .dll + mimalloc-override + Level3 @@ -208,6 +244,34 @@ copy mimalloc-redirect-arm64.dll to the output directory + + + Level3 + Disabled + true + true + ../../include + MI_DEBUG=4;MI_SHARED_LIB;MI_SHARED_LIB_EXPORT;MI_MALLOC_OVERRIDE;%(PreprocessorDefinitions); + MultiThreadedDebugDLL + false + CompileAsCpp + + + $(ProjectDir)\..\..\bin\mimalloc-redirect-arm64ec.lib;%(AdditionalDependencies) + + + + + Default + false + + + COPY /Y "$(ProjectDir)..\..\bin\mimalloc-redirect-arm64ec.dll" "$(OutputPath)" + + + copy mimalloc-redirect-arm64ec.dll to the output directory + + Level3 @@ -305,6 +369,39 @@ copy mimalloc-redirect-arm64.dll to the output directory + + + Level3 + MaxSpeed + true + true + true + ../../include + MI_SHARED_LIB;MI_SHARED_LIB_EXPORT;MI_MALLOC_OVERRIDE;%(PreprocessorDefinitions);NDEBUG + AssemblyAndSourceCode + $(IntDir) + false + MultiThreadedDLL + CompileAsCpp + false + CPUExtensionRequirementsARMv81 + + + true + true + $(ProjectDir)\..\..\bin\mimalloc-redirect-arm64ec.lib;%(AdditionalDependencies) + + + Default + false + + + COPY /Y "$(ProjectDir)..\..\bin\mimalloc-redirect-arm64ec.dll" "$(OutputPath)" + + + copy mimalloc-redirect-arm64ec.dll to the output directory + + @@ -324,16 +421,20 @@ false false false + false false false + false true true true true + true true true + true @@ -342,8 +443,10 @@ true true true + true true true + true @@ -356,8 +459,10 @@ true true true + true true true + true @@ -366,8 +471,10 @@ true true true + true true true + true diff --git a/ide/vs2022/mimalloc-test-api.vcxproj b/ide/vs2022/mimalloc-test-api.vcxproj index babe7f96..27247569 100644 --- a/ide/vs2022/mimalloc-test-api.vcxproj +++ b/ide/vs2022/mimalloc-test-api.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -55,6 +63,11 @@ true v143 + + Application + true + v143 + Application false @@ -67,6 +80,12 @@ v143 true + + Application + false + v143 + true + @@ -84,12 +103,18 @@ + + + + + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -107,6 +132,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -115,6 +144,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + Level3 @@ -151,6 +184,18 @@ Console + + + Level3 + Disabled + true + true + ..\..\include + + + Console + + Level3 @@ -202,18 +247,38 @@ Console + + + Level3 + MaxSpeed + true + true + true + true + ..\..\include + %(PreprocessorDefinitions);NDEBUG + + + true + true + Console + + true true true true + true true true + true false false + false diff --git a/ide/vs2022/mimalloc-test-stress.vcxproj b/ide/vs2022/mimalloc-test-stress.vcxproj index c033aaeb..fd88cd8e 100644 --- a/ide/vs2022/mimalloc-test-stress.vcxproj +++ b/ide/vs2022/mimalloc-test-stress.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -55,6 +63,11 @@ true v143 + + Application + true + v143 + Application false @@ -67,6 +80,12 @@ v143 true + + Application + false + v143 + true + @@ -84,12 +103,18 @@ + + + + + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -107,6 +132,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -115,6 +144,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + Level3 @@ -151,6 +184,18 @@ Console + + + Level3 + Disabled + true + true + ..\..\include + + + Console + + Level3 @@ -203,14 +248,34 @@ Console + + + Level3 + MaxSpeed + true + true + true + true + ..\..\include + %(PreprocessorDefinitions);NDEBUG + CPUExtensionRequirementsARMv81 + + + true + true + Console + + false false false + false false false false + false diff --git a/ide/vs2022/mimalloc-test.vcxproj b/ide/vs2022/mimalloc-test.vcxproj index bfd72287..fc9e9102 100644 --- a/ide/vs2022/mimalloc-test.vcxproj +++ b/ide/vs2022/mimalloc-test.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -55,6 +63,11 @@ true v143 + + Application + true + v143 + Application false @@ -67,6 +80,12 @@ v143 true + + Application + false + v143 + true + @@ -84,12 +103,18 @@ + + + + + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -107,6 +132,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -115,6 +144,10 @@ $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + + $(ProjectDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(ProjectDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + Level3 @@ -154,6 +187,19 @@ Console + + + Level3 + Disabled + true + true + ..\..\include + stdcpp17 + + + Console + + Level3 @@ -208,6 +254,24 @@ Console + + + Level3 + MaxSpeed + true + true + true + true + ..\..\include + _MBCS;%(PreprocessorDefinitions);NDEBUG + stdcpp17 + + + true + true + Console + + {abb5eae7-b3e6-432e-b636-333449892ea6} diff --git a/ide/vs2022/mimalloc.sln b/ide/vs2022/mimalloc.sln index e4a6538b..5a55c98b 100644 --- a/ide/vs2022/mimalloc.sln +++ b/ide/vs2022/mimalloc.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.12.35527.113 d17.12 +VisualStudioVersion = 17.12.35527.113 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mimalloc", "mimalloc.vcxproj", "{ABB5EAE7-B3E6-432E-B636-333449892EA6}" EndProject @@ -18,81 +18,107 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 + Debug|ARM64EC = Debug|ARM64EC Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|ARM64 = Release|ARM64 + Release|ARM64EC = Release|ARM64EC Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|ARM64.ActiveCfg = Debug|ARM64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|ARM64.Build.0 = Debug|ARM64 + {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|x64.ActiveCfg = Debug|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|x64.Build.0 = Debug|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|x86.ActiveCfg = Debug|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Debug|x86.Build.0 = Debug|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|ARM64.ActiveCfg = Release|ARM64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|ARM64.Build.0 = Release|ARM64 + {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|ARM64EC.Build.0 = Release|ARM64EC {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|x64.ActiveCfg = Release|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|x64.Build.0 = Release|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|x86.ActiveCfg = Release|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA6}.Release|x86.Build.0 = Release|Win32 {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.Build.0 = Debug|ARM64 + {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|x64.ActiveCfg = Debug|x64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|x64.Build.0 = Debug|x64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|x86.ActiveCfg = Debug|Win32 {FEF7858F-750E-4C21-A04D-22707CC66878}.Debug|x86.Build.0 = Debug|Win32 {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|ARM64.ActiveCfg = Release|ARM64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|ARM64.Build.0 = Release|ARM64 + {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.Build.0 = Release|ARM64EC {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|x64.ActiveCfg = Release|x64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|x64.Build.0 = Release|x64 {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|x86.ActiveCfg = Release|Win32 {FEF7858F-750E-4C21-A04D-22707CC66878}.Release|x86.Build.0 = Release|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|ARM64.ActiveCfg = Debug|ARM64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|ARM64.Build.0 = Debug|ARM64 + {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|x64.ActiveCfg = Debug|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|x64.Build.0 = Debug|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|x86.ActiveCfg = Debug|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Debug|x86.Build.0 = Debug|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|ARM64.ActiveCfg = Release|ARM64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|ARM64.Build.0 = Release|ARM64 + {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|ARM64EC.Build.0 = Release|ARM64EC {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|x64.ActiveCfg = Release|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|x64.Build.0 = Release|x64 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|x86.ActiveCfg = Release|Win32 {ABB5EAE7-B3E6-432E-B636-333449892EA7}.Release|x86.Build.0 = Release|Win32 {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|ARM64.Build.0 = Debug|ARM64 + {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|x64.ActiveCfg = Debug|x64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|x64.Build.0 = Debug|x64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|x86.ActiveCfg = Debug|Win32 {FEF7868F-750E-4C21-A04D-22707CC66879}.Debug|x86.Build.0 = Debug|Win32 {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|ARM64.ActiveCfg = Release|ARM64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|ARM64.Build.0 = Release|ARM64 + {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|ARM64EC.Build.0 = Release|ARM64EC {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|x64.ActiveCfg = Release|x64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|x64.Build.0 = Release|x64 {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|x86.ActiveCfg = Release|Win32 {FEF7868F-750E-4C21-A04D-22707CC66879}.Release|x86.Build.0 = Release|Win32 {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.Build.0 = Debug|ARM64 + {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|x64.ActiveCfg = Debug|x64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|x64.Build.0 = Debug|x64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|x86.ActiveCfg = Debug|Win32 {FEF7958F-750E-4C21-A04D-22707CC66878}.Debug|x86.Build.0 = Debug|Win32 {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64.ActiveCfg = Release|ARM64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64.Build.0 = Release|ARM64 + {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.Build.0 = Release|ARM64EC {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|x64.ActiveCfg = Release|x64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|x64.Build.0 = Release|x64 {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|x86.ActiveCfg = Release|Win32 {FEF7958F-750E-4C21-A04D-22707CC66878}.Release|x86.Build.0 = Release|Win32 {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.ActiveCfg = Debug|ARM64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64.Build.0 = Debug|ARM64 + {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.ActiveCfg = Debug|ARM64EC + {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|ARM64EC.Build.0 = Debug|ARM64EC {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|x64.ActiveCfg = Debug|x64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|x64.Build.0 = Debug|x64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|x86.ActiveCfg = Debug|Win32 {FFF7958F-750E-4C21-A04D-22707CC66878}.Debug|x86.Build.0 = Debug|Win32 {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64.ActiveCfg = Release|ARM64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64.Build.0 = Release|ARM64 + {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.ActiveCfg = Release|ARM64EC + {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|ARM64EC.Build.0 = Release|ARM64EC {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|x64.ActiveCfg = Release|x64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|x64.Build.0 = Release|x64 {FFF7958F-750E-4C21-A04D-22707CC66878}.Release|x86.ActiveCfg = Release|Win32 diff --git a/ide/vs2022/mimalloc.vcxproj b/ide/vs2022/mimalloc.vcxproj index fb13cd1f..34a9317a 100644 --- a/ide/vs2022/mimalloc.vcxproj +++ b/ide/vs2022/mimalloc.vcxproj @@ -5,6 +5,10 @@ Debug ARM64 + + Debug + ARM64EC + Debug Win32 @@ -13,6 +17,10 @@ Release ARM64 + + Release + ARM64EC + Release Win32 @@ -55,6 +63,11 @@ true v143 + + StaticLibrary + true + v143 + StaticLibrary false @@ -67,6 +80,12 @@ v143 true + + StaticLibrary + false + v143 + true + @@ -84,12 +103,18 @@ + + + + + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ @@ -115,6 +140,12 @@ .lib mimalloc-static + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + .lib + mimalloc-static + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ @@ -127,6 +158,12 @@ .lib mimalloc-static + + $(SolutionDir)..\..\out\msvc-$(Platform)\$(Configuration)\ + $(SolutionDir)..\..\out\msvc-$(Platform)\$(ProjectName)\$(Configuration)\ + .lib + mimalloc-static + Level4 @@ -200,6 +237,33 @@ + + + Level4 + Disabled + true + Default + ../../include + MI_DEBUG=3;MI_GUARDED=0;%(PreprocessorDefinitions); + CompileAsCpp + false + stdcpp20 + + + + + + + + + + + + + + + + Level4 @@ -298,22 +362,62 @@ + + + Level4 + MaxSpeed + true + Default + ../../include + %(PreprocessorDefinitions);NDEBUG + AssemblyAndSourceCode + $(IntDir) + false + false + Default + CompileAsCpp + true + stdcpp20 + CPUExtensionRequirementsARMv81 + Sync + + + true + true + + + + + + + + + + + + + + false false false + false false false false + false true true true true + true true true + true @@ -322,21 +426,26 @@ true true true + true true true + true false false + false true true + true true true true true + true @@ -347,8 +456,10 @@ true true true + true true true + true @@ -356,8 +467,10 @@ true true true + true true true + true diff --git a/test/main-override.cpp b/test/main-override.cpp index 3d56ae42..e7499f2a 100644 --- a/test/main-override.cpp +++ b/test/main-override.cpp @@ -47,6 +47,9 @@ int main() { mi_stats_reset(); // ignore earlier allocations various_tests(); test_mixed1(); + const char* ptr = ::_Getdays(); + free((void*)ptr); + //test_std_string(); //test_thread_local(); // heap_thread_free_huge();