From e3511530b5c77aeb20551e648bd8b48c1e1ab42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 11:55:45 -0500 Subject: [PATCH 1/8] chore: Apply patch from https://github.com/dotnet/runtime/pull/111318 --- patches/0016-pr111318.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 patches/0016-pr111318.patch diff --git a/patches/0016-pr111318.patch b/patches/0016-pr111318.patch new file mode 100644 index 0000000..ee72110 --- /dev/null +++ b/patches/0016-pr111318.patch @@ -0,0 +1,15 @@ +diff --git a/src/mono/mono/mini/mini.c b/src/mono/mono/mini/mini.c +index 63d89b3f28a56..592b5488cd1f2 100644 +--- a/src/mono/mono/mini/mini.c ++++ b/src/mono/mono/mini/mini.c +@@ -3331,8 +3331,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, JitFlags flags, int parts + MonoExceptionClause *clause1 = &cfg->header->clauses [i]; + MonoExceptionClause *clause2 = &cfg->header->clauses [j]; + +- if (i != j && clause1->try_offset >= clause2->try_offset && clause1->handler_offset <= clause2->handler_offset) { +- if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags != MONO_EXCEPTION_CLAUSE_NONE) { ++ if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags == MONO_EXCEPTION_CLAUSE_FINALLY) { ++ if (clause1->try_offset >= clause2->handler_offset && clause1->try_offset <= (clause2->handler_offset + clause2->handler_len)) { + can_deopt = FALSE; + break; + } \ No newline at end of file From 80c26342f2c920715af6e2e6c665fb6f4af180b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:05:58 -0500 Subject: [PATCH 2/8] ci: Update artifacts steps --- .github/workflows/runtime-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index 009fda9..487d881 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -136,7 +136,7 @@ jobs: cd runtime\artifacts\bin\microsoft.netcore.app.runtime.browser-wasm\$env:BUILD_CONFIGURATION Compress-Archive -DestinationPath $ARTIFACTS_FOLDER\dotnet-runtime-wasm-windows-$env:CURRENT_COMMIT-$env:BASE_DOTNET_SHORT_COMMIT-${{ github.run_id }}-$env:BUILD_CONFIGURATION$archiveConfiguration.zip -Path * - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 if: ${{ always() }} with: name: wasm @@ -284,7 +284,7 @@ jobs: cd runtime/artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/$BUILD_CONFIGURATION /usr/bin/zip -r $ARTIFACTS_FOLDER/dotnet-runtime-wasm-linux-$CURRENT_COMMIT-$BASE_DOTNET_SHORT_COMMIT-$GITHUB_RUN_ID-$BUILD_CONFIGURATION$ARCHIVE_CONFIGURATION.zip * - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 if: ${{ always() }} with: name: wasm @@ -302,7 +302,7 @@ jobs: steps: - name: Download package - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: wasm From 5e0a5fbd72d599d96df3caa1e497b5f1df0e7f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:14:23 -0500 Subject: [PATCH 3/8] chore: Adjust patch --- patches/0016-pr111318.patch | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/patches/0016-pr111318.patch b/patches/0016-pr111318.patch index ee72110..31ed979 100644 --- a/patches/0016-pr111318.patch +++ b/patches/0016-pr111318.patch @@ -1,15 +1,15 @@ -diff --git a/src/mono/mono/mini/mini.c b/src/mono/mono/mini/mini.c -index 63d89b3f28a56..592b5488cd1f2 100644 ---- a/src/mono/mono/mini/mini.c -+++ b/src/mono/mono/mini/mini.c -@@ -3331,8 +3331,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, JitFlags flags, int parts - MonoExceptionClause *clause1 = &cfg->header->clauses [i]; - MonoExceptionClause *clause2 = &cfg->header->clauses [j]; - -- if (i != j && clause1->try_offset >= clause2->try_offset && clause1->handler_offset <= clause2->handler_offset) { -- if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags != MONO_EXCEPTION_CLAUSE_NONE) { -+ if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags == MONO_EXCEPTION_CLAUSE_FINALLY) { -+ if (clause1->try_offset >= clause2->handler_offset && clause1->try_offset <= (clause2->handler_offset + clause2->handler_len)) { - can_deopt = FALSE; - break; - } \ No newline at end of file +diff --git a/src/mono/mono/mini/mini.c b/src/mono/mono/mini/mini.c +index 63d89b3f28a56..592b5488cd1f2 100644 +--- a/src/mono/mono/mini/mini.c ++++ b/src/mono/mono/mini/mini.c +@@ -3331,8 +3331,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, JitFlags flags, int parts + MonoExceptionClause *clause1 = &cfg->header->clauses [i]; + MonoExceptionClause *clause2 = &cfg->header->clauses [j]; + +- if (i != j && clause1->try_offset >= clause2->try_offset && clause1->handler_offset <= clause2->handler_offset) { +- if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags != MONO_EXCEPTION_CLAUSE_NONE) { ++ if (clause1->flags == MONO_EXCEPTION_CLAUSE_NONE && clause2->flags == MONO_EXCEPTION_CLAUSE_FINALLY) { ++ if (clause1->try_offset >= clause2->handler_offset && clause1->try_offset <= (clause2->handler_offset + clause2->handler_len)) { + can_deopt = FALSE; + break; + } From 35d0886633669392a692c86bd9a548811a312c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:16:22 -0500 Subject: [PATCH 4/8] chore: Adjust ubuntu --- .github/workflows/runtime-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index 487d881..857a14e 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -147,7 +147,7 @@ jobs: ## build_linux_job: if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 container: 'unoplatform/wasm-build:2.3' strategy: @@ -296,7 +296,7 @@ jobs: release_job: if: github.event_name == 'push' needs: [build_linux_job,build_windows_job] - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 environment: name: Release From 904bed95c609926bd88b8cd986c2de8138581cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:17:43 -0500 Subject: [PATCH 5/8] chore: Adjust runners --- .github/workflows/runtime-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index 857a14e..a98f2f2 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -147,7 +147,7 @@ jobs: ## build_linux_job: if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 container: 'unoplatform/wasm-build:2.3' strategy: @@ -296,7 +296,7 @@ jobs: release_job: if: github.event_name == 'push' needs: [build_linux_job,build_windows_job] - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 environment: name: Release From 2a7c093f9beaa6d12a9cb5ecf1b3cadc8eb70aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:19:46 -0500 Subject: [PATCH 6/8] chore: adjust net install --- .github/workflows/runtime-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index a98f2f2..e32bdb0 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -158,7 +158,7 @@ jobs: steps: - name: Setup .NET SDK - uses: actions/setup-dotnet@v1.7.2 + uses: actions/setup-dotnet with: dotnet-version: ${{ env.DOTNETSDK_VERSION }} From 3814c4df81ed22b127db6aa4c84fe15dc5ac0fd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:20:39 -0500 Subject: [PATCH 7/8] chore: Adjust net installer --- .github/workflows/runtime-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index e32bdb0..210b837 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -158,7 +158,7 @@ jobs: steps: - name: Setup .NET SDK - uses: actions/setup-dotnet + uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ env.DOTNETSDK_VERSION }} From 11cf4b5b807e6be7bbf842ab9139e1746eae5b83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 13 Jan 2025 13:22:59 -0500 Subject: [PATCH 8/8] chore: remove container --- .github/workflows/runtime-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/runtime-ci.yml b/.github/workflows/runtime-ci.yml index 210b837..6922949 100644 --- a/.github/workflows/runtime-ci.yml +++ b/.github/workflows/runtime-ci.yml @@ -148,7 +148,6 @@ jobs: build_linux_job: if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') runs-on: ubuntu-20.04 - container: 'unoplatform/wasm-build:2.3' strategy: matrix: