Skip to content

Commit 74938d7

Browse files
authored
Merge branch 'main' into cmake-3.26
2 parents a3fd924 + cc42f21 commit 74938d7

File tree

754 files changed

+12420
-7070
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

754 files changed

+12420
-7070
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
]
1616
},
1717
"microsoft.dotnet.xharness.cli": {
18-
"version": "11.0.0-prerelease.25578.2",
18+
"version": "11.0.0-prerelease.25601.7",
1919
"commands": [
2020
"xharness"
2121
]

.devcontainer/android/devcontainer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@
5555
// This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
5656
// Add the Android SDK tooling and emulator to the path.
5757
"remoteEnv": {
58-
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools/bin:${containerEnv:ANDROID_SDK_ROOT}/emulator:${containerEnv:ANDROID_SDK_ROOT}/platform-tools:${containerEnv:PATH}",
59-
"DOTNET_MULTILEVEL_LOOKUP": "0"
58+
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools/bin:${containerEnv:ANDROID_SDK_ROOT}/emulator:${containerEnv:ANDROID_SDK_ROOT}/platform-tools:${containerEnv:PATH}"
6059
},
6160

6261
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@
4040
// Add the locally installed dotnet to the path to ensure that it is activated
4141
// This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
4242
"remoteEnv": {
43-
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}",
44-
"DOTNET_MULTILEVEL_LOOKUP": "0"
43+
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}"
4544
},
4645

4746
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.

.devcontainer/libraries/devcontainer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@
4646
// Add the locally installed dotnet to the path to ensure that it is activated
4747
// This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
4848
"remoteEnv": {
49-
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}",
50-
"DOTNET_MULTILEVEL_LOOKUP": "0"
49+
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}"
5150
},
5251

5352
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.

.devcontainer/wasm-multiThreaded/devcontainer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@
4747
// This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
4848
// Add the global tools dir to the PATH so that globally installed tools will work
4949
"remoteEnv": {
50-
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}",
51-
"DOTNET_MULTILEVEL_LOOKUP": "0",
50+
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}"
5251
},
5352

5453
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
@@ -58,7 +57,7 @@
5857
"forwardPorts": [8000],
5958
"portsAttributes": {
6059
"8000": {
61-
"label": "mono wasm samples (8000)",
60+
"label": "mono wasm samples (8000)"
6261
}
6362
}
6463
}

.devcontainer/wasm/devcontainer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@
4747
// This allows developers to just use 'dotnet build' on the command-line, and the local dotnet version will be used.
4848
// Add the global tools dir to the PATH so that globally installed tools will work
4949
"remoteEnv": {
50-
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}",
51-
"DOTNET_MULTILEVEL_LOOKUP": "0",
50+
"PATH": "${containerWorkspaceFolder}/.dotnet:${containerWorkspaceFolder}/.dotnet-tools-global:${containerEnv:PATH}"
5251
},
5352

5453
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
@@ -58,7 +57,7 @@
5857
"forwardPorts": [8000],
5958
"portsAttributes": {
6059
"8000": {
61-
"label": "mono wasm samples (8000)",
60+
"label": "mono wasm samples (8000)"
6261
}
6362
}
6463
}

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,4 @@ src/tests/JIT/Performance/CodeQuality/BenchmarksGame/reverse-complement/revcomp-
8181
src/tests/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input.txt text eol=lf
8282
src/tests/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/knucleotide-input-big.txt text eol=lf
8383
src/mono/browser/runtime/dotnet.d.ts text eol=lf
84+
src/native/corehost/browserhost/loader/dotnet.d.ts text eol=lf

docs/design/coreclr/botr/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Below is a table of contents.
3030
- [Mixed Mode Assemblies](mixed-mode.md)
3131
- [Guide For Porting](guide-for-porting.md)
3232
- [Vectors and Intrinsics](vectors-and-intrinsics.md)
33+
- [Runtime Async Codegen](runtime-async-codegen.md)
3334

3435

3536
It may be possible that this table is not complete. You can get a complete list

docs/design/coreclr/botr/clr-abi.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,3 +678,19 @@ MyStruct Test2()
678678
return default;
679679
}
680680
```
681+
682+
# Interpreter ABI details
683+
684+
The interpreter data stack is separately allocated from the normal "thread" stack, and it grows UP. The interpreter execution control stack is allocated on the "thread" stack, as a series of `InterpMethodContextFrame` values that are linked in a singly linked list onto an `InterpreterFrame` which is placed onto the Frame chain of the thread. `InterpMethodContextFrame` structures are always allocated in descending order so that a callee method's associated `InterpMethodContextFrame` is always located lower in memory compared to its caller or the containing `InterpreterFrame`.
685+
686+
The base stack pointer within a method never changes, but when a function is called in the interpreter it will have a stack pointer which is associated with the set of arguments passed. In effect argument passing is done by giving a portion of the temporary args space of the caller function to the callee.
687+
688+
All instructions and GC that address the stack pointer are relative to the current stack pointer, which does not move. This requires that implementations of the localloc instruction actually allocate the memory on the heap, and localloc'd memory is not actually tied to the data stack in any way.
689+
690+
The stack pointer in all interpreter functions is always aligned on a `INTERP_STACK_ALIGNMENT` boundary. Currently this is a 16 byte alignment requirement.
691+
692+
The stack elements are always aligned to at least `INTERP_STACK_SLOT_SIZE` and never more than `INTERP_STACK_ALIGNMENT` Given that today's implementation sets `INTERP_STACK_SLOT_SIZE` to 8 and `INTERP_STACK_ALIGNMENT` to 16, this implies all data on the stack is either aligned at an 8 or 16 byte alignment.
693+
694+
Primitive types smaller than 4 bytes are always zero or sign extended to 4 bytes when on the stack.
695+
696+
When a function is async it will have a continuation return. This return is not done using the data stack, but instead is done by setting the Continuation field in the `InterpreterFrame`. Thunks are responsible for setting/resetting this value as we enter/leave code compiled by the JIT.

docs/design/coreclr/botr/readytorun-format.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,7 @@ enum ReadyToRunHelper
872872
READYTORUN_HELPER_MemCpy = 0x41,
873873

874874
// Get string handle lazily
875-
READYTORUN_HELPER_GetString = 0x50,
875+
READYTORUN_HELPER_GetString = 0x50, // Unused since READYTORUN_MAJOR_VERSION 17.0
876876

877877
// Used by /Tuning for Profile optimizations
878878
READYTORUN_HELPER_LogMethodEnter = 0x51, // Unused since READYTORUN_MAJOR_VERSION 10.0

0 commit comments

Comments
 (0)