Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion src/runtime/.config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
]
},
"microsoft.dotnet.helix.jobmonitor": {
"version": "11.0.0-beta.26407.8",
"version": "11.0.0-beta.26411.119",
"commands": [
"dotnet-helix-job-monitor"
]
Expand Down
19 changes: 14 additions & 5 deletions src/runtime/docs/design/coreclr/botr/readytorun-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -1078,6 +1078,9 @@ The string format is:
| `V` | returns `v128` (a `Vector128<T>`, or a 16-byte `Vector<T>`) |
| `S<N>` | struct return via hidden buffer, `N` is the struct size in bytes |

Struct returns always use `S<N>` regardless of alignment. The aligned form is valid only
for parameters because their placement in the transition block depends on it.

**This pointer** (if the method has a `this` parameter):

| Encoding | Meaning |
Expand All @@ -1103,7 +1106,8 @@ it knows a hidden retbuf pointer argument is present in the Wasm parameter list.
| `f` | `f32` parameter |
| `d` | `f64` parameter |
| `V` | `v128` parameter (a `Vector128<T>`, or a 16-byte `Vector<T>`, passed by value) |
| `S<N>` | struct parameter passed by reference, `<N>` is the struct size in bytes |
| `S<N>` | struct parameter passed by reference, `<N>` is the struct size in bytes and its alignment is at most 8 |
| `A<N>` | struct parameter passed by reference, `<N>` is the struct size in bytes and its alignment exceeds 8 |
| `e` | empty struct parameter — elided from Wasm args but present in the string |
| `<slot><E>` | multi-slot parameter passed by value, see below |

Expand All @@ -1124,8 +1128,8 @@ matching the treatment of a struct wrapping a `v128`.
The digit is required. A repeated slot character without one — `ll`, `VV` — is not an
aggregate: it is two independent scalar parameters, which is how every implementation
reads it. So `ll2VV4` is `i64`, `Int128`, `Vector128<T>`, `Vector512<T>`. The grammar stays
unambiguous because no other token places a digit after a slot character; `S<N>` consumes
its own digits.
unambiguous because no other token places a digit after a slot character; struct tokens
consume their own size.

These types are still *returned* through a hidden buffer, encoded as `S<N>` like any other
aggregate. Limitation: a single digit carries both the slot count and the elevation factor,
Expand All @@ -1136,6 +1140,10 @@ elevation 1. No such type exists in the Wasm ABI today.
WasmAppBuilder does not emit or consume multi-slot tokens: they do not appear in
`InternalCall` or `PInvoke` signatures.

A struct argument is placed at its own alignment clamped to `[8, 16]` in the transition
block. Therefore `A<N>` covers every struct whose declared alignment exceeds 8: alignments
of 16 or higher all require the same 16-byte transition-block placement.

**Suffix**:

| Encoding | Meaning |
Expand All @@ -1162,14 +1170,15 @@ prefix to distinguish thunk categories:
| `void F(int x)` (instance) | `vTip` |
| `static MyStruct F()` where `MyStruct` is 16 bytes | `S16p` |
| `static void F(MyStruct s)` where `MyStruct` is 8 bytes | `vS8p` |
| `static void F(long tag, MyStruct s, int t)` where `MyStruct` is 32 bytes and at least 16-byte aligned | `vlA32ip` |
| `static int F(float x, double y)` | `ifdp` |
| `static long F(long tag, Int128 v, int t)` | `lll2ip` |
| `static int F(long tag, Vector512<int> v, int t)` | `ilV4ip` |
| `[UnmanagedCallersOnly] static int F(int x)` | `ii` |

**Slot sizing for structs**: When computing interpreter stack layout, struct parameters
(`S<N>`) consume `max(N / 8, 1)` interpreter stack slots, while all other parameter types
consume exactly 1 slot.
(`S<N>` and `A<N>`) consume `max((N + 7) / 8, 1)` interpreter stack slots, while all
other parameter types consume exactly 1 slot.

# References

Expand Down
352 changes: 352 additions & 0 deletions src/runtime/docs/design/coreclr/jit/runtime-async-inlining.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/runtime/docs/project/list-of-diagnostics.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ The diagnostic id values reserved for .NET Libraries analyzer warnings are `SYSL
| __`SYSLIB1216`__ | C# language version not supported by the options validation source generator. |
| __`SYSLIB1217`__ | The validation attribute is only applicable to properties of type string, array, or ICollection; it cannot be used with other types. |
| __`SYSLIB1218`__ | _`SYSLIB1201`-`SYSLIB1219` reserved for Microsoft.Extensions.Options.SourceGeneration._ |
| __`SYSLIB1219`__ | _`SYSLIB1201`-`SYSLIB1219` reserved for Microsoft.Extensions.Options.SourceGeneration._ |
| __`SYSLIB1219`__ | Options validation generator: A type already includes an implementation of the 'ValidateAsync' method. |
| __`SYSLIB1220`__ | JsonSourceGenerator encountered a [JsonConverterAttribute] with an invalid type argument. |
| __`SYSLIB1221`__ | JsonSourceGenerator does not support this C# language version. |
| __`SYSLIB1222`__ | Constructor annotated with JsonConstructorAttribute is inaccessible. |
Expand Down
88 changes: 43 additions & 45 deletions src/runtime/eng/Version.Details.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,49 @@ This file should be imported by eng/Versions.props
-->
<Project>
<PropertyGroup>
<!-- dotnet-arcade dependencies -->
<MicrosoftDotNetHelixJobMonitorPackageVersion>11.0.0-beta.26407.8</MicrosoftDotNetHelixJobMonitorPackageVersion>
<MicrosoftDotNetHelixSdkPackageVersion>11.0.0-beta.26381.1</MicrosoftDotNetHelixSdkPackageVersion>
<!-- dotnet-dotnet dependencies -->
<MicrosoftCodeAnalysisPackageVersion>5.10.0-1.26379.102</MicrosoftCodeAnalysisPackageVersion>
<MicrosoftCodeAnalysisAnalyzersPackageVersion>5.10.0-1.26379.102</MicrosoftCodeAnalysisAnalyzersPackageVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>5.10.0-1.26379.102</MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>
<MicrosoftCodeAnalysisCSharpPackageVersion>5.10.0-1.26379.102</MicrosoftCodeAnalysisCSharpPackageVersion>
<MicrosoftCodeAnalysisNetAnalyzersPackageVersion>11.0.100-rc.1.26379.102</MicrosoftCodeAnalysisNetAnalyzersPackageVersion>
<MicrosoftDotNetApiCompatTaskPackageVersion>11.0.100-rc.1.26379.102</MicrosoftDotNetApiCompatTaskPackageVersion>
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetArcadeSdkPackageVersion>
<MicrosoftDotNetBuildTasksArchivesPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksArchivesPackageVersion>
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftDotNetBuildTasksFileCatalogPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksFileCatalogPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksPackagingPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksPackagingPackageVersion>
<MicrosoftDotNetBuildTasksTargetFrameworkPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksTargetFrameworkPackageVersion>
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26379.102</MicrosoftDotNetCecilPackageVersion>
<MicrosoftDotNetCodeAnalysisPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetCodeAnalysisPackageVersion>
<MicrosoftDotNetGenAPIPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetGenAPIPackageVersion>
<MicrosoftDotNetGenFacadesPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetGenFacadesPackageVersion>
<MicrosoftDotNetPackageTestingPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetPackageTestingPackageVersion>
<MicrosoftDotNetRemoteExecutorPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetRemoteExecutorPackageVersion>
<MicrosoftDotNetSharedFrameworkSdkPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetSharedFrameworkSdkPackageVersion>
<MicrosoftDotNetXliffTasksPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetXliffTasksPackageVersion>
<MicrosoftCodeAnalysisPackageVersion>5.11.0-1.26411.119</MicrosoftCodeAnalysisPackageVersion>
<MicrosoftCodeAnalysisAnalyzersPackageVersion>5.11.0-1.26411.119</MicrosoftCodeAnalysisAnalyzersPackageVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>5.11.0-1.26411.119</MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>
<MicrosoftCodeAnalysisCSharpPackageVersion>5.11.0-1.26411.119</MicrosoftCodeAnalysisCSharpPackageVersion>
<MicrosoftCodeAnalysisNetAnalyzersPackageVersion>11.0.100-rc.1.26411.119</MicrosoftCodeAnalysisNetAnalyzersPackageVersion>
<MicrosoftDotNetApiCompatTaskPackageVersion>11.0.100-rc.1.26411.119</MicrosoftDotNetApiCompatTaskPackageVersion>
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetArcadeSdkPackageVersion>
<MicrosoftDotNetBuildTasksArchivesPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksArchivesPackageVersion>
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftDotNetBuildTasksFileCatalogPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksFileCatalogPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksPackagingPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksPackagingPackageVersion>
<MicrosoftDotNetBuildTasksTargetFrameworkPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksTargetFrameworkPackageVersion>
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26411.119</MicrosoftDotNetCecilPackageVersion>
<MicrosoftDotNetCodeAnalysisPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetCodeAnalysisPackageVersion>
<MicrosoftDotNetGenAPIPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetGenAPIPackageVersion>
<MicrosoftDotNetGenFacadesPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetGenFacadesPackageVersion>
<MicrosoftDotNetHelixJobMonitorPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetHelixJobMonitorPackageVersion>
<MicrosoftDotNetHelixSdkPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetHelixSdkPackageVersion>
<MicrosoftDotNetPackageTestingPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetPackageTestingPackageVersion>
<MicrosoftDotNetRemoteExecutorPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetRemoteExecutorPackageVersion>
<MicrosoftDotNetSharedFrameworkSdkPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetSharedFrameworkSdkPackageVersion>
<MicrosoftDotNetXliffTasksPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetXliffTasksPackageVersion>
<MicrosoftDotNetXUnitAssertPackageVersion>3.2.2-beta.26257.113</MicrosoftDotNetXUnitAssertPackageVersion>
<MicrosoftDotNetXUnitConsoleRunnerPackageVersion>2.9.3-beta.26379.102</MicrosoftDotNetXUnitConsoleRunnerPackageVersion>
<MicrosoftDotNetXUnitExtensionsPackageVersion>11.0.0-beta.26379.102</MicrosoftDotNetXUnitExtensionsPackageVersion>
<MicrosoftNetCompilersToolsetPackageVersion>5.10.0-1.26379.102</MicrosoftNetCompilersToolsetPackageVersion>
<MicrosoftNETRuntimeEmscriptenInternalPackageVersion>11.0.0-rc.1.26379.102</MicrosoftNETRuntimeEmscriptenInternalPackageVersion>
<MicrosoftNETSdkILPackageVersion>11.0.0-rc.1.26379.102</MicrosoftNETSdkILPackageVersion>
<MicrosoftNETWorkloadEmscriptenCurrentManifest110100TransportPackageVersion>11.0.100-rc.1.26379.102</MicrosoftNETWorkloadEmscriptenCurrentManifest110100TransportPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-rc.1.26379.102</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreILAsmPackageVersion>11.0.0-rc.1.26379.102</MicrosoftNETCoreILAsmPackageVersion>
<NuGetFrameworksPackageVersion>7.10.0-rc.38002</NuGetFrameworksPackageVersion>
<NuGetPackagingPackageVersion>7.10.0-rc.38002</NuGetPackagingPackageVersion>
<NuGetProjectModelPackageVersion>7.10.0-rc.38002</NuGetProjectModelPackageVersion>
<NuGetVersioningPackageVersion>7.10.0-rc.38002</NuGetVersioningPackageVersion>
<runtimenativeSystemIOPortsPackageVersion>11.0.0-rc.1.26379.102</runtimenativeSystemIOPortsPackageVersion>
<SystemCommandLinePackageVersion>3.0.0-rc.1.26379.102</SystemCommandLinePackageVersion>
<SystemReflectionMetadataPackageVersion>11.0.0-rc.1.26379.102</SystemReflectionMetadataPackageVersion>
<SystemReflectionMetadataLoadContextPackageVersion>11.0.0-rc.1.26379.102</SystemReflectionMetadataLoadContextPackageVersion>
<SystemTextJsonPackageVersion>11.0.0-rc.1.26379.102</SystemTextJsonPackageVersion>
<MicrosoftDotNetXUnitConsoleRunnerPackageVersion>2.9.3-beta.26411.119</MicrosoftDotNetXUnitConsoleRunnerPackageVersion>
<MicrosoftDotNetXUnitExtensionsPackageVersion>11.0.0-beta.26411.119</MicrosoftDotNetXUnitExtensionsPackageVersion>
<MicrosoftNetCompilersToolsetPackageVersion>5.11.0-1.26411.119</MicrosoftNetCompilersToolsetPackageVersion>
<MicrosoftNETRuntimeEmscriptenInternalPackageVersion>11.0.0-rc.1.26411.119</MicrosoftNETRuntimeEmscriptenInternalPackageVersion>
<MicrosoftNETSdkILPackageVersion>11.0.0-rc.1.26411.119</MicrosoftNETSdkILPackageVersion>
<MicrosoftNETWorkloadEmscriptenCurrentManifest110100TransportPackageVersion>11.0.100-rc.1.26411.119</MicrosoftNETWorkloadEmscriptenCurrentManifest110100TransportPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-rc.1.26411.119</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreILAsmPackageVersion>11.0.0-rc.1.26411.119</MicrosoftNETCoreILAsmPackageVersion>
<NuGetFrameworksPackageVersion>7.11.0-rc.65534</NuGetFrameworksPackageVersion>
<NuGetPackagingPackageVersion>7.11.0-rc.65534</NuGetPackagingPackageVersion>
<NuGetProjectModelPackageVersion>7.11.0-rc.65534</NuGetProjectModelPackageVersion>
<NuGetVersioningPackageVersion>7.11.0-rc.65534</NuGetVersioningPackageVersion>
<runtimenativeSystemIOPortsPackageVersion>11.0.0-rc.1.26411.119</runtimenativeSystemIOPortsPackageVersion>
<SystemCommandLinePackageVersion>3.0.0-rc.1.26411.119</SystemCommandLinePackageVersion>
<SystemReflectionMetadataPackageVersion>11.0.0-rc.1.26411.119</SystemReflectionMetadataPackageVersion>
<SystemReflectionMetadataLoadContextPackageVersion>11.0.0-rc.1.26411.119</SystemReflectionMetadataLoadContextPackageVersion>
<SystemTextJsonPackageVersion>11.0.0-rc.1.26411.119</SystemTextJsonPackageVersion>
<!-- dotnet-hotreload-utils dependencies -->
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolPackageVersion>11.0.0-alpha.0.26180.1</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolPackageVersion>
<!-- dotnet-icu dependencies -->
Expand Down Expand Up @@ -123,9 +122,6 @@ This file should be imported by eng/Versions.props
</PropertyGroup>
<!--Property group for alternate package version names-->
<PropertyGroup>
<!-- dotnet-arcade dependencies -->
<MicrosoftDotNetHelixJobMonitorVersion>$(MicrosoftDotNetHelixJobMonitorPackageVersion)</MicrosoftDotNetHelixJobMonitorVersion>
<MicrosoftDotNetHelixSdkVersion>$(MicrosoftDotNetHelixSdkPackageVersion)</MicrosoftDotNetHelixSdkVersion>
<!-- dotnet-dotnet dependencies -->
<MicrosoftCodeAnalysisVersion>$(MicrosoftCodeAnalysisPackageVersion)</MicrosoftCodeAnalysisVersion>
<MicrosoftCodeAnalysisAnalyzersVersion>$(MicrosoftCodeAnalysisAnalyzersPackageVersion)</MicrosoftCodeAnalysisAnalyzersVersion>
Expand All @@ -145,6 +141,8 @@ This file should be imported by eng/Versions.props
<MicrosoftDotNetCodeAnalysisVersion>$(MicrosoftDotNetCodeAnalysisPackageVersion)</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>$(MicrosoftDotNetGenAPIPackageVersion)</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>$(MicrosoftDotNetGenFacadesPackageVersion)</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetHelixJobMonitorVersion>$(MicrosoftDotNetHelixJobMonitorPackageVersion)</MicrosoftDotNetHelixJobMonitorVersion>
<MicrosoftDotNetHelixSdkVersion>$(MicrosoftDotNetHelixSdkPackageVersion)</MicrosoftDotNetHelixSdkVersion>
<MicrosoftDotNetPackageTestingVersion>$(MicrosoftDotNetPackageTestingPackageVersion)</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetRemoteExecutorVersion>$(MicrosoftDotNetRemoteExecutorPackageVersion)</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetSharedFrameworkSdkVersion>$(MicrosoftDotNetSharedFrameworkSdkPackageVersion)</MicrosoftDotNetSharedFrameworkSdkVersion>
Expand Down
Loading