You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for generic lookups to Wasm R2R code by following the
DynamicHelper pattern we use on other platforms. This looks like a quite
suitable implementation for Wasm, so I expect that this will remain for
the long term.
Add support for WebAssembly .S files, as it was difficult to implement
the helpers in inline assembly due to clang limitations.
Tweak Crossgen2 into generating uses of the DynamicHelper logic.
Also add support for precomputed thunks for various runtime helpers
which were missing them, and add an assert that will fire even in
interpreted runs for missing cases.
Fixes (most) of #129622Fixes#129821
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/DelayLoadHelperImport.cs
Copy file name to clipboardExpand all lines: src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/WasmImportThunkPortableEntrypoint.cs
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -57,14 +57,14 @@ public override int CompareToImpl(ISortableNode other, CompilerComparer comparer
if ((dictLookupData.SecondIndir == 0) && (dictLookupData.LastIndir <= sizeof(TADDR) * 3))
2808
+
if (dictLookupData.LastIndir <= sizeof(TADDR) * 3)
2801
2809
{
2802
2810
needsDictLookupData = false;
2811
+
// Since LastIndir is in bytes, but actual indirections into the table are always pointer aligned, we can divide by sizeof(TADDR) to compute the possible cases here.
0 commit comments