platform/upstream/dotnet/runtime.git
4 years agoDisplay stack trace at stack overflow (#32167)
Jan Vorlicek [Thu, 13 Feb 2020 00:05:52 +0000 (01:05 +0100)]
Display stack trace at stack overflow (#32167)

This is a fixed version of the reverted commit.

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.

There are couple of interesting details:

The stack trace is printed in a compressed form. The algorithm finds the
largest sequence of frames starting from the top of the stack that is
repeated and prints it just once with the repeat count.
Only the first thread that hits stack overflow gets its stack printed.
On Linux, others threads that hit stack overflow are held spinning until
the process exits. This enables having a single preallocated stack for
handling stack overflow. On Windows, we just don't print the stack
trace, as it would be messy anyways due to the interleaving of output
from multiple threads and the value of getting stack overflow traces of
multiple threads is questionable.
On debug / checked builds for Windows, I had to bump the stack guarantee
by two pages and also enable setting the stack guarantee for all threads
in these build flavors.
At couple of places in the runtime, there were debug checks comparing
explicit frame and some other struct addresses to the current SP. These
were firing on Linux when we are running on an extra stack overflow
handling stack. I've fixed it by adding a flag to the Thread that
indicates that we are running on an alternate stack and these checks
should be skipped.
I've fixed the x86 Windows JIT_StackProbe to first probe at SP-4 and
then move the SP to leave more stack space for the handler.
I've fixed stack overflow check on Linux for some glibc / distros. The
stack limit returned by the pthread_attr_getstack returns the address of
the guard page in some of the glibc / distros and address of the last
accessible page before the guard page on others. So I've relaxed the
check to consider +/- 1 page around the stack limit to recognize sigsegv
as stack overflow.

4 years agoremove dead code from SslStream (#32065)
Tomas Weinfurt [Wed, 12 Feb 2020 22:51:29 +0000 (14:51 -0800)]
remove dead code from SslStream (#32065)

* remove dead code from SslStream

* add equivalent ThrowIfExceptionalOrNotAuthenticated

4 years ago[threading] Switch to a native implementation of LowLevelLifoSemaphore (#2098)
Ryan Lucia [Wed, 12 Feb 2020 22:14:21 +0000 (17:14 -0500)]
[threading] Switch to a native implementation of LowLevelLifoSemaphore (#2098)

This change is motivated on two main fronts. The first is maintainability - the current managed implementation is difficult to understand and I worry diagnosing any potential issues would be a massive time sink. The second is performance - the current implementation appears to suffer from significant lock contention when running the TechEmpower plaintext benchmark. My hope is that the simpler, cleaner native implementation here will avoid both problems, but I don't want to merge it until we have benchmarking data. However, even if the numbers are similar, I still think it's worth merging just from a maintainability perspective.

The native LifoSemaphore implementation has only ever been tested on posix-like platforms, so Windows behavior is unknown. Currently the Windows implementation of LowLevelLifoSemaphore is very different, so unless we have need for the LifoSemaphore elsewhere in the runtime this isn't a concern.

Many thanks to @filipnavara for the initial implementation.

4 years ago[master] Update dependencies from dotnet/arcade (#32115)
dotnet-maestro[bot] [Wed, 12 Feb 2020 20:09:11 +0000 (20:09 +0000)]
[master] Update dependencies from dotnet/arcade (#32115)

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

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

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

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

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

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

* React to changes from https://github.com/dotnet/arcade/pull/4799

* Downgrade compiler version

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

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

* Disable serialization test on Mono

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
4 years agoMinor R2RDump improvements (#32178)
Tomáš Rylek [Wed, 12 Feb 2020 19:55:03 +0000 (20:55 +0100)]
Minor R2RDump improvements (#32178)

Based on JanV's suggestions and based on my own composite R2R work
I have made a few small improvements in R2RDump:

1) When normalization is on, we newly also normalize transition
records for a particular IP address.

2) New option --hide-transitions suppresses transition information
in the disassembly completely.

3) Logic for parsing the new OwnerCompositeExecutable R2R section.

Thanks

Tomas

4 years agoFix ActiveIssue issue number to use full Url (#32182)
Stephen Toub [Wed, 12 Feb 2020 19:38:36 +0000 (11:38 -0800)]
Fix ActiveIssue issue number to use full Url (#32182)

This is the only one in the repo still using a number.

4 years agoadding outerBuild\InnerBuild structure for generate reference source (#31892)
Anirudh Agnihotry [Wed, 12 Feb 2020 18:27:26 +0000 (10:27 -0800)]
adding outerBuild\InnerBuild structure for generate reference source (#31892)

* Using new custom target from arcade

* removing the outerbuild directory

4 years agoAdd basic RIDs for ios and tvos (#31953)
Marek Safar [Wed, 12 Feb 2020 18:00:10 +0000 (19:00 +0100)]
Add basic RIDs for ios and tvos (#31953)

4 years agoBring back T4 templating service for tt files (#32172)
Viktor Hofer [Wed, 12 Feb 2020 17:04:52 +0000 (18:04 +0100)]
Bring back T4 templating service for tt files (#32172)

4 years agoDisable constantly failing NetworkInformation test (#32176)
Viktor Hofer [Wed, 12 Feb 2020 17:04:22 +0000 (18:04 +0100)]
Disable constantly failing NetworkInformation test (#32176)

4 years agoUpdate to preview branding (#31744)
Matt Mitchell [Wed, 12 Feb 2020 16:56:29 +0000 (08:56 -0800)]
Update to preview branding (#31744)

4 years agoRestructure shared http code (#32141)
Chris Ross [Wed, 12 Feb 2020 16:49:27 +0000 (08:49 -0800)]
Restructure shared http code (#32141)

4 years agoFix AppDomain.SetPrincipalPolicy bug for new threads (#32104)
Marco Rossignoli [Wed, 12 Feb 2020 16:25:10 +0000 (17:25 +0100)]
Fix AppDomain.SetPrincipalPolicy bug for new threads (#32104)

* fix principal policy for new threads

Fixes #31717

4 years agoMove getFieldInfo to CorInfoImpl.ReadyToRun (#32159)
Tomáš Rylek [Wed, 12 Feb 2020 14:41:11 +0000 (15:41 +0100)]
Move getFieldInfo to CorInfoImpl.ReadyToRun (#32159)

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