WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 6b00d93

Browse files
Merge branch 'main' into fix/docs-lazycs-summary-111921
2 parents f379e23 + d3dffb9 commit 6b00d93

File tree

2,198 files changed

+35681
-58703
lines changed

Some content is hidden

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

2,198 files changed

+35681
-58703
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": "10.0.0-prerelease.25475.1",
18+
"version": "10.0.0-prerelease.25506.2",
1919
"commands": [
2020
"xharness"
2121
]

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
You MUST make your best effort to ensure your changes satisfy those criteria before committing. If for any reason you were unable to build or test the changes, you MUST report that. You MUST NOT claim success unless all builds and tests pass as described above.
44

5+
Do not complete without checking the relevant code builds and relevant tests still pass after the last edits you make. Do not simply assume that your changes fix test failures you see, actually build and run those tests again to confirm.
6+
57
You MUST refer to the [Building & Testing in dotnet/runtime](#building--testing-in-dotnetruntime) instructions and use the commands and approaches specified there before attempting your own suggestions.
68

79
You MUST follow all code-formatting and naming conventions defined in [`.editorconfig`](/.editorconfig).
@@ -187,6 +189,8 @@ From the repository root:
187189
- [Build Libraries](/docs/workflow/building/libraries/README.md)
188190
- [Testing Libraries](/docs/workflow/testing/libraries/testing.md)
189191

192+
When working on changes limited to a specific library, do not complete without at least running all tests for that library and confirming they pass. For example if you are working within "System.Text.RegularExpressions" then make sure after your last edits that all the test libraries under `src\libraries\System.Text.RegularExpressions\tests` pass. It is OK to filter to relevant specific tests during your work, but before returning, ensure that, at least, ALL tests for the library do pass.
193+
190194
### 5.1. How To: Identify Affected Libraries
191195

192196
For each changed file under `src/libraries/`, find the matching library and its test project(s).

.github/policies/resourceManagement.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ configuration:
751751
then:
752752
- mentionUsers:
753753
mentionees:
754-
- cston
754+
- 333fred
755755
replyTemplate: >-
756756
Tagging subscribers to this area: ${mentionees}
757757
@@ -775,7 +775,7 @@ configuration:
775775
then:
776776
- mentionUsers:
777777
mentionees:
778-
- cston
778+
- 333fred
779779
replyTemplate: >-
780780
Tagging subscribers to this area: ${mentionees}
781781
@@ -1100,7 +1100,7 @@ configuration:
11001100
then:
11011101
- mentionUsers:
11021102
mentionees:
1103-
- cston
1103+
- 333fred
11041104
replyTemplate: >-
11051105
Tagging subscribers to this area: ${mentionees}
11061106
@@ -1226,7 +1226,7 @@ configuration:
12261226
then:
12271227
- mentionUsers:
12281228
mentionees:
1229-
- cston
1229+
- 333fred
12301230
replyTemplate: >-
12311231
Tagging subscribers to this area: ${mentionees}
12321232

.github/prompts/add-new-jit-ee-api.prompt.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
22
mode: 'agent'
3-
tools: ['githubRepo', 'codebase', 'terminalLastCommand']
3+
tools: ['fetch', 'codebase', 'runCommands', 'usages', 'search', 'think']
44
description: 'Add a new API to the JIT-VM (aka JIT-EE) interface in the codebase.'
55
---
66

77
#### 1 — Goal
88

9-
Implement **one** new JIT-VM (also known as JIT-EE) API and all supporting glue.
9+
Implement **one** new JIT-VM (also known as JIT-EE) API and all supporting glue.
1010
The JIT-VM interface defines the APIs through which the JIT compiler communicates with the runtime (VM).
1111

1212
#### 2 — Prerequisites for the model
1313

1414
* You have full repo access
15-
* You may run scripts (e.g., `.sh` or `.bat`)
15+
* You may run scripts (e.g., `.sh` or `.bat`)
1616
* Ask **clarifying questions** before the first code change if anything (signature, types, platform constraints) is unclear.
1717

1818
#### 3 — Required user inputs
1919

20-
Ask the user for a C-like signature of the new API if it's not provided.
20+
Ask the user for a C-like signature of the new API if it's not provided.
2121
Suggest `<repo_root>/src/coreclr/tools/Common/JitInterface/ThunkGenerator/ThunkInput.txt` file as a reference. Example:
2222

2323
```
@@ -83,8 +83,8 @@ Use the correct directory for the script to run.
8383
+}
8484
```
8585

86-
6. Now implement the most complex part - SuperPMI. SuperPMI acts as a (de)serializer for JIT-VM queries in order
87-
to then replay them without the actual VM to speed up jit-diffs and other scenarios. All parameters and return
86+
6. Now implement the most complex part - SuperPMI. SuperPMI acts as a (de)serializer for JIT-VM queries in order
87+
to then replay them without the actual VM to speed up jit-diffs and other scenarios. All parameters and return
8888
values recorded/restored using special primitve types and helpers. We need to update the following files:
8989

9090
* `<repo_root>/src/coreclr/tools/superpmi/superpmi-shared/agnostic.h`:
@@ -96,7 +96,7 @@ Go through each of them one by one.
9696

9797
* `<repo_root>/src/coreclr/tools/superpmi/superpmi-shared/agnostic.h`:
9898
Define two `Agnostic_*` types for input arguments and another one for output parameters (return value, output arguments).
99-
Do not create them if one of the generics ones can be re-used such as `DLD`, `DD`, `DLDL`, etc. Use `DWORD*`
99+
Do not create them if one of the generics ones can be re-used such as `DLD`, `DD`, `DLDL`, etc. Use `DWORD*`
100100
like types for integers. Inspect the whole file to see how other APIs are defined.
101101

102102
* `<repo_root>/src/coreclr/tools/superpmi/superpmi-shared/lwmlist.h`:
@@ -126,7 +126,7 @@ Now add a new element to `enum mcPackets` enum in the same file. Example:
126126
```
127127

128128
* `<repo_root>/src/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp`:
129-
Add the implementation of the 3 methods to `methodcontext.cpp` at the end of it.
129+
Add the implementation of the 3 methods to `methodcontext.cpp` at the end of it.
130130
Consider other similar methods in the file for reference. Do not change implementations of other methods in the file. Example:
131131

132132
```diff

.github/workflows/markdownlint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020
- uses: actions/checkout@v5
2121
- name: Use Node.js
22-
uses: actions/setup-node@v5
22+
uses: actions/setup-node@v6
2323
with:
2424
node-version: 'lts/*'
2525
- name: Run Markdownlint

NuGet.config

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
2222
<add key="dotnet11" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11/nuget/v3/index.json" />
2323
<add key="dotnet11-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11-transport/nuget/v3/index.json" />
24-
<!-- Need for prototype Roslyn compiler for runtime-async -->
25-
<add key="general-testing" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/general-testing/nuget/v3/index.json" />
2624
</packageSources>
2725
<disabledPackageSources>
2826
<clear />

THIRD-PARTY-NOTICES.TXT

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -102,33 +102,6 @@ http://www.apache.org/licenses/
102102
Copyright The OpenTelemetry Authors
103103

104104

105-
License notice for LinuxTracepoints
106-
-----------------------------------
107-
108-
https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE
109-
110-
Copyright (c) Microsoft Corporation.
111-
112-
MIT License
113-
114-
Permission is hereby granted, free of charge, to any person obtaining a copy
115-
of this software and associated documentation files (the "Software"), to deal
116-
in the Software without restriction, including without limitation the rights
117-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
118-
copies of the Software, and to permit persons to whom the Software is
119-
furnished to do so, subject to the following conditions:
120-
121-
The above copyright notice and this permission notice shall be included in all
122-
copies or substantial portions of the Software.
123-
124-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
125-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
126-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
127-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
128-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
129-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
130-
SOFTWARE
131-
132105
License notice for Mono
133106
-------------------------------
134107

docs/design/datacontracts/Thread.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ TargetPointer IThread.GetThreadLocalStaticBase(TargetPointer threadPointer, Targ
233233
}
234234
break;
235235
case TLSIndexType.DirectOnThreadLocalData:
236-
threadLocalStaticBase = threadLocalDataPtr;
236+
threadLocalStaticBase = threadLocalDataPtr + indexOffset;
237237
break;
238238
}
239239
if (threadLocalStaticBase == TargetPointer.Null)

docs/design/datacontracts/contract-descriptor.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,17 @@ a JSON integer constant.
8686
"s_pThreadStore": [ 0 ], // indirect from pointer data offset 0
8787
"RuntimeID": "win-x64" // string value
8888
},
89+
"sub-descriptors":
90+
{
91+
"GCDescriptor": [ 1 ]
92+
},
8993
"contracts": {"Thread": 1, "GCHandle": 1, "ThreadStore": 1}
9094
}
9195
```
9296

9397
## Contract symbol
9498

95-
To aid in discovery, the contract descriptor should be exported by the module hosting the .NET
99+
To aid in discovery, the main contract descriptor should be exported by the module hosting the .NET
96100
runtime with the name `DotNetRuntimeContractDescriptor` using the C symbol naming conventions of the
97101
target platform.
98102

docs/design/datacontracts/data_descriptor.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ endianness. The types `nint`, `nuint` and `pointer` have target architecture po
3131
The data descriptor consists of:
3232
* a collection of type structure descriptors
3333
* a collection of global value descriptors
34+
* an optional collection of pointers to sub-descriptors
3435

3536
## Types
3637

@@ -92,6 +93,15 @@ The value must be an integral constant within the range of its type. Signed val
9293
natural encoding. Pointer values need not be aligned and need not point to addressable target
9394
memory.
9495

96+
## Sub-descriptor descriptors
97+
98+
Each sub-descriptor descriptor is effectively a global with a type of `pointer`. They will consist of:
99+
* a name
100+
* a pointer value
101+
102+
If the value is non-null, the pointer points to another [contract descriptor](contract-descriptor.md#contract-descriptor-1).
103+
104+
When parsing a data descriptor with sub-descriptors each sub-descriptor should be parsed then its type, global, and contract values should be merged in. If any conflicts arise when merging in sub-descriptor data, this is an error and behavior is undefined.
95105

96106
## Physical descriptors
97107

@@ -129,6 +139,7 @@ The toplevel dictionary will contain:
129139
* optional `"baseline": "BASELINE_ID"` see below
130140
* `"types": TYPES_DESCRIPTOR` see below
131141
* `"globals": GLOBALS_DESCRIPTOR` see below
142+
* optional `"sub-descriptors": SUB_DESCRIPTORS_DESCRIPTOR` see below
132143

133144
Additional toplevel keys may be present. For example, the in-memory data descriptor will contain a
134145
`"contracts"` key (see [contract descriptor](./contract_descriptor.md#Compatible_contracts)) for the
@@ -233,7 +244,9 @@ Note that a two element array is unambiguously "type and value", whereas a one-e
233244
unambiguously "indirect value".
234245

235246

236-
**Both formats**
247+
### Sub-descriptor Values
248+
249+
Sub-descriptor values will be an additional array, with the same specification as [global values](#Global-values) with the exception that the only valid value type is a `pointer`.
237250

238251
#### Specification Appendix
239252

@@ -284,7 +297,7 @@ string. For pointers, the address can be stored at a known offset in an in-proc
284297
array of pointers and the offset written into the constant JSON string.
285298

286299
The indirection array is not part of the data descriptor spec. It is part of the [contract
287-
descriptor](./contract_descriptor.md#Contract_descriptor).
300+
descriptor](./contract-descriptor.md#Contract_descriptor).
288301

289302

290303
## Example
@@ -345,6 +358,10 @@ The following is an example of an in-memory descriptor that references the above
345358
"FEATURE_COMINTEROP": 0,
346359
"s_pThreadStore": [ 0 ], // indirect from aux data offset 0
347360
"RuntimeID": "windows-x64"
361+
},
362+
"sub-descriptors":
363+
{
364+
"GC": [ 1 ] // indirect from aux data offset 1
348365
}
349366
}
350367
```

0 commit comments

Comments
 (0)