Skip to content

Add CompExactlyDependsOn to some methods so that they are compiled on wasm - #135869

Merged
BrzVlad merged 1 commit into
dotnet:mainfrom
BrzVlad:fix-wasm-comp-packedsimd
Oct 16, 2026
Merged

BrzVlad merged 1 commit into
dotnet:mainfrom
BrzVlad:fix-wasm-comp-packedsimd

Conversation

@BrzVlad

@BrzVlad BrzVlad commented Oct 15, 2026

Copy link
Copy Markdown
Member

A method having multiple CompExactlyDependsOn attributes with various instruction sets is compiled only if at least one of these instruction sets is supported (in addition to the requirement of all ISAs to be deterministically supported or unsupported at run time). CompHasFallback serves the purpose of still compiling the method even if none of the ISAs is supported. In our case here, all these methods are already used in the context of other methods depending on PackedSimd so we just need to add this missing attribute to enable their compilation.

For example, this makes System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords 100x faster.

… wasm

A method having multiple `CompExactlyDependsOn` attributes with various instruction sets is compiled only if at least one of these instruction sets is supported (in addition to the requirement of all ISAs to be deterministically supported or unsupported at run time). `CompHasFallback` serves the purpose of still compiling the method even if none of the ISAs is supported. In our case here, all these methods are already used in the context of other methods depending on PackedSimd so we just need to add this missing attribute to enable their compilation.

For example, this makes `System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords` 100x faster.
@BrzVlad BrzVlad added the arch-wasm WebAssembly architecture label Oct 15, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
See info in area-owners.md if you want to be subscribed.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-buffers
See info in area-owners.md if you want to be subscribed.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/crossgen-contrib
See info in area-owners.md if you want to be subscribed.

@BrzVlad

BrzVlad commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

/ba-g failure unrelated

@BrzVlad
BrzVlad merged commit e33ea58 into dotnet:main Oct 16, 2026
152 of 154 checks passed
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 12.0-preview1 milestone Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arch-wasm WebAssembly architecture area-ReadyToRun

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants