diff --git a/.github/workflows/build-toolchain.yml b/.github/workflows/build-toolchain.yml
index 04211da6..9d876343 100644
--- a/.github/workflows/build-toolchain.yml
+++ b/.github/workflows/build-toolchain.yml
@@ -227,14 +227,14 @@ jobs:
branch_name="release/$branch_version_string"
fi
- repo init --quiet --groups default --depth 1 -u https://github.com/compnerd/swift-build -b $branch_name
+ repo init --quiet --groups default --depth 1 -u https://github.com/compnerd/swift-build -b hiroshi/mimallocarm64
repo sync --quiet --no-clone-bundle --no-tags --jobs $(nproc --all)
if [[ "${{ inputs.swift_tag }}" != "" ]] ; then
tee -a "${GITHUB_OUTPUT}" <<-EOF
indexstore_db_revision=refs/tags/${{ inputs.swift_tag }}
llvm_project_revision=refs/tags/${{ inputs.swift_tag }}
- mimalloc_revision=refs/tags/v2.1.7
+ mimalloc_revision=refs/tags/v3.0.1
sourcekit_lsp_revision=refs/tags/${{ inputs.swift_tag }}
swift_revision=refs/tags/${{ inputs.swift_tag }}
swift_argument_parser_revision=refs/tags/1.4.0
diff --git a/.github/workflows/swift-toolchain.yml b/.github/workflows/swift-toolchain.yml
index b06e4db7..71df4f2c 100644
--- a/.github/workflows/swift-toolchain.yml
+++ b/.github/workflows/swift-toolchain.yml
@@ -3430,21 +3430,21 @@ jobs:
}
- uses: actions/checkout@v4
- if: matrix.arch == 'amd64'
with:
repository: microsoft/mimalloc
ref: ${{ inputs.mimalloc_revision }}
path: ${{ github.workspace }}/SourceCache/mimalloc
- name: Build and apply mimalloc
- if: matrix.arch == 'amd64'
run: |
+ $Arch = if ("${{ matrix.arch }}" -eq "amd64") { "x64" } else { "arm64" }
+ $ArchSuffix = if ("${{ matrix.arch }}" -eq "amd64") { "" } else { "-arm64" }
# Reference: https://github.com/microsoft/mimalloc/tree/dev/bin#minject
- msbuild ${{ github.workspace }}\SourceCache\mimalloc\ide\vs2022\mimalloc.sln -p:Configuration=Release
+ msbuild ${{ github.workspace }}\SourceCache\mimalloc\ide\vs2022\mimalloc.sln -p:Configuration=Release -p:Platform=$Arch
$ToolchainBin = "${{ github.workspace }}\BuildRoot\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin"
- Copy-Item -Path "${{ github.workspace }}\SourceCache\mimalloc\out\msvc-x64\Release\mimalloc-override.dll" `
+ Copy-Item -Path "${{ github.workspace }}\SourceCache\mimalloc\out\msvc-$Arch\Release\mimalloc.dll" `
-Destination "$ToolchainBin"
- Copy-Item -Path "${{ github.workspace }}\SourceCache\mimalloc\out\msvc-x64\Release\mimalloc-redirect.dll" `
+ Copy-Item -Path "${{ github.workspace }}\SourceCache\mimalloc\out\msvc-$Arch\Release\mimalloc-redirect$ArchSuffix.dll" `
-Destination "$ToolchainBin"
$MimallocExecutables = @("swift.exe",
"swiftc.exe",
@@ -3459,9 +3459,9 @@ jobs:
"ld64.lld.exe")
foreach ($Exe in $MimallocExecutables) {
# Binary-patch in place
- ${{ github.workspace }}\SourceCache\mimalloc\bin\minject -f -i -v "$ToolchainBin\$Exe"
+ & "${{ github.workspace }}\SourceCache\mimalloc\bin\minject$ArchSuffix.exe" -f -i -v "$ToolchainBin\$Exe"
# Log the import table
- ${{ github.workspace }}\SourceCache\mimalloc\bin\minject -l "$ToolchainBin\$Exe"
+ & "${{ github.workspace }}\SourceCache\mimalloc\bin\minject$ArchSuffix.exe" -l "$ToolchainBin\$Exe"
}
- name: Package Build Tools
@@ -3473,7 +3473,7 @@ jobs:
-p:CERTIFICATE=${env:CERTIFICATE} `
-p:PASSPHRASE=${{ secrets.PASSPHRASE }} `
-p:TOOLCHAIN_ROOT=${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain `
- -p:ENABLE_MIMALLOC=${{ matrix.arch == 'amd64' && 'true' || 'false' }} `
+ -p:ENABLE_MIMALLOC=true `
-p:ProductArchitecture=${{ matrix.arch }} `
-p:ProductVersion=${{ inputs.swift_version }} `
${{ github.workspace }}/SourceCache/swift-installer-scripts/platforms/Windows/bld/bld.wixproj
diff --git a/default.xml b/default.xml
index 44ce0437..2376f51e 100644
--- a/default.xml
+++ b/default.xml
@@ -30,7 +30,7 @@
-
+
@@ -63,7 +63,7 @@
-
+