platform/upstream/dotnet/runtime.git
4 years agoRemove links to issues in old repositories
Viktor Hofer [Wed, 12 Feb 2020 12:44:47 +0000 (13:44 +0100)]
Remove links to issues in old repositories

4 years agoSimplify signature context management in Crossgen2 (#32158)
Tomáš Rylek [Wed, 12 Feb 2020 12:42:07 +0000 (13:42 +0100)]
Simplify signature context management in Crossgen2 (#32158)

Based on my recent design discussions with JanK it turns out that
we don't want heterogeneous import cells in composite R2R images.
An interesting corollary of this fact is that the signature context
only changes internally during recursive descent into generic
signatures and at the top level it's a singleton during the entire
build. Due to this fact we don't need to store it in the various
import nodes and keys and we can just use the singleton in
NodeFactory. I have highlighted this fact by renaming it from
InputModuleContext to SignatureContext.

Thanks

Tomas

4 years ago[runtime] Call mono_stack_mark_record_size () only in a checked build, its slow,...
monojenkins [Wed, 12 Feb 2020 09:43:50 +0000 (04:43 -0500)]
[runtime] Call mono_stack_mark_record_size () only in a checked build, its slow, and the __FUNCTION__ argument creates a C string for every function name. (#32017)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoUnify int to hexadecimal char conversions (#1273)
Marek Safar [Wed, 12 Feb 2020 09:17:29 +0000 (10:17 +0100)]
Unify int to hexadecimal char conversions (#1273)

* Unify int to hexadecimal char conversions

This replaces about 7 different implementations with a single version

4 years ago[utils] Add unused attribute to fix warning in checked-build.c (#32138)
Ryan Lucia [Wed, 12 Feb 2020 06:57:29 +0000 (01:57 -0500)]
[utils] Add unused attribute to fix warning in checked-build.c (#32138)

4 years ago[jit] Add an #ifdef around MONO_CPU_WASM_SIMD. (#32014)
monojenkins [Wed, 12 Feb 2020 06:56:54 +0000 (01:56 -0500)]
[jit] Add an #ifdef around MONO_CPU_WASM_SIMD. (#32014)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoActually enables IOV features in createdump (#31782)
Next Turn [Wed, 12 Feb 2020 04:19:30 +0000 (12:19 +0800)]
Actually enables IOV features in createdump (#31782)

4 years agoRevert "Display stack trace at stack overflow (#31956)" (#32153)
Santiago Fernandez Madero [Wed, 12 Feb 2020 03:11:27 +0000 (19:11 -0800)]
Revert "Display stack trace at stack overflow (#31956)" (#32153)

This reverts commit 65587ba7b402411b62ce877ee044aef2c2c71dfd.

4 years agoReplace default(T) != null with typeof(T).IsValueType (#32098)
Levi Broderick [Wed, 12 Feb 2020 02:34:58 +0000 (18:34 -0800)]
Replace default(T) != null with typeof(T).IsValueType (#32098)

Only affects call sites which weren't intending to special-case Nullable<T>

4 years agoUnix: Default to a users-specific temp directory for extracting single-file apps...
Swaroop Sridhar [Wed, 12 Feb 2020 02:24:44 +0000 (18:24 -0800)]
Unix: Default to a users-specific temp directory for extracting single-file apps (#2329)

In .net core 3, single file apps run by extracting the bundled contents to a temp directory.
The extraction directory is machine specific, and can be set through DOTNET_BUNDLE_EXTRACT_BASE_DIR environment variable.

When this setting is not configured, the host tries to use certain default directories.
On windows, extraction is within %TMPDIR%, which is user specific.
On Unix systems $TMPDIR/.net if set, which may be user specific (ex: MAC)
Otherwise, the extraction directory is within /var/tmp/ or /tmp/ which is common to all users, and may be locked by a specific user on first creation.

Therefore, this change fixes this issue by defaulting the extraction base directory in Unix systems to
`<temp-dir>/.net/<user-ID>` , where
`<temp-dir>/.net/` has permission 0777, and
`<temp-dir>/.net/<user-ID>/` has permission 01700.

This fix will be migrated to coreclr/3.1 branch for servicing.

Testing: Manual testing on Unix/Mac systems, since we don't have the setup to add automated tests with multiple users.

Issue #3846

4 years agoIntroduce native AssemblyLoadContext base class (#32097)
Jan Kotas [Wed, 12 Feb 2020 02:13:12 +0000 (18:13 -0800)]
Introduce native AssemblyLoadContext base class (#32097)

* Add assemblyloadcontext.*

* Make AssemblyContext base class

* Add method to return AssemblyLoadContext

4 years agoUpdates and additions to the composite R2R format (#32137)
Tomáš Rylek [Wed, 12 Feb 2020 00:23:49 +0000 (01:23 +0100)]
Updates and additions to the composite R2R format (#32137)

Based on my progress with composite R2R implementation I propose
clarifying the design as follows:

1) I have proposed a rewriting scheme for the standalone MSIL
files next to the composite R2R executable to receive forwarding
information pointing at the composite file;

2) I have updated the section names I renamed yesterday and I
added a description of the new section OwnerCompositeExecutable
to be used for the forwarding information.

Thanks

Tomas

4 years agoEliminate duplicate zero initializations more aggressively. (#31960)
Eugene Rozenfeld [Tue, 11 Feb 2020 23:40:26 +0000 (15:40 -0800)]
Eliminate duplicate zero initializations more aggressively. (#31960)

We have 3 places in the code where we may need to insert explicit zero
initialization. In some cases the initialization may become redundant with prolog
initialization so we have logic to avoid explicit initialization in some cases.
This change makes the logic less conservative.

1. If the variable is not being initialized in a loop, we can avoid explicit zero initialization if
      - the variable is a gc pointer, or
      - the variable is a struct with gc pointer fields and either all fields are gc pointer fields
          or the struct is big enough to guarantee block initialization, or
      - compInitMem is set and the variable has a long lifetime or has gc fields.

   Before this change we always inserted explicit zero initalization when compInitMem
   wasn't set and the variable was a gc pointer or a struct with gc fields. This relaxes that
   as described above.

2. When we were allocating structs via newobj, we were always inserting explicit zero initializations
   when importing an inlinee. This change applies the same optimization if the basic block can't be
   in a loop after inlining.

3. When we were initializing inlinee locals, we were only optimizing explicit zero initializations
   for structs; however, the same logic applies to non-structs.

4. If the initialization basic block is in a loop but is BBJ_RETURN, we may avoid zero initialization
   since the block will be executed at most once per method invocation.

4 years agoMerge pull request #32095 from nattress/ResourceStrings
Simon Nattress [Tue, 11 Feb 2020 23:15:38 +0000 (15:15 -0800)]
Merge pull request #32095 from nattress/ResourceStrings

Move crossgen2 user-facing strings to resx

4 years agoRemove BMI2 intrinsics from ASCII and UTF-8 transcoding logic (#31904)
Levi Broderick [Tue, 11 Feb 2020 23:13:56 +0000 (15:13 -0800)]
Remove BMI2 intrinsics from ASCII and UTF-8 transcoding logic (#31904)

Improves performance on processors where pdep/pext aren't optimized

4 years agoFixed ASP.NET Core links in Readme (#32139)
Jim Buck [Tue, 11 Feb 2020 23:05:35 +0000 (18:05 -0500)]
Fixed ASP.NET Core links in Readme (#32139)

* Fixed obsolete org names in readme.

Since `aspnet/aspnetcore` has been transferred to `dotnet/aspnetcore` the links were incorrect (redirects worked fine). This just aligns them with the correct URLs.

* Changed "ASP.NET Core home" to docs home.

* Removed forced `en-us` in URL.

4 years ago[mono] Implement Sse2.AddSaturate using LLVM (#32116)
Egor Bogatov [Tue, 11 Feb 2020 22:50:05 +0000 (01:50 +0300)]
[mono] Implement Sse2.AddSaturate using LLVM (#32116)

* Implement Sse2.AddSaturate

* Undo changes in Makefile

* Fix typo

* Address feedback

4 years agoUpdate shared Http3 code (#32133)
Justin Kotalik [Tue, 11 Feb 2020 22:48:55 +0000 (14:48 -0800)]
Update shared Http3 code (#32133)

4 years ago[mono] Change library id to @rpath/libcoreclr.dylib when copying (#32135)
Ryan Lucia [Tue, 11 Feb 2020 22:47:37 +0000 (17:47 -0500)]
[mono] Change library id to @rpath/libcoreclr.dylib when copying (#32135)

4 years agoImplement QUIC abort exceptions, fix channel usage, and implement some tests. (#32051)
Cory Nelson [Tue, 11 Feb 2020 22:38:05 +0000 (14:38 -0800)]
Implement QUIC abort exceptions, fix channel usage, and implement some tests. (#32051)

New: implement QuicStreamAbortedException, QuicConnectionAbortedException, QuicOperationAbortedException.
Fix: MsQuic returning null implementation when completing listener/connection channels.
Fix: some flags types being defined as 8-bit when they are 32-bit in msquic.h
Add some additional tests demonstrating failures seen in HttpClient.

4 years agoEnable building Mono LLVM osx-x64 NuGets (#32092)
Filip Navara [Tue, 11 Feb 2020 21:48:31 +0000 (22:48 +0100)]
Enable building Mono LLVM osx-x64 NuGets (#32092)

* Enable building Mono LLVM osx-x64 NuGets

* Fix restoring on LLVM NuGets on macOS

* Enable release builds too

* Remove dependency on NETCoreSdkRuntimeIdentifier

4 years agoMerge pull request #2259 from steveharter/NewConverterModel
Steve Harter [Tue, 11 Feb 2020 21:32:12 +0000 (15:32 -0600)]
Merge pull request #2259 from steveharter/NewConverterModel

New serializer converter model for objects and collections

4 years agoMake FPU settings configurable for installer (#32053)
Adeel Mujahid [Tue, 11 Feb 2020 21:08:51 +0000 (23:08 +0200)]
Make FPU settings configurable for installer (#32053)

4 years agoadding binlog and removing genrateRuntimeOSprops (#31945)
Anirudh Agnihotry [Tue, 11 Feb 2020 20:48:35 +0000 (12:48 -0800)]
adding binlog and removing genrateRuntimeOSprops (#31945)

4 years agoFix native CoreCLR build with special feature flags used by Tizen (#32119)
Tomáš Rylek [Tue, 11 Feb 2020 20:19:07 +0000 (21:19 +0100)]
Fix native CoreCLR build with special feature flags used by Tizen (#32119)

4 years ago[runtime] Simplify access to runtime TLS variables when DISABLE_THREADS is defined...
monojenkins [Tue, 11 Feb 2020 19:49:40 +0000 (14:49 -0500)]
[runtime] Simplify access to runtime TLS variables when DISABLE_THREADS is defined, they become simple globals. (#32015)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoNew converter model additional refactoring and feedback
Steve Harter [Tue, 28 Jan 2020 19:02:57 +0000 (13:02 -0600)]
New converter model additional refactoring and feedback

4 years agoA few small jit changes. (#31816)
Sergey Andreenko [Tue, 11 Feb 2020 19:11:42 +0000 (11:11 -0800)]
A few small jit changes. (#31816)

* Small refactoring changes.

* Additional checks and returns, no diffs.

* Fix SPMI replay with JitDump enabled.

* update the comment and do the same for arm.

4 years agoFix build warnings (#32122)
Next Turn [Tue, 11 Feb 2020 18:52:59 +0000 (02:52 +0800)]
Fix build warnings (#32122)

4 years agoSmtpClientTest: disable TestZeroTimeout (#32099)
Tom Deseyn [Tue, 11 Feb 2020 18:49:41 +0000 (19:49 +0100)]
SmtpClientTest: disable TestZeroTimeout (#32099)

Disable to prevent CI failures.

4 years agoSpecial-case two set loops in RegexCompiler (#32003)
Stephen Toub [Tue, 11 Feb 2020 18:35:11 +0000 (10:35 -0800)]
Special-case two set loops in RegexCompiler (#32003)

* Optimize .* in Singleline mode

When RegexOptions.Singleline is specified, `.*` goes from meaning `[^\n]*` to meaning `[everything]*`.  As such, when we encounter it, we can just jump to the end without actually comparing anything.  This is worth optimizing in in the compiler because, well, why not, but we don't in the interpreter because it's not a common-enough pattern to spend cycles checking for.

* Use IndexOfAny to implement set loops of 2 or 3 negated chars

* Apply suggestions from code review

Co-Authored-By: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
4 years ago[mini] Wrap check for debug info enabled in ENABLE_NETCORE in all places (#32113)
monojenkins [Tue, 11 Feb 2020 15:50:38 +0000 (10:50 -0500)]
[mini] Wrap check for debug info enabled in ENABLE_NETCORE in all places (#32113)

See if this fixes the weird bug-10127.exe test failure that only occurs on Windows C++ builds.

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years agoAdd mono offsets-tool for generating cross-compiler offsets (#32110)
Alexander Köplinger [Tue, 11 Feb 2020 12:37:58 +0000 (13:37 +0100)]
Add mono offsets-tool for generating cross-compiler offsets (#32110)

This is a build-only tool used to generate the offsets file for Mono cross compilers.

Taken from https://github.com/mono/mono/tree/071b7259d517b9298c2672e16248f62c5e3ce500/mono/tools/offsets-tool

4 years ago[interp] reclaim stack fragments when not used. (#32022)
monojenkins [Tue, 11 Feb 2020 09:59:43 +0000 (04:59 -0500)]
[interp] reclaim stack fragments when not used. (#32022)

When a requested frame size doesn't fit in an already allocated stack fragment, we instead allocate another, larger fragment.
When doing this we missed to free the existing stack fragment, and in combination with a second problem (`current->next` not being cleared when unused) it can accumulate to a lot of unused stack fragments and in worst-case to OOM, as it happened on Linux corlib xunit tests.

Thanks to Jay for tracking it down.

Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
4 years ago[cross] support arm-linux-gnueabihf cross compiling with netcore (#31803)
monojenkins [Tue, 11 Feb 2020 08:49:57 +0000 (03:49 -0500)]
[cross] support arm-linux-gnueabihf cross compiling with netcore (#31803)

Some notes on usage:

```console
$ sudo apt install g{++,cc}-gnu-linux-gnueabihf python3-pip

$ ./autogen.sh --disable-boehm --target=arm-linux-gnueabihf \
    --with-cross-offsets=arm-linux-gnueabihf-cross-offsets.h \
    --with-core=only \
    CFLAGS="-O0 -ggdb3 -fno-omit-frame-pointer" \
    CXXFLAGS="-O0 -ggdb3 -fno-omit-frame-pointer"

$ make -C tools/offsets-tool-py/

$ python3 tools/offsets-tool-py/offsets-tool.py \
    --targetdir=/home/lewurm/work/mono \
    --abi=arm-linux-gnueabihf \
    --monodir=/home/lewurm/work/mono \
    --outfile=arm-linux-gnueabihf-cross-offsets.h \
    --libclang=/usr/lib/x86_64-linux-gnu/libclang-7.so.1 \
    --sysroot=/usr/arm-linux-gnueabihf \
    --netcore
```

Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
4 years ago[mono] Allow the use of an override directory for LLVM. (#32070)
imhameed [Tue, 11 Feb 2020 08:37:27 +0000 (00:37 -0800)]
[mono] Allow the use of an override directory for LLVM. (#32070)

With this change, a custom LLVM directory can be set via the `MonoLLVMDir` property. When using a custom LLVM directory, llvm-init.proj will be ignored.

`--enable--llvm` (with two dashes) is not a valid mono configure argument, and `--enable-llvm` is implied by `--with-llvm`.

4 years agoAdd volatile for cross thread communication. (#31964)
monojenkins [Tue, 11 Feb 2020 08:16:19 +0000 (03:16 -0500)]
Add volatile for cross thread communication. (#31964)

This test is flaky. Maybe this helps. Otherwise I'll dig in later.

Co-authored-by: Jay Krell <jay.krell@cornell.edu>
4 years agoMove crossgen2 user-facing strings to resx
Simon Nattress [Tue, 11 Feb 2020 06:22:28 +0000 (22:22 -0800)]
Move crossgen2 user-facing strings to resx

* Move user-visible strings for command line use and argument validation to a resx file so they can be localized.
* Logging strings are left alone. When we collect logs from customers, we'll want them in English.

4 years agoAnnotate System.Security.Cryptography.Algorithms for nullable (#2375)
buyaa-n [Tue, 11 Feb 2020 06:04:54 +0000 (22:04 -0800)]
Annotate System.Security.Cryptography.Algorithms for nullable (#2375)

* Annotate System.Security.Cryptography.Algorithms for nullable

4 years agoUse ref for stream event in System.Net.Quic (#32086)
Justin Kotalik [Tue, 11 Feb 2020 05:36:25 +0000 (21:36 -0800)]
Use ref for stream event in System.Net.Quic (#32086)

4 years agoBuild failed due to -Werror option (#32040)
Kirill Frolov [Tue, 11 Feb 2020 04:42:15 +0000 (07:42 +0300)]
Build failed due to -Werror option (#32040)

* fixed error processing for pipe2 call in Unix/../pal_process.c

Due to -Werror warning (function result not checked) is converted to an
error.

Fix #32038

* fixed warnings in Unix/../pal_networking.c

Due to -Werror all warnings (wrong signess, wrong types) converted to
errors, so why this changes needed.

Fix #32038

4 years agoCrossgen2: ensure base address >= 4 GiB for 64-bit Windows targets (#32064)
Anton Lapounov [Tue, 11 Feb 2020 04:40:49 +0000 (20:40 -0800)]
Crossgen2: ensure base address >= 4 GiB for 64-bit Windows targets (#32064)

Crossgen2: ensure base address >= 4 GiB for 64-bit Windows targets.
Also fix ADRP's argument calculation for ARM64.

4 years agoTighten up some SSE2 ASCII + UTF-16 transcoding logic (#32036)
Levi Broderick [Tue, 11 Feb 2020 04:33:14 +0000 (20:33 -0800)]
Tighten up some SSE2 ASCII + UTF-16 transcoding logic (#32036)

Makes more efficient use of register allocation and uses paddusw to speed up some operations

4 years agoFix infinite loop in string.Replace (#31946)
Levi Broderick [Tue, 11 Feb 2020 04:29:53 +0000 (20:29 -0800)]
Fix infinite loop in string.Replace (#31946)

When string.Replace is given a target string with zero collation weight, it would enter an infinite loop. It is now changed so that the call to Replace terminates when such a condition is encountered.

4 years agoRename CoreCLR runtime R2R section names to match Crossgen2 naming (#32084)
Tomáš Rylek [Tue, 11 Feb 2020 02:45:20 +0000 (03:45 +0100)]
Rename CoreCLR runtime R2R section names to match Crossgen2 naming (#32084)

4 years agoSet azure devops variable if any package reports are found and skip copy packages...
Santiago Fernandez Madero [Tue, 11 Feb 2020 02:18:09 +0000 (18:18 -0800)]
Set azure devops variable if any package reports are found and skip copy packages base on that (#32083)

* Set azure devops variable if any package reports are found

* Run target in CI as well

4 years agoR2RDump changes for composite R2R format support (#32027)
Tomáš Rylek [Tue, 11 Feb 2020 01:59:53 +0000 (02:59 +0100)]
R2RDump changes for composite R2R format support (#32027)

I have separated the R2RDump-specific changes from my broader
composite R2R change. The gist of the change is becoming able to
read the new "native R2R header" flavor and look up MSIL in
separate DLL's next to the R2R executable.

On top of this basic scheme I have removed the section ID
duplication between ReadyToRunSection.cs and RuntimeHeaders.cs.
I have also slightly cleaned up unnecessary double dictionary
lookups for R2R sections.

For now I have made EH clause parsing work in single-assembly build
mode only, for composite R2R that will require additional changes.

Thanks

Tomas

4 years agoAdd assert to Unix GCToOSInterface::GetCurrentProcessorNumber for clarity (#32033)
Jan Kotas [Tue, 11 Feb 2020 01:36:25 +0000 (17:36 -0800)]
Add assert to Unix GCToOSInterface::GetCurrentProcessorNumber for clarity (#32033)

Fixes #31995

4 years agoadd fromPackage to exclude properties (#32063)
Anirudh Agnihotry [Tue, 11 Feb 2020 00:33:55 +0000 (16:33 -0800)]
add fromPackage to exclude properties (#32063)

4 years ago[Arm64] Implement FMA, FMS, MLA, MLS (#31899)
Egor Chesakov [Tue, 11 Feb 2020 00:23:31 +0000 (16:23 -0800)]
[Arm64] Implement  FMA, FMS, MLA, MLS (#31899)

* Add "FusedMultiplyAdd" and "FusedMultiplyAddScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplySubtract" and "FusedMultiplySubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplyAddNegatedScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplySubtractNegatedScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "MultiplyAdd" and "MultiplyAddScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "MultiplySubtract" and "MultiplySubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Update System.Runtime.Intrinsics.Experimental.cs

* Add fused multiply-add and multiply-subtract intrinsics in hwintrinsiclistarm64.h

* Add "MultiplyAdd" and "MultiplySubtract" in hwintrinsiclistarm64.h

* Implement fused multiply-add and multiply-subtract intrinsics in hwintrinsiccodegenarm64.cpp

* Add fused multiply-add and multiply-subtract intrinsics in GenerateTests.csx

* Mark uses of op2 and op3 of fma, fms, mla, mls intrinsics as delay free in lsraarm64.cpp

* Add "MultiplyAdd" in GenerateTests.csx

* Add "MultiplySubtract" in GenerateTests.csx

* Update AdvSimd/ AdvSimd.Arm64/

* Update Helpers.cs Helpers.tt

4 years agopass Span through Windows PAL (#32008)
Tomas Weinfurt [Tue, 11 Feb 2020 00:20:47 +0000 (16:20 -0800)]
pass Span through Windows PAL (#32008)

* pass Span through Windws PAL

* feedback from review

* feedback from review

* remove missed referenmces to GetBuffer

4 years agoupdate the comment and do the same for arm.
Sergey Andreenko [Tue, 11 Feb 2020 00:02:45 +0000 (16:02 -0800)]
update the comment and do the same for arm.

4 years agoFix SPMI replay with JitDump enabled.
Sergey Andreenko [Wed, 5 Feb 2020 01:50:14 +0000 (17:50 -0800)]
Fix SPMI replay with JitDump enabled.

4 years agoAdditional checks and returns, no diffs.
Sergey Andreenko [Wed, 5 Feb 2020 00:51:44 +0000 (16:51 -0800)]
Additional checks and returns, no diffs.

4 years agoSmall refactoring changes.
Sergey Andreenko [Wed, 5 Feb 2020 00:51:22 +0000 (16:51 -0800)]
Small refactoring changes.

4 years agoSuppress GCC warning (#32052)
Sinan Kaya [Mon, 10 Feb 2020 23:56:29 +0000 (18:56 -0500)]
Suppress GCC warning (#32052)

4 years agoDisplay stack trace at stack overflow (#31956)
Jan Vorlicek [Mon, 10 Feb 2020 23:39:03 +0000 (00:39 +0100)]
Display stack trace at stack overflow (#31956)

* Display stack trace at stack overflow

This change enables printing stack trace at stack overflow to the
console. In case multiple threads fail with stack overflow in parallel,
only the trace of the first thread is printed.

* Update the stack overflow stack size to use fixed size as a basis rather than
basing it on the virtual page size.
* Rename the AdjustContextForWriteBarrier to AdjustContextForJITHelpers
* Add waiting for the stack overflow stack trace printing completion to
the `EEPolicy::HandleFatalStackOverflow` so that it gets printed
completely even in case of multiple threads failing with stack overflow.

4 years agoFix signing in PR runs (#31926)
Tomáš Rylek [Mon, 10 Feb 2020 23:23:25 +0000 (00:23 +0100)]
Fix signing in PR runs (#31926)

Make URCT copying unconditional to unblock installer tasks in debug
mode.

Thanks

Tomas

4 years agoFixed armel/tizen support in build-commons.h (#32043)
Kirill Frolov [Mon, 10 Feb 2020 23:08:26 +0000 (02:08 +0300)]
Fixed armel/tizen support in build-commons.h (#32043)

This commit adds possibility to build .NET runtime
in Tizen's build environment (32-bit arm, little endian,
soft fp). Two issues was fixed:

1) wrong host os detection (tizen's build system is "armel",
   but not "arm");

2) build is allowed not only on "arm", "arm64" and "x64" hosts,
   but on "armel" host too.

Fixes #32042

4 years agoAdd MailAddress.TryCreate api (#1052)
Marco Rossignoli [Mon, 10 Feb 2020 23:05:58 +0000 (00:05 +0100)]
Add MailAddress.TryCreate api (#1052)

* Add TryCreate apis

* address PR feedback

* Update src/libraries/Common/src/System/Net/Mail/MailAddressParser.cs

Co-Authored-By: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/Common/src/System/Net/Mail/DotAtomReader.cs

Co-Authored-By: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/Common/src/System/Net/Mail/MailAddressParser.cs

Co-Authored-By: Stephen Toub <stoub@microsoft.com>
* Address PR feedback, split TryParse parameters for better visibility

* Address PR feedback, add return api documentation, update code comments

* set out parameter when we have result

Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years agoSuperIlc changes for composite build mode support (#32028)
Tomáš Rylek [Mon, 10 Feb 2020 22:29:08 +0000 (23:29 +0100)]
SuperIlc changes for composite build mode support (#32028)

This change mostly modifies CompilerRunner to support processes
with multiple input paths so that we can run a single Crossgen2
compilation over a larger set of input files. Based on the latest
iteration of my overall composite R2R support change I have now
made it such that SuperIlc passes the framework assemblies to
Crossgen2 using the "-u" option which means "use as input but
don't automatically root all methods in the module i.o.w. compile
only what is transitively reachable from the test app input modules".

Thanks

Tomas

4 years agoRemove Daily Builds section (#32057)
Eric Erhardt [Mon, 10 Feb 2020 22:18:36 +0000 (16:18 -0600)]
Remove Daily Builds section (#32057)

This section has been out of date since the repo consolidation. The Master column is from November - the last build from core-setup. The other columns don't make sense for this repo, since we don't service those releases from dotnet/runtime.

We can bring this table back when we get a way to keep the links up to date. See #32055 for tracking that.

4 years agoAdd a Windows Arm64 job to the runtime innerloop pipeline (#2095)
Tomáš Rylek [Mon, 10 Feb 2020 20:16:19 +0000 (21:16 +0100)]
Add a Windows Arm64 job to the runtime innerloop pipeline (#2095)

Also adds exclusion clause for two failing JIT tests.

4 years agoAllow TYP_SIMD8 to be enregistered (#811)
Carol Eidt [Mon, 10 Feb 2020 20:15:11 +0000 (12:15 -0800)]
Allow TYP_SIMD8 to be enregistered (#811)

Allow TYP_SIMD8 to be enregistered

Fix #539

4 years agoEnable builds of mono VM with LLVM JIT
Jo Shields [Mon, 10 Feb 2020 19:42:44 +0000 (14:42 -0500)]
Enable builds of mono VM with LLVM JIT

The meta-package for LLVM dependencies will be done as a follow up

4 years agoRemove monodis from mono sources (#32031)
Alexander Köplinger [Mon, 10 Feb 2020 18:40:38 +0000 (19:40 +0100)]
Remove monodis from mono sources (#32031)

It's not needed for dotnet/runtime and was already disabled in the build.

4 years agouse TestHelper to create client and server stream (#32007)
Tomas Weinfurt [Mon, 10 Feb 2020 18:39:38 +0000 (10:39 -0800)]
use TestHelper to create client and server stream (#32007)

4 years ago[master] Update dependencies from dotnet/arcade (#31917)
dotnet-maestro[bot] [Mon, 10 Feb 2020 17:53:36 +0000 (09:53 -0800)]
[master] Update dependencies from dotnet/arcade (#31917)

* Update dependencies from https://github.com/dotnet/arcade build 20200206.12

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20106.12
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20106.12
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20106.12
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20106.12
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20106.12
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20106.12
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20106.12
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20106.12
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20106.12
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20106.12
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20106.12
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20106.12
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20106.12
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20106.12
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20106.12

* Update dependencies from https://github.com/dotnet/arcade build 20200207.14

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20107.14
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20107.14
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20107.14
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20107.14
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20107.14
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20107.14
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20107.14
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20107.14
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20107.14
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20107.14
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20107.14
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20107.14
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20107.14
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20107.14
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20107.14

* Update dependencies from https://github.com/dotnet/arcade build 20200208.2

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20108.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20108.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20108.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20108.2
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20108.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20108.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20108.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20108.2
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20108.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20108.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20108.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20108.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20108.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20108.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20108.2

* Update dependencies from https://github.com/dotnet/arcade build 20200209.1

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20109.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20109.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20109.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20109.1
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20109.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20109.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20109.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20109.1
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20109.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20109.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20109.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20109.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20109.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20109.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20109.1

4 years agoRename COREFX_ to DOTNET_TEST_ in test code/scripts (#31967)
Stephen Toub [Mon, 10 Feb 2020 16:45:28 +0000 (08:45 -0800)]
Rename COREFX_ to DOTNET_TEST_ in test code/scripts (#31967)

4 years agoNullable annotate System.IO.Pipes (#31918)
Eirik Tsarpalis [Mon, 10 Feb 2020 16:30:25 +0000 (16:30 +0000)]
Nullable annotate System.IO.Pipes (#31918)

* annotate System.IO.Pipes

* update Stream override method signatures

4 years agoAnnotate System.Net.NameResolution for nullable reference types (#32011)
Stephen Toub [Mon, 10 Feb 2020 16:04:55 +0000 (08:04 -0800)]
Annotate System.Net.NameResolution for nullable reference types (#32011)

4 years agoAnnotate System.Net.ServicePoint for nullable reference types (#32012)
Stephen Toub [Mon, 10 Feb 2020 16:04:38 +0000 (08:04 -0800)]
Annotate System.Net.ServicePoint for nullable reference types (#32012)

4 years agomove ArrayBuffer to Common (#32002)
Tomas Weinfurt [Mon, 10 Feb 2020 07:05:34 +0000 (23:05 -0800)]
move ArrayBuffer to Common (#32002)

* move ArrayBuffer to Common

* remove old reference to ArrayBuffer.cs

4 years agoFix for runtime-live-build break per Santi's suggestion (#31999)
Tomáš Rylek [Sun, 9 Feb 2020 20:52:31 +0000 (21:52 +0100)]
Fix for runtime-live-build break per Santi's suggestion (#31999)

4 years agoDelete [SuppressMessage(...)] attributes for old/defunct/unused rules (#31966)
Stephen Toub [Sun, 9 Feb 2020 15:15:07 +0000 (10:15 -0500)]
Delete [SuppressMessage(...)] attributes for old/defunct/unused rules (#31966)

4 years agoMake EqualityComparer thread-safe for Mono (#31990)
Jan Kotas [Sun, 9 Feb 2020 12:03:08 +0000 (04:03 -0800)]
Make EqualityComparer thread-safe for Mono (#31990)

* Make EqualityComparer thread-safe for Mono

Fixes #3009
Fixes #31988

* Use Interlocked.CompareExchange

4 years ago[cxx] Fix C++ build -- int vs. enum. (#31837)
monojenkins [Sun, 9 Feb 2020 10:27:34 +0000 (05:27 -0500)]
[cxx] Fix C++ build -- int vs. enum. (#31837)

Co-authored-by: Jay Krell <jay.krell@cornell.edu>
4 years agoFix assembly references in tests (#31986)
Next Turn [Sun, 9 Feb 2020 06:39:39 +0000 (14:39 +0800)]
Fix assembly references in tests (#31986)

* Fix build warnings

* Reference System.Runtime instead of System.Private.CoreLib

* Change to System.Console

* Update C# script

4 years agoRemove BOM from CoreCLR files (#31972)
Next Turn [Sun, 9 Feb 2020 05:17:43 +0000 (13:17 +0800)]
Remove BOM from CoreCLR files (#31972)

* Remove BOM from CoreCLR files

* Remove BOM from CoreCLR files

* Revert *.cs files with non-ASCII characters

* Revert *.il files with non-ASCII characters

Co-authored-by: dotnet bot <dotnet-bot@dotnetfoundation.org>
4 years agoUpdate windows-test-instructions.md (#31989)
Ganbarukamo41 [Sun, 9 Feb 2020 05:00:30 +0000 (14:00 +0900)]
Update windows-test-instructions.md (#31989)

Update old file path

4 years agoEnable CA1827 (use Any() instead of Count() compared to 0) (#31983)
Stephen Toub [Sun, 9 Feb 2020 01:01:59 +0000 (20:01 -0500)]
Enable CA1827 (use Any() instead of Count() compared to 0) (#31983)

4 years agoUpdate to latest version of analyzer packages (#31982)
Stephen Toub [Sun, 9 Feb 2020 00:26:26 +0000 (19:26 -0500)]
Update to latest version of analyzer packages (#31982)

4 years agoFree memory for outItems array (#31937)
Oded Hanson [Sat, 8 Feb 2020 23:12:05 +0000 (01:12 +0200)]
Free memory for outItems array (#31937)

4 years agomake vbproj work (#31950)
Anirudh Agnihotry [Sat, 8 Feb 2020 20:53:41 +0000 (12:53 -0800)]
make vbproj work (#31950)

4 years agoOld repo issue number mapped to new repo issue number (#31981)
Dan Moseley [Sat, 8 Feb 2020 20:20:38 +0000 (12:20 -0800)]
Old repo issue number mapped to new repo issue number (#31981)

* Old repo issue number mapped to new repo issue number

* add explanation

4 years agoUse IndexOf for .* in RegexInterpreter/Compiler (#31930)
Stephen Toub [Sat, 8 Feb 2020 13:52:12 +0000 (08:52 -0500)]
Use IndexOf for .* in RegexInterpreter/Compiler (#31930)

* Clean up RegexInterpreter

Almost entirely style.  A few substantive but small changes:
- Store the TextInfo rather than storing the CultureInfo and accessing the TextInfo virtual property on each call.
- Removed unnecessary resx string that should have been an assert
- Coalesced duplicate case blocks

* Use IndexOf for Notoneloop{atomic} in RegexInterpreter/Compiler

This is primarily to improve the performance of .* loops.  We'll now use Span.IndexOf to search for the target character (e.g. \n), rather than the open-coded loop we currently have.

* Address PR feedback

4 years ago[mono] Review [SkipOnTargetFramework(TargetFrameworkMonikers.Mono...] occurrences...
Maxim Lipnin [Sat, 8 Feb 2020 13:47:52 +0000 (16:47 +0300)]
[mono] Review [SkipOnTargetFramework(TargetFrameworkMonikers.Mono...] occurrences (#31920)

* Review test attributes

* Disable System.Threading.Tests.SynchronizationContextTests.WaitNotificationTest with an active issue

4 years agoString Deduplication Design Doc (#31971)
Maoni Stephens [Sat, 8 Feb 2020 09:12:16 +0000 (01:12 -0800)]
String Deduplication Design Doc (#31971)

4 years agoFix build warnings (#31863)
Next Turn [Sat, 8 Feb 2020 06:45:14 +0000 (14:45 +0800)]
Fix build warnings (#31863)

4 years agoUpdate docs to use the main build script (#31644)
Next Turn [Sat, 8 Feb 2020 06:43:21 +0000 (14:43 +0800)]
Update docs to use the main build script (#31644)

4 years agoAdd T_CRITICAL_SECTION for cross OS DAC compile (#31908)
Steve MacLean [Sat, 8 Feb 2020 01:36:33 +0000 (20:36 -0500)]
Add T_CRITICAL_SECTION for cross OS DAC compile (#31908)

* T_CRITICAL_SECTION for DAC

Add T_CRITICAL_SECTION as a cross OS version of CRITICAL_SECTION
Add platform defines for TARGET_<os> as needed.
Add verification code to keep T_CRITICAL_SECTION in sync with CRITICAL_SECTION

* Remove unused CRITICAL_SECTION & PAL_CRITICAL_SECTION fields

Remove LockSemaphore
Place unused field under `#if`

4 years agoSolution Explorer showing netcoreapp5.0-windowsNT file first in case of multiple...
Anirudh Agnihotry [Sat, 8 Feb 2020 01:17:24 +0000 (17:17 -0800)]
Solution Explorer showing netcoreapp5.0-windowsNT file first in case of multiple frameworks (#31948)

* Vy Default show windows targetFramework file in VS

* doing same thing for freebsd Linux netbsd and osx

* missing tag

4 years agoFix nullable annotation for BeginXx AsyncCallback (#31934)
Stephen Toub [Sat, 8 Feb 2020 01:03:01 +0000 (20:03 -0500)]
Fix nullable annotation for BeginXx AsyncCallback (#31934)

4 years agocorehost: Build intermediate library to avoid building twice (#2123)
Leandro A. F. Pereira [Sat, 8 Feb 2020 00:29:12 +0000 (16:29 -0800)]
corehost: Build intermediate library to avoid building twice (#2123)

Some files are built twice in the hosting layer, so create two separate
static libraries that are then linked with all targets that need them.

Fixes [core-setup/8276](https://github.com/dotnet/core-setup/issues/8276).

4 years agoEnable generation of deps.json for non-VS builds (#31936)
Fadi Hanna [Fri, 7 Feb 2020 23:58:58 +0000 (15:58 -0800)]
Enable generation of deps.json for non-VS builds (#31936)

4 years agoClean up more unused methods in System.Private.CoreLib (#31924)
Marek Safar [Fri, 7 Feb 2020 23:02:23 +0000 (00:02 +0100)]
Clean up more unused methods in System.Private.CoreLib (#31924)

4 years agoFix regression in cross OS DAC compilation (#31901)
Steve MacLean [Fri, 7 Feb 2020 22:37:26 +0000 (17:37 -0500)]
Fix regression in cross OS DAC compilation (#31901)

Fix DAC cross OS compilations regressions introduced by #31659

4 years agoAlways fire join events for an rjoin (#651)
Andy Hanson [Fri, 7 Feb 2020 22:30:39 +0000 (17:30 -0500)]
Always fire join events for an rjoin (#651)

Previously, there was an additional check
`if (!join_struct.wait_done)` at the beginning of an rjoin.

This usually had no effect as the join isn't usually done yet. But if
thread A is the first to enter the join and finishes before thread B
starts, then B will never enter the `if`.

The only effect this had was that B would not fire join events in these
rare cases. (After that we check `join_struct.wait_done` again anyway.)
As of this PR we will always fire the events, which makes them easier
to analyze consistently.

Before this PR, looking at the join events for a single thread would show
no traces of the rjoin happening, except for an extra restart event from
the other thread.

4 years agoFix using the nopgooptimize flag in the CoreCLR build scripts. (#31931)
Jeremy Koritzinsky [Fri, 7 Feb 2020 21:38:56 +0000 (13:38 -0800)]
Fix using the nopgooptimize flag in the CoreCLR build scripts. (#31931)

* Only try to resolve PGO package path when PGOOptimize is enabled.

* Don't resolve PGO files unless we're optimizing with PGO.

* Only get the PgoDataPackagePath whne PGOOptimize is enabled.

4 years agoBuild package baseline package only during all config (#31929)
Anirudh Agnihotry [Fri, 7 Feb 2020 21:21:08 +0000 (13:21 -0800)]
Build package baseline package only during all config (#31929)

* build package baseline package only during all config

* deleteing packageBaseline package