Skip to content

[ci] Add MAUI full R2R android-arm Helix test#12018

Closed
simonrozsival wants to merge 10 commits into
dotnet:mainfrom
simonrozsival:android-add-more-coreclr-testing
Closed

[ci] Add MAUI full R2R android-arm Helix test#12018
simonrozsival wants to merge 10 commits into
dotnet:mainfrom
simonrozsival:android-add-more-coreclr-testing

Conversation

@simonrozsival

Copy link
Copy Markdown
Member

Summary

  • build the MAUI template with CoreCLR full ReadyToRun for android-arm
  • set _MauiPublishReadyToRunPartial=false and assert no partial R2R inputs remain
  • run the APK on the windows.11.amd64.android-armel.open Helix queue

Validation

  • parsed edited YAML files
  • git diff --check
simonrozsival and others added 10 commits July 8, 2026 00:02
Replace CoreCLR LLVM typemap xxHash lookups with CRC32 hashes from System.IO.Compression.Native. Keep collision-safe lookup by comparing the original managed or Java type name after matching the hash.

This is a first step toward removing the CoreCLR xxHash dependency to reduce size while preserving runtime lookup performance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Emit CoreCLR assembly stores with 32-bit CRC32 name hashes and update the CoreCLR native assembly-store lookup to use the shared CRC32 helper.

Keep MonoVM assembly stores on the existing xxHash layout, bump the CoreCLR store format to v4, and update the mk2 store reader to infer index entry width from the header index size.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace CoreCLR runtime property, DSO APK, and DSO/AOT cache xxHash lookups with CRC32 hashes from the shared native CRC32 helper.

Update generated CoreCLR app config, desktop app stub data, and strict generated-layout test parsing for the smaller 32-bit hash fields.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Switch the CoreCLR dynamic p/invoke override and generated find_pinvoke tables to 32-bit CRC32 hashes.

Keep the precompiled p/invoke table on the existing xxHash layout while removing xxHash from the shared p/invoke override header and fallback cache path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Switch the CoreCLR precompiled p/invoke override table and generator to 32-bit CRC32 hashes.

This removes the remaining CoreCLR p/invoke override dependency on xxHash while keeping the table collision check in the generator.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the common Search helper generic-only and move the xxHash-specific overloads to a MonoVM-only search-xxhash.hh wrapper.

This prevents CoreCLR native code from including shared/xxhash.hh through the common search helper while preserving MonoVM's existing hash_t search callsites.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Stop adding external/xxHash and constexpr-xxh3 include paths to CoreCLR native targets now that CoreCLR no longer includes shared/xxhash.hh.

Keep the xxHash include support available for MonoVM and NativeAOT paths that still use it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Introduce a CoreCLR-local hash_t alias to uint32_t in the CRC32 helper and use it for CoreCLR hash fields, lookup signatures, and generated p/invoke tables.

This keeps the code readable without reintroducing the shared xxHash wrapper or changing MonoVM's hash_t layout.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a compile-time crc32_hash overload for string literals and use it in CoreCLR generated/default tables instead of hardcoded hex hash values.

This keeps the generated p/invoke table and app stub self-documenting while preserving the runtime CRC32 helper for dynamic strings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Build the MAUI template with CoreCLR full ReadyToRun for android-arm, disable MAUI partial R2R with _MauiPublishReadyToRunPartial=false, and run the APK on the windows.11.amd64.android-armel.open Helix queue.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@simonrozsival

Copy link
Copy Markdown
Member Author

Closing in favor of a recreated PR from a clean branch on dotnet/android.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant