Skip to content

FI from runtime master to dev/infrastructure as of 06/16 #37982

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 165 commits into from
Jun 18, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
15a3b08
Update "LICENSE.txt" so that it's recognized as MIT
teo-tsirpanis May 20, 2020
fc15e38
Improve R2RTest compile-serp (#37520)
nattress Jun 8, 2020
2f7ed84
Annotate System.Resources.Extensions for nullable reference types (#3…
stephentoub Jun 8, 2020
3218c66
[master] Update dependencies from mono/linker Microsoft/vstest (#37562)
dotnet-maestro[bot] Jun 8, 2020
84abb55
Allow individual projects to override LangVersion (#37512)
eerhardt Jun 8, 2020
80553e8
Allow MemoryMappedFile to work on character device (#2183)
wfurt Jun 8, 2020
ad3b8ed
Update comments on GetCursorPosition (#37609)
stephentoub Jun 8, 2020
07db027
[Test] don't use process var in async readers (#37259)
Jun 8, 2020
d7b32dc
[wasm] Pass more assemblies to the pinvoke table generator. (#37608)
vargaz Jun 8, 2020
6649dc7
Implement ModuleBuilder.GetFieldToken (#37497)
alexischr Jun 8, 2020
b4a521d
Merge pull request #36744 from teo-tsirpanis/patch-1
richlander Jun 8, 2020
3e56795
[wasm] Throw PlatformNotSupportedException instead of NotSupportedExc…
monojenkins Jun 8, 2020
a3bb3c0
No retyping arm/arm64. (#36866)
Jun 8, 2020
0052684
Annotate System.Net.WebSockets.WebSocketProtocol for nullable referen…
stephentoub Jun 9, 2020
1d4f364
Initialize AsnEncodedData.RawData to empty array (#37598)
stephentoub Jun 9, 2020
d3d9a91
Respect Process.SynchronizingObject in Process events (#37308)
stephentoub Jun 9, 2020
f833ffd
Fix the remaining jitstress-isas-x86 failures (#37459)
tannergooding Jun 9, 2020
da97f17
Make build scripts' -help information more helpful (#37377)
ivdiazsa Jun 9, 2020
ed075a7
Don't produce windows runtime packs for mono (#37627)
safern Jun 9, 2020
efe9663
Support the Encoding enumeration in the Encoding Providers (#37528)
tarekgh Jun 9, 2020
ed3d384
Revert "Update "LICENSE.txt" so that it's recognized as MIT" (#37626)
stephentoub Jun 9, 2020
d6f1c6d
Accept NativeCallableInternalAttribute to support legacy scenario (#3…
AaronRobinsonMSFT Jun 9, 2020
b772f61
Make System.Formats.Asn1 library public
bartonjs Jun 9, 2020
f929bed
Obsolete RuntimeHelpers.OffsetToStringData (#35722)
GrabYourPitchforks Jun 9, 2020
ecc310b
allow access to crypto props from RemoteCertificateValidationCallback…
wfurt Jun 9, 2020
0f97c7a
Reflection annotate more of CoreLib (#37418)
MichalStrehovsky Jun 9, 2020
5f43e51
Use [MemberNotNull] to reduce use of `= null!;` (#37490)
stephentoub Jun 9, 2020
29c4895
Add linker annotations to some of CoreLib (#36532)
MichalStrehovsky Jun 9, 2020
8d9c940
Enable nullable reference types for full facades (#37589)
stephentoub Jun 9, 2020
2b7852b
Create Microsoft.NetCore.App.Ref targeting pack for NetCoreAppCurrent…
ViktorHofer Jun 9, 2020
738066c
[mono] Delete culture/ directory files (#37565)
lambdageek Jun 9, 2020
222d163
Annotate System.ServiceProcess.ServiceController for nullable referen…
stephentoub Jun 9, 2020
da10ba8
Use ConditionalFact/Theory for skipping RemoteExecutor on unsupported…
akoeplinger Jun 9, 2020
9ce5e48
More cleanups and optimizations for System.Runtime.InteropServices.Ja…
marek-safar Jun 9, 2020
3b5a51a
Enable calling get_runtime_delegate from app context (#37473)
rseanhall Jun 9, 2020
8d3e718
Fix TestExited_SynchronizingObject test (#37639)
stephentoub Jun 9, 2020
db70edd
Disable GetAsync_UnicodeHostName_SuccessStatusCodeInResponse (#37487)
alnikola Jun 9, 2020
8558ca7
SocketAsyncContext.Unix: remove Lock from IsReady (#36705)
tmds Jun 9, 2020
2c3cd0d
[browser][wasm] Find the correct CoreLib (#37644)
kjpou1 Jun 9, 2020
0b416bc
Check the existence of clocked_t (#37457)
fanyang-mono Jun 9, 2020
b8e1a49
Optimise MathF.CopySign and Math.CopySign using SSE intrinsics (#35456)
john-h-k Jun 9, 2020
ec3438e
[mono] Add back sys/types.h include for clockid_t (#37653)
akoeplinger Jun 9, 2020
5862ede
[libraries] Skip GetOpenSslVersion on Apple OS (#37646)
mdh1418 Jun 9, 2020
db089c3
[interp] Don't save ip twice in InterpFrame (#37416)
monojenkins Jun 9, 2020
7bf37b0
ARM64: fix the alignment for Vector64 to 8 bytes (#37649)
kunalspathak Jun 9, 2020
7ced31c
Preserve PlatformNotSupportedException in the linker. (#37657)
vargaz Jun 9, 2020
ee17aa6
Track promoted fields when struct local is no longer referenced. (#37…
erozenfeld Jun 9, 2020
19bb2a5
Fix global-build official build arg evaluation (#37665)
safern Jun 9, 2020
090c8c0
adding the new version to avoid build failure (#37663)
Anipik Jun 9, 2020
d218662
Strip the ILLinkTrim.xml from the System.Diagnostics.StackTrace assem…
layomia Jun 9, 2020
584c9b5
[wasm] Testing improvements. (#37662)
vargaz Jun 10, 2020
e2ed363
Use [SkipLocalsInit] & remove code for ILLink to strip locals init (#…
layomia Jun 10, 2020
5bb755d
remove ClientAsyncAuthenticate_SslStreamClientServerNone_UseStrongCry…
wfurt Jun 10, 2020
4230ff9
Add dataflow annotations to System.Runtime (#37642)
MichalStrehovsky Jun 10, 2020
dd8e556
Sync shared compiler file (#37700)
MichalStrehovsky Jun 10, 2020
97781e8
Add (de)serialization test for ArraySegment<T> (#37684)
layomia Jun 10, 2020
88297e2
Moving the System.Runtime.Intrinsics.Arm namespace in box (#37656)
tannergooding Jun 10, 2020
6e4d5af
Fix Debug.Assert when using ReflectionMemberAccessor
steveharter Jun 10, 2020
ee12b54
Add ILLink.Substitutions.xml files for System.Private.CoreLib. (#37615)
eerhardt Jun 10, 2020
128adb4
Make invalid RSAParameters exception more informative.
vcsjones Jun 10, 2020
311bd7e
Profile driven method layout (#37469)
davidwrighton Jun 10, 2020
6affbf8
[master] Update dependencies from mono/linker Microsoft/vstest dotnet…
dotnet-maestro[bot] Jun 10, 2020
b517c9d
add crossgen2 perf jobs (#37678)
ooooolivia Jun 10, 2020
180f9d9
improve TLS frame parser (#36201)
wfurt Jun 10, 2020
6d98488
[llvm] Emit a descriptive name for MONO_PATCH_INFO_JIT_ICALL_ADDR_NOC…
monojenkins Jun 10, 2020
882f818
Crossgen2 ARM64 runs & initial cross-targeting support (#37331)
trylek Jun 10, 2020
78ed8e8
Added support for splitting on ReadOnlySpan<char> (#295)
bbartels Jun 10, 2020
fe35942
Merge pull request #37708 from steveharter/FixAssert
steveharter Jun 10, 2020
c215a3b
Added fast path to BinaryWriter.Write(string) (#37705)
bbartels Jun 10, 2020
7a57b92
Fix VeryLargeAmountOfEnumsToSerialize test (#37710)
layomia Jun 10, 2020
02b2ce9
Add readme for DI project (#37729)
maryamariyan Jun 11, 2020
70c617b
Avoid checking per object heap limit if the commit is not related to …
cshung Jun 11, 2020
9330864
turn off composite scenario since it's flaky (#37728)
ooooolivia Jun 11, 2020
6084542
Update dotnet SDK with MSBuild fix (#37726)
safern Jun 11, 2020
775bbf0
Clean up Latin1Encoding implementation and vectorize its logic (#32994)
GrabYourPitchforks Jun 11, 2020
aef737d
flush SslStream between messages (#37632)
wfurt Jun 11, 2020
ddea362
Annotate LoadFrom/Load from byte array as linker unsafe (#37704)
MichalStrehovsky Jun 11, 2020
4809e7f
Fix libraries config for the R2R pipelines (#37737)
trylek Jun 11, 2020
8484d6c
Disable System.Security.Cryptography.* tests for wasm. (#37723)
steveisok Jun 11, 2020
c783b1f
Implement RID for SunOS-derived operating systems (#37016)
am11 Jun 11, 2020
4aaca32
Remove PropertyPolicy naming
steveharter Jun 11, 2020
60a3233
Reduce CrossGen assembly size
steveharter Jun 10, 2020
ecfc69f
[libraries] Extend PlatformDetection.IsOSX to include all Apple OS (#…
mdh1418 Jun 11, 2020
f68bb5b
[libraries] Add assembly level ActiveIssue for System.Globalization (…
mdh1418 Jun 11, 2020
7ef49af
Enregister multireg lclVars (#36862)
CarolEidt Jun 11, 2020
1fc3e2a
Remove quirks for macOS Sierra. (#37688)
vcsjones Jun 11, 2020
e77add9
Remove SocketAsyncEngine.Token (#36339)
tmds Jun 11, 2020
518df4f
Annotate System.IO.Packaging for nullable reference types (#37654)
stephentoub Jun 11, 2020
2444ad0
Remove CopyTo{Async} delegate overloads (#37750)
stephentoub Jun 11, 2020
c78f333
Rename Crossgen2 dependency graph ETW event source (#37731)
nattress Jun 11, 2020
d2f9adc
Arm64: Implement shift and insert intrinsics (#36818)
TamarChristinaArm Jun 11, 2020
d00c5f6
Revert "Added support for splitting on ReadOnlySpan<char> (#295)" (#3…
layomia Jun 11, 2020
0604a83
Fix BoundedChannel race condition between writes and canceled reads (…
stephentoub Jun 11, 2020
ab39f23
Socket.Unix: stackalloc IoVector/GCHandle for multi-buffer send/recei…
tmds Jun 11, 2020
b90e647
Simplify calendar construction for Invariant mode (#37527)
marek-safar Jun 11, 2020
a29f58e
R2RTest - compile-serp large composite images (#37722)
nattress Jun 11, 2020
c4608d6
Add System.Runtime.CompilerServices.ModuleInitializerAttribute (#37625)
RikkiGibson Jun 11, 2020
a70a2db
Update mono CoreLib.sln to make VS happy (#37713)
eerhardt Jun 11, 2020
b179e19
Kill REG_PROFILER_RET_SCRATCH (#37679)
CarolEidt Jun 12, 2020
f633f18
Add IDynamicInterfaceCastable interface (#37042)
elinor-fung Jun 12, 2020
208bce9
[browser][wasm] Implement JavaScript managed object reference countin…
kjpou1 Jun 12, 2020
be25abf
[merp] Add API methods for getting hashcode/reason of last crash (#37…
monojenkins Jun 12, 2020
1408697
Reduce allocation in NegotiateStream.Read/Write{Async} (#37772)
stephentoub Jun 12, 2020
acd8e5d
Sync annotations to Mono CoreLib (#37748)
MichalStrehovsky Jun 12, 2020
d553020
Address feedback
steveharter Jun 12, 2020
de009f5
Update src/libraries/System.Text.Json/src/System/Text/Json/Serializat…
steveharter Jun 12, 2020
0a42ca9
Fix BeginSendRequest and EndSendRequest on LdapConnection (#37774)
joperezr Jun 12, 2020
c19ce52
Tfm clean up (#37623)
Anipik Jun 12, 2020
4dd4ff6
Fix SIMD store to spilled multi-reg local (#37781)
CarolEidt Jun 12, 2020
d13863e
Add Microsoft.Extensions.HostFactoryResolver.Sources package (#37793)
ericstj Jun 12, 2020
daf3820
Add an ILLinkTrim.xml file for InteropServices.JavaScript. (#37776)
eerhardt Jun 12, 2020
462e37a
[master] Update dependencies from dotnet/arcade mono/linker Microsoft…
dotnet-maestro[bot] Jun 12, 2020
3228c46
ARM64: Optimize IndexOf(byte) and IndexOf(char) APIs using intrinsics…
kunalspathak Jun 12, 2020
2f6457a
Merge pull request #37751 from steveharter/PropertyPolicy
steveharter Jun 12, 2020
8e3b554
Merge pull request #37758 from steveharter/XGenSize
steveharter Jun 12, 2020
eaa9ed6
Remove ILC hack for FileVersionInfo test (#37798)
ViktorHofer Jun 12, 2020
bb1e01e
Fix refpack construction in libraries (#37800)
ViktorHofer Jun 12, 2020
71ad024
Delete dead mscorlib winrt facade (#37660)
ViktorHofer Jun 12, 2020
2d369cf
Add ability to disable AIA retrieval in X509Chain
bartonjs Jun 12, 2020
cd02b06
Consistently use inline stackallocs with ValueStringBuilder (#37795)
stephentoub Jun 12, 2020
579d883
Huge page support for composite images loaded on Linux (#37673)
davidwrighton Jun 12, 2020
d273780
Add System.Runtime.CompilerServices.IsExternalInit (#37763)
RikkiGibson Jun 12, 2020
f7458a8
Fix HFA/HVA classification (#37499)
CarolEidt Jun 12, 2020
e61269b
[interp] Refactor ldfld from vt (#37788)
monojenkins Jun 12, 2020
53b64c0
Android: align xharness output folder name to iOS/WASM (#37799)
akoeplinger Jun 12, 2020
d690d5f
Plumb interpreter support into perf runs (#37514)
DrewScoggins Jun 12, 2020
d82b7be
Fixes and improvements for removal of redundant zero inits (#37786)
erozenfeld Jun 12, 2020
8d3ce4f
Balance out arm jobs due to number of machines we have available (#37…
safern Jun 13, 2020
180d5b1
Update area owners to include lead owners column (#37760)
danmoseley Jun 13, 2020
ba4dc36
Fix Vector2/4 Lerp methods (#37764)
john-h-k Jun 13, 2020
e393cde
Refactor ComponentActivator (#37784)
rseanhall Jun 13, 2020
27ad36a
Add StringSplitOptions.TrimEntries (#35740)
GrabYourPitchforks Jun 13, 2020
daabfe7
Sync shared compiler files (#37850)
MichalStrehovsky Jun 13, 2020
d5dd10f
Prevent use of LINQ in managed type system (#37854)
MichalStrehovsky Jun 13, 2020
67d74fc
disable crossgen2 composite scenario (#37842)
ooooolivia Jun 13, 2020
533e9b7
Include libnethost.lib in apphost package (#37878)
am11 Jun 14, 2020
a96a64e
Fix propagation of basic block flags for inlinee return expressions. …
erozenfeld Jun 15, 2020
6077cf0
[wasm] Update library tests for System.Runtime.InteropServices.JavaSc…
MaximLipnin Jun 15, 2020
78bc702
[wasm] Disable aot support in release builds. (#37765)
vargaz Jun 15, 2020
eb17058
Update covariant returns - add support for pointers (#37454)
janvorli Jun 15, 2020
2799404
Fix tizen rootfs build (#37891)
gbalykov Jun 15, 2020
b848d2b
[browser][wasm] Fix key already exists error (#37889)
kjpou1 Jun 15, 2020
e45d130
.editorconfig: replace invalid `refactoring` severity (#37367)
xtqqczze Jun 15, 2020
a54aae8
Delete dead code (#37847)
jkotas Jun 15, 2020
7b13fb8
Use RELOAD tree when unspilling multi-reg node (#37773)
CarolEidt Jun 15, 2020
02df47b
Fix CultureInfo creation with special Windows LCID values (#37834)
tarekgh Jun 15, 2020
b8a8d2a
Revert "Fix tizen rootfs build (#37891)" (#37902)
janvorli Jun 15, 2020
1502e3a
Updating the ARM HWIntrinsic test generation script to automatically …
tannergooding Jun 15, 2020
2e75b8f
update area-SDK entries (#37908)
leecow Jun 15, 2020
9f54587
SingleFileBundler: Fix a path computation.
swaroop-sridhar Jun 4, 2020
f05ebc8
Improve performance of Enum.CompareTo (#37845)
jkotas Jun 15, 2020
9155206
Bundler: Fix a path computation.
swaroop-sridhar Jun 15, 2020
d629976
Fix detection of static readonly field re-initialization via reflecti…
jkotas Jun 15, 2020
b967552
Implement timers for wasm. (#37811)
vargaz Jun 15, 2020
4780eb8
Use jeffhandley (GitHub handle) for Lead column (#37931)
jeffhandley Jun 15, 2020
71ef021
improve correlation for EventSource events in SslStream (#36633)
wfurt Jun 16, 2020
bbb5902
Fix JavaScript core object creation and interop binding. (#37885)
kjpou1 Jun 16, 2020
132be64
Replace Create(ulong) with CreateScalar(uint) in PopCount (#37912)
kunalspathak Jun 16, 2020
a9bba78
[wasm] Make some System.Console test pass with accordance to WASM PNS…
MaximLipnin Jun 16, 2020
bab2bc4
Implement hdt_get_function_pointer (#37696)
rseanhall Jun 16, 2020
cab843c
Optimize SpanHelpers.IndexOfAny() for byte (#37934)
kunalspathak Jun 16, 2020
025bf93
Annotate Microsoft.Extensions.DependencyInjection.Abstractions for nu…
pranavkm Jun 16, 2020
9929c07
Add JIT stress mode testing using libraries tests (#36486)
BruceForstall Jun 16, 2020
382dce3
Reserve return reg for cross-reg-file copy (#37863)
CarolEidt Jun 16, 2020
02a63a5
Merge remote-tracking branch 'upstream/master' into DevInfraFI0616
trylek Jun 16, 2020
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
  •  
  •  
  •  
26 changes: 13 additions & 13 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
dotnet_naming_style.static_prefix_style.required_prefix = s_
dotnet_naming_style.static_prefix_style.capitalization = camel_case
dotnet_naming_style.static_prefix_style.capitalization = camel_case

# internal and private fields should be _camelCase
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
Expand All @@ -75,12 +75,12 @@ dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case

# Code style defaults
csharp_using_directive_placement = outside_namespace:suggestion
dotnet_sort_system_directives_first = true
csharp_prefer_braces = true:refactoring
csharp_prefer_braces = true:silent
csharp_preserve_single_line_blocks = true:none
csharp_preserve_single_line_statements = false:none
csharp_prefer_static_local_function = true:suggestion
Expand All @@ -101,19 +101,19 @@ dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggesti
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:refactoring
dotnet_style_prefer_conditional_expression_over_return = true:refactoring
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
csharp_prefer_simple_default_expression = true:suggestion

# Expression-bodied members
csharp_style_expression_bodied_methods = true:refactoring
csharp_style_expression_bodied_constructors = true:refactoring
csharp_style_expression_bodied_operators = true:refactoring
csharp_style_expression_bodied_properties = true:refactoring
csharp_style_expression_bodied_indexers = true:refactoring
csharp_style_expression_bodied_accessors = true:refactoring
csharp_style_expression_bodied_lambdas = true:refactoring
csharp_style_expression_bodied_local_functions = true:refactoring
csharp_style_expression_bodied_methods = true:silent
csharp_style_expression_bodied_constructors = true:silent
csharp_style_expression_bodied_operators = true:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = true:silent

# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
Expand Down
3 changes: 3 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@

<!-- Language configuration -->
<PropertyGroup>
<!-- default to allowing all language features -->
<LangVersion>preview</LangVersion>
<LangVersion Condition="'$(MSBuildProjectExtension)' == '.vbproj'">latest</LangVersion>
<Deterministic>true</Deterministic>
</PropertyGroup>

Expand Down
7 changes: 0 additions & 7 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,4 @@
<NETCoreAppMaximumVersion>$(MajorVersion).$(MinorVersion)</NETCoreAppMaximumVersion>
</PropertyGroup>

<!-- Language configuration -->
<PropertyGroup>
<!-- default to allowing all language features -->
<LangVersion>preview</LangVersion>
<LangVersion Condition="'$(Language)' == 'VB'">latest</LangVersion>
</PropertyGroup>

</Project>
240 changes: 119 additions & 121 deletions docs/area-owners.md

Large diffs are not rendered by default.

102 changes: 102 additions & 0 deletions docs/design/features/Linux-Hugepage-Crossgen2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
Configuring Huge Pages for loading composite binaries using CoreCLR on Linux
----

Huge pages can provide performance benefits to reduce the cost of TLB cache misses when
executing code. In general, the largest available wins may be achieved by enabling huge
pages for use by the GC, which will dominate the memory use in the process, but in some
circumstances, if the application is sufficiently large, there may be a benefit to using
huge pages to map in code.

It is expected that consumers who have these needs have very large applications, and are
able to tolerate somewhat complex solutions. CoreCLR supports loading composite R2R
images using the hugetlbfs. Doing some requires several steps.

1. The composite image must be created with a switch such as `--custom-pe-section-alignment=2097152`. This will align the PE sections in the R2R file on 2MB virtual address boundaries, and align the sections in the PE file itself on the same boundaries.
- This will increase the size of the image by up to 5 * the specified alignment. Typical increases will be more similar to 3 * the specified alignment
2. The composite image must be copied into a hugetlbfs filesystem which is visible to the .NET process instead of the composite image being loaded from the normal path.
- IMPORTANT: The composite image must NOT be located in the normal path next to the application binary, or that file will be used instead of the huge page version.
- The environment variable `COMPlus_NativeImageSearchPaths` must be set to point at the location of the hugetlbfs in use. For instance, `COMPlus_NativeImageSearchPaths` might be set to `/var/lib/hugetlbfs/user/USER/pagesize-2MB`
- As the cp command does not support copying into a hugetlbfs due to lack of support for the write syscall in that file system, a custom copy application must be used. A sample application that may be used to perform this task has a source listing in Appendix A.
3. The machine must be configured to have sufficient huge pages available in the appropriate huge page pool. The memory requirements of huge page PE loading are as follows.
- Sufficient pages to hold the unmodified copy of the composite image in the hugetlbfs. These pages will be used by the initial copy which emplaces the composite image into huge pages.
- By default the runtime will map each page of the composite image using a MAP_PRIVATE mapping. This will require that the maximum number of huge pages is large enough to hold a completely separate copy of the image as loaded.
- To reduce that cost, launch the application with the PAL_MAP_READONLY_PE_HUGE_PAGE_AS_SHARED environment variable set to 1. This environment variable will change the way that the composite image R2R files are mapped into the process to create the mappings to read only sections as MAP_SHARED mappings. This will reduce the extra huge pages needed to only be the sections marked as RW in the PE file. On a Windows machine use the link tool (`link /dump /header compositeimage.dll` to determine the number of pages needed for the these `.data` section of the PE file.)
- If the PAL_MAP_READONLY_PE_HUGE_PE_AS_SHARED is set, the number of huge pages needed is `<Count of huge pages for composite file> + <count of processes to run> * <count of huge pages needed for the .data section of the composite file>`

Appendix A - Source for a simple copy into hugetlbfs program.

```
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char** argv)
{
if (argc != 3)
{
printf("Incorrect number arguments specified. Arguments are <src> <dest>");
return 1;
}

void *addrSrc, *addrDest;
int fdSrc, fdDest, ret;

fdSrc = open(argv[1], O_RDWR);
if (fdSrc < 0)
{
printf("Open src failed\n");
return 1;
}

struct stat st;
if (fstat(fdSrc, &st) < 0)
{
printf("fdSrc fstat failed\n");
return 1;
}

addrSrc = mmap(0, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fdSrc, 0);
if (addrSrc == MAP_FAILED)
{
printf("fdSrc mmap failed\n");
return 1;
}

fdDest = open(argv[2], O_CREAT | O_RDWR, 0755);
if (fdDest < 0)
{
printf("Open dest failed\n");
return 1;
}

if (ftruncate(fdDest, st.st_size) < 0)
{
printf("ftruncate failed\n");
return 1;
}

addrDest = mmap(0, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fdDest, 0);
if (addrDest == MAP_FAILED)
{
printf("fdDest mmap failed\n");
return 1;
}

memcpy(addrDest, addrSrc, st.st_size);

munmap(addrSrc, st.st_size);
munmap(addrDest, st.st_size);
close(fdSrc);
close(fdDest);
return 0;
}
```
2 changes: 2 additions & 0 deletions docs/design/features/host-error-codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,5 @@ For example if `hostfxr_get_runtime_property_value` is called with the `host_con
* `HostPropertyNotFound` (`0x800080a4`) - property requested by `hostfxr_get_runtime_property_value` doesn't exist.

* `CoreHostIncompatibleConfig` (`0x800080a5`) - Error returned by `hostfxr_initialize_for_runtime_config` if the component being initialized requires framework which is not available or incompatible with the frameworks loaded by the runtime already in the process. For example trying to load a component which requires 3.0 into a process which is already running a 2.0 runtime.

* `HostApiUnsupportedScenario` (`0x800080a6`) - Error returned by `hostfxr_get_runtime_delegate` when `hostfxr` doesn't currently support requesting the given delegate type using the given context.
2 changes: 1 addition & 1 deletion docs/design/features/native-hosting.md
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ Starts the runtime and returns a function pointer to specified functionality of
* `delegate` - when successful, the native function pointer to the requested runtime functionality.

In .NET Core 3.0 the function only works if `hostfxr_initialize_for_runtime_config` was used to initialize the host context.
In .NET 5 the function also works if `hostfxr_initialize_for_dotnet_command_line` was used to initialize the host context. Also for .NET 5 it will only be allowed to request `hdt_get_function_pointer` on a context initialized via `hostfxr_initialize_for_dotnet_command_line`, all other runtime delegates will not be supported in this case.
In .NET 5 the function also works if `hostfxr_initialize_for_dotnet_command_line` was used to initialize the host context. Also for .NET 5 it will only be allowed to request `hdt_load_assembly_and_get_function_pointer` or `hdt_get_function_pointer` on a context initialized via `hostfxr_initialize_for_dotnet_command_line`, all other runtime delegates will not be supported in this case.


### Cleanup
Expand Down
2 changes: 1 addition & 1 deletion docs/project/writing-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ using Microsoft.DotNet.RemoteExecutor;

public class HttpWebRequestTest
{
[Fact]
[ConditionalFact(typeof(RemoteExecutor), nameof(RemoteExecutor.IsSupported))]
public void DefaultMaximumResponseHeadersLength_SetAndGetLength_ValuesMatch()
{
RemoteExecutor.Invoke(() =>
Expand Down
1 change: 1 addition & 0 deletions eng/ApiCompatExcludeAttributes.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
T:System.CLSCompliantAttribute
T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute
5 changes: 3 additions & 2 deletions eng/Configurations.props
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('SUNOS'))">SunOS</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('SOLARIS'))">Solaris</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSUnixLike())">Linux</TargetOS>
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('WINDOWS'))">Windows_NT</TargetOS>
<CoreCLRTargetOS Condition="'$(CoreCLRTargetOS)' == ''">$(TargetOS)</CoreCLRTargetOS>
Expand All @@ -70,4 +71,4 @@
<!-- Enable NuGet static graph evaluation to optimize incremental restore -->
<RestoreUseStaticGraphEvaluation>true</RestoreUseStaticGraphEvaluation>
</PropertyGroup>
</Project>
</Project>
2 changes: 2 additions & 0 deletions eng/DefaultGenApiDocIds.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ T:System.ComponentModel.ToolboxItemAttribute
T:System.ComponentModel.TypeDescriptionProviderAttribute
T:System.Configuration.ConfigurationPropertyAttribute
T:System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute
T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute
T:System.Diagnostics.DebuggerBrowsableAttribute
T:System.Diagnostics.DebuggerDisplayAttribute
T:System.Diagnostics.DebuggerHiddenAttribute
Expand Down
4 changes: 3 additions & 1 deletion eng/Signing.props
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.DependencyAnalysisFramework.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)ILCompiler.TypeSystem.ReadyToRun.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)clrjitilc.dll" />
<ItemsToSign Include="$(CoreCLRCrossgen2Dir)jitinterface.dll" />

<ItemsToSign Condition="'$(TargetOS)' == 'Windows_NT'" Include="$(CoreCLRCrossgen2Dir)clrjit-win-$(TargetArchitecture).dll" />
<ItemsToSign Condition="'$(TargetOS)' != 'Windows_NT'" Include="$(CoreCLRCrossgen2Dir)clrjit-unix-$(TargetArchitecture).dll" />

<ItemsToSign Include="@(CoreCLRCrossTargetItemsToSign)" />

<FileSignInfo Include="mscordaccore.dll" CertificateName="MicrosoftSHA2" />
Expand Down
2 changes: 1 addition & 1 deletion eng/SubsetValidation.targets
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<Error Text="Subset not recognized: @(InvalidSpecifiedSubsetName, ' ')"
Condition="'$(UserRequestedHelp)' != 'true'" />

<Error Text="Choose a subset to use, or do not specify a subset to perform the full build."
<Error Text="This is not an error. These are the available subsets. You can choose one or none at all for a full build."
Condition="'$(UserRequestedHelp)' == 'true'" />
</Target>

Expand Down
Loading