platform/upstream/coreclr.git
5 years ago[Tizen] Enable Tizen ASan runtime support sandbox/ches01/asan_ARM
Vyacheslav Cherkashin [Fri, 19 Jul 2019 12:05:47 +0000 (15:05 +0300)]
[Tizen] Enable Tizen ASan runtime support

Enable libasansi.so support (libasan.so with switchable interceptors).

Change-Id: I9ee9b47b7beab55f036ffc0697ffab2583e9701c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Implement ASan wrapper for Linux ARM32
Vyacheslav Cherkashin [Mon, 22 Jul 2019 10:40:47 +0000 (13:40 +0300)]
[Tizen] Implement ASan wrapper for Linux ARM32

This commit implements wrappers that allow interception transitions
from managed to external unmanaged code (jit -> native) and back
(native -> jit). This allows enable/disable ASan during transitions.
Due to this, we sanitize only external code, which allows us to
achieve acceptable performance.

Change-Id: I53ecdc14d28f7210cd9e7f5bd4db0c8ef5ed81fc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Implement detecting of sanitized libraries
Andrey Drobyshev [Tue, 16 Jul 2019 12:23:18 +0000 (15:23 +0300)]
[Tizen] Implement detecting of sanitized libraries

Parse ".dynamic" section (ELF dynamic array tags) of the module being
added, find ".rel(a).plt" section and search it for presence of
'__asan_init' symbol.

Change-Id: Ie7cc4c818b791b5f00713b42ba15131325b8152c
Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
5 years ago[Tizen] Define -DHAS_ADDRESS_SANITIZER for ASan build 04/209904/2 accepted/tizen/unified/20190718.220406 submit/tizen/20190718.065523
Slava Barinov [Thu, 11 Jul 2019 13:25:46 +0000 (16:25 +0300)]
[Tizen] Define -DHAS_ADDRESS_SANITIZER for ASan build

This define turns on new and delete operators compatibility mode for build with
Address Sanitizer. It allows Tizen libasan to intercept operators and prevents
alloc-dealloc-mismatch errors.

Change-Id: If72b1d42dd99eaaf11d3cb1232006ee0e2e411c3
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
5 years ago[Tizen] Revert lockfiles creation.
Woongsuk Cho [Mon, 15 Apr 2019 00:53:43 +0000 (09:53 +0900)]
[Tizen] Revert lockfiles creation.

directory creation for coreclr will be handled by dotnet-launcher
Revert previous patch.

5 years ago[Tizen] Remove -DFEATURE_GDBJIT=TRUE from spec file accepted/tizen/unified/20190704.040539 submit/tizen/20190704.000004
Hyungju Lee [Wed, 3 Jul 2019 11:00:57 +0000 (20:00 +0900)]
[Tizen] Remove -DFEATURE_GDBJIT=TRUE from spec file

Change-Id: Ic0b8bfc8ab45284ecda5ab99e683224368e607f5

5 years ago[Tizen] Update Openssl version 1.0 to 1.1 accepted/tizen/unified/20190702.114902 submit/tizen/20190702.034216
Hyungju Lee [Mon, 17 Jun 2019 11:25:37 +0000 (20:25 +0900)]
[Tizen] Update Openssl version 1.0 to 1.1

Change-Id: Id37364dd5dec17ab5a7b60e14df78a4967b3f3b8

5 years ago[Tizen] Enable PGO for Linux/arm accepted/tizen/unified/20190612.044604 submit/tizen/20190611.050004 submit/tizen/20190611.060241 submit/tizen/20190611.091314
Konstantin Baladurin [Thu, 18 Apr 2019 09:29:56 +0000 (12:29 +0300)]
[Tizen] Enable PGO for Linux/arm

5 years ago[Tizen] seperate PIC and PIE to fix x86_64 build error accepted/tizen/unified/20190510.012106 submit/tizen/20190509.094820
Woongsuk Cho [Thu, 9 May 2019 09:02:22 +0000 (18:02 +0900)]
[Tizen] seperate PIC and PIE to fix x86_64 build error

5 years agoRevert "[Tizen] Exclude x86_64 build" submit/tizen/20190509.073623
Hyungju Lee [Thu, 9 May 2019 05:53:19 +0000 (14:53 +0900)]
Revert "[Tizen] Exclude x86_64 build"

This reverts commit 546d7a1519cc81d98f2dadb5f2191c5a62e6f735.

Policy for arch build is cleared.
- In Public, unified builds each arch and they are independent.
- In SPIN, turn on and off each arch by necessity.

5 years ago[Tizen] Exclude x86_64 build accepted/tizen/unified/20190508.234202 submit/tizen/20190508.163353
Hyungju Lee [Wed, 8 May 2019 09:05:38 +0000 (18:05 +0900)]
[Tizen] Exclude x86_64 build

Change-Id: I3c0fc85b839b55170fb177c4ac0cdd15dd063f5c

5 years ago[Tizen] Add a library to retrieve memory regions for a coredump
Mateusz Moscicki [Wed, 10 Apr 2019 09:40:33 +0000 (11:40 +0200)]
[Tizen] Add a library to retrieve memory regions for a coredump

This is needed to save a minicoredump of .NET applications to allows
reconstruct managed stack by lldb and SOS plugin.

5 years agoRevert "[Tizen] create .dotnet directory to skel"
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Apr 2019 04:42:17 +0000 (13:42 +0900)]
Revert "[Tizen] create .dotnet directory to skel"

This reverts commit 26cdef6a45e6fb2c81fcbaf18be638f848525322.

5 years ago[Tizen] update cscope files to be ignored
Hyungju Lee [Wed, 13 Mar 2019 00:28:54 +0000 (09:28 +0900)]
[Tizen] update cscope files to be ignored

Change-Id: Ia0e1c6aa651c4fd88dc58b901729896a7a27681d

5 years ago[Tizen] create .dotnet directory to skel
Woongsuk Cho [Thu, 4 Apr 2019 01:23:44 +0000 (10:23 +0900)]
[Tizen] create .dotnet directory to skel

5 years agoprestub: fix ExternalMethodFixupWorker accepted/tizen/unified/20190422.045933 submit/tizen/20190312.102237 submit/tizen/20190312.123654 submit/tizen/20190312.130143 submit/tizen/20190327.110559 submit/tizen/20190405.141848 submit/tizen/20190410.105333 submit/tizen/20190416.152950 submit/tizen/20190419.042330 submit/tizen/20190419.143735
Konstantin Baladurin [Mon, 11 Feb 2019 13:11:09 +0000 (16:11 +0300)]
prestub: fix ExternalMethodFixupWorker

Use DispatchToken::CreateDispatchToken to get token to resolve
virtual method in case of non interface MT.

5 years ago[Tizen] create "/tmp/.dotnet/lockfiles" directory while system bootup.
Woongsuk Cho [Thu, 10 Jan 2019 10:38:05 +0000 (19:38 +0900)]
[Tizen] create "/tmp/.dotnet/lockfiles" directory while system bootup.

If "/tmp/.dotnet/lockfiles" directory does not exist, a directory is created when the first named mutex file is created.
The generated directory has the smack label of the process that created it.
Therefore, access deny occurs when another application tries to access the directory to create or use a named mutex.

To solve this problem, create "/tmp/.dotnet/lockfiles" directory in the tempfs while system boot up

5 years ago[Tizen] Change paths to ilasm/ildasm
swift.kim [Mon, 12 Nov 2018 08:26:48 +0000 (17:26 +0900)]
[Tizen] Change paths to ilasm/ildasm

5 years ago[Tizen] Rearrange executables among rpm pkgs
Hyungju Lee [Fri, 12 Oct 2018 02:13:04 +0000 (11:13 +0900)]
[Tizen] Rearrange executables among rpm pkgs

- `corerun` and `coreconsole` to `devel` pkg
- remove `extra` pkg and move symlinks in it.

Change-Id: I99cd26121d3c83242caf6f2418d686b3ffcc2828

5 years ago[Tizen] Enable RELRO protection
junghyuk.park [Wed, 25 Jul 2018 09:26:25 +0000 (18:26 +0900)]
[Tizen] Enable RELRO protection

5 years ago[Tizen] Add crossgen and coreconsole to coreclr package
junghyuk.park [Tue, 24 Jul 2018 04:21:26 +0000 (13:21 +0900)]
[Tizen] Add crossgen and coreconsole to coreclr package

- The coreclr-extra package is going to be eliminated soon.
- Symlinks to crossgen and coreconsole are created temporarily for graceful migration

5 years ago[Tizen] Provide symlinks to .NET version for compatibility
junghyuk.park [Thu, 12 Jul 2018 23:19:24 +0000 (08:19 +0900)]
[Tizen] Provide symlinks to .NET version for compatibility

This commit will be reverted soon when all dependent modules watch the symlink at '/usr/share/dotnet.tizen/netcoreapp'.

Change-Id: Ib2ebf62a5788e225a9e3354f53fadde282708700

5 years ago[Tizen] Add skipped testcase: superpmi
Hyeongseok Oh [Mon, 26 Jun 2017 07:12:08 +0000 (16:12 +0900)]
[Tizen] Add skipped testcase: superpmi

Skip JIT/superpmi/superpmicollect/superpmicollect.sh

5 years ago[Tizen] Add skipped testcase on TM1
Jiyoung Yun [Tue, 20 Jun 2017 06:09:10 +0000 (15:09 +0900)]
[Tizen] Add skipped testcase on TM1

Lists:
JIT.jit64.opt.cse.hugeSimpleExpr1.hugeSimpleExpr1
GC.Regressions.v2.0-rtm.494226.494226.494226
GC.Scenarios.ServerModel.servermodel.servermodel
JIT.jit64.opt.cse.HugeField1.HugeField1
JIT.jit64.opt.cse.HugeField2.HugeField2
JIT.jit64.opt.cse.hugeexpr1.hugeexpr1

5 years ago[Tizen] Add FEATURE_NGEN_RELOCS_OPTIMIZATIONS=true as default value for Unix ARM
Gleb Balykov [Fri, 1 Jun 2018 17:44:46 +0000 (20:44 +0300)]
[Tizen] Add FEATURE_NGEN_RELOCS_OPTIMIZATIONS=true as default value for Unix ARM

5 years agoFix OOPStackUnwinderX86::Unwind crash when Eip is invalid
Igor Kulaychuk [Wed, 25 Apr 2018 18:31:59 +0000 (21:31 +0300)]
Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid

5 years agoFix EECodeManager::GetAmbientSP on x86/Linux
Igor Kulaychuk [Fri, 20 Apr 2018 20:52:57 +0000 (23:52 +0300)]
Fix EECodeManager::GetAmbientSP on x86/Linux

5 years ago[Tizen] Provide a symlink to installed Microsoft.NETCore.App version
junghyuk.park [Wed, 4 Jul 2018 23:08:50 +0000 (08:08 +0900)]
[Tizen] Provide a symlink to installed Microsoft.NETCore.App version

The symlink is added to provide consistent access to installed Microsoft.NETCore.App version.
'/usr/share/dotnet.tizen/netcoreapp' is linked to '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0'.

5 years ago[Tizen] Add -pie to linker option
Hyungju Lee [Mon, 2 Jul 2018 00:28:08 +0000 (09:28 +0900)]
[Tizen] Add -pie to linker option

There have been no -pie linker option.
This patch adds -pie linker option into crossgen(for tizen)

This originates from 0024-Add-pie-to-linker-option.patch

5 years ago[Tizen] Enable -O3 optimization in clang 3.8
junghyuk.park [Mon, 25 Jun 2018 10:01:00 +0000 (19:01 +0900)]
[Tizen] Enable -O3 optimization in clang 3.8

5 years ago[Tizen] Add support for GBS
junghyuk.park [Mon, 25 Jun 2018 09:47:41 +0000 (18:47 +0900)]
[Tizen] Add support for GBS

5 years ago[Tizen] Add BuildTools 3.0.0-preview1-03617-02
Konstantin Baladurin [Wed, 30 Jan 2019 16:32:01 +0000 (19:32 +0300)]
[Tizen] Add BuildTools 3.0.0-preview1-03617-02

5 years ago[Tizen] Add prebuilt libicu-57.1 libraries
junghyuk.park [Mon, 25 Jun 2018 07:03:57 +0000 (16:03 +0900)]
[Tizen] Add prebuilt libicu-57.1 libraries

5 years agoDecouple JIT_FLAG_PREJIT from HW intrinsics (#22117)
Michal Strehovský [Tue, 22 Jan 2019 20:40:56 +0000 (21:40 +0100)]
Decouple JIT_FLAG_PREJIT from HW intrinsics (#22117)

Per dotnet/corert#6836 (comment) moving the decision whether to enable HW intrinsics to the EE side.

5 years agoRestrict HW intrinsic name check to intrinsic types (#22116)
Michal Strehovský [Tue, 22 Jan 2019 17:09:31 +0000 (18:09 +0100)]
Restrict HW intrinsic name check to intrinsic types (#22116)

Avoids having to compare names of all types in CoreLib to see if they're HW intrinsics.

5 years agoDo not throw from TraceResolver (#22126)
Michal Strehovský [Tue, 22 Jan 2019 17:08:31 +0000 (18:08 +0100)]
Do not throw from TraceResolver (#22126)

Fixes #22059.

5 years agoMove MemoryFailPoint to shared CoreLib partition (#22104)
Filip Navara [Tue, 22 Jan 2019 12:16:45 +0000 (13:16 +0100)]
Move MemoryFailPoint to shared CoreLib partition (#22104)

* Move MemoryFailPoint to shared CoreLib partition.

* Split MemoryFailPoint into Unix and Windows versions.

* Replace MemoryFailPoint.GetMemorySettings FCall with GC.GetSegmentSize to make sharing with CoreRT easier.

5 years agoFix CoreRT build breaks
Jan Kotas [Tue, 22 Jan 2019 05:02:55 +0000 (21:02 -0800)]
Fix CoreRT build breaks

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMove TplEtwProvider to shared partition (#22120)
Marek Safar [Tue, 22 Jan 2019 03:28:13 +0000 (04:28 +0100)]
Move TplEtwProvider to shared partition (#22120)

5 years agoRemove two unnecessary ToArray calls (#22119)
Stephen Toub [Tue, 22 Jan 2019 02:56:55 +0000 (21:56 -0500)]
Remove two unnecessary ToArray calls (#22119)

We can just copy directly from the List, rather than first converting the list to an array and then copying that.

5 years agoAvoid intermediate strings in some StringBuilder formatting (#22111)
Stephen Toub [Mon, 21 Jan 2019 21:20:18 +0000 (16:20 -0500)]
Avoid intermediate strings in some StringBuilder formatting (#22111)

* Avoid intermediate strings in some StringBuilder formatting

Several appends to string builders are first creating strings and then appending those strings, and they're not using the existing Append(primitive) overloads because they want to customize the format string or provider as part of appending the value.  This fixes a few of those cases, using another internal AppendSpanFormattable overload on StringBuilder.

* Address PR feedback

5 years agoUpdate CoreFx to preview.19070.3 (#22061)
dotnet-maestro-bot [Mon, 21 Jan 2019 06:09:52 +0000 (22:09 -0800)]
Update CoreFx to preview.19070.3 (#22061)

5 years agoMove Task factory type to shared partition (#22089)
Marek Safar [Sun, 20 Jan 2019 23:02:09 +0000 (00:02 +0100)]
Move Task factory type to shared partition (#22089)

5 years agoUse List<T>.ToArray() in places (#22101)
Ben Adams [Sun, 20 Jan 2019 22:42:10 +0000 (23:42 +0100)]
Use List<T>.ToArray() in places (#22101)

* Use ReadOnlySpan.ToArray in places

* Use List.ToArray

* Don't take .Length in to local and use as loop condition

5 years agoCleanup array related FCalls (#22097)
Jan Kotas [Sun, 20 Jan 2019 16:16:44 +0000 (08:16 -0800)]
Cleanup array related FCalls (#22097)

* Cleanup Array FCalls

* Disable outdated CoreFX tests

https://github.com/dotnet/corefx/pull/34700

5 years agoFix CoreCLR build for changes in shared partition
Jan Kotas [Sat, 19 Jan 2019 19:48:28 +0000 (11:48 -0800)]
Fix CoreCLR build for changes in shared partition

5 years agoFix build for ProjectN/WinRTInterop Delete superfluous AsyncCausalityTracer arguments
Jan Kotas [Sat, 19 Jan 2019 08:24:57 +0000 (00:24 -0800)]
Fix build for ProjectN/WinRTInterop Delete superfluous AsyncCausalityTracer arguments

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix build
Marek Safar [Fri, 18 Jan 2019 19:58:11 +0000 (20:58 +0100)]
Fix build

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoUpdate Newtonsoft.Json (#22060)
Ben Adams [Sat, 19 Jan 2019 20:03:03 +0000 (21:03 +0100)]
Update Newtonsoft.Json (#22060)

5 years agoCleanup: Remove MethodDesc::GetLoaderAllocatorForCode (#22067)
Jan Vorlicek [Sat, 19 Jan 2019 20:02:00 +0000 (21:02 +0100)]
Cleanup: Remove MethodDesc::GetLoaderAllocatorForCode (#22067)

This function was recently changed to just return the
MethodDesc::GetLoaderAllocator. This is a cleanup that removes the
function completely and replaces all of its usages.

5 years agoRemoved unused 'Stack Walking' code (#22039)
Matt Warren [Sat, 19 Jan 2019 19:59:40 +0000 (19:59 +0000)]
Removed unused 'Stack Walking' code (#22039)

As fair as I can tell `ECWGCFCrawlCallBack(..)` is not wired-up anywhere (I've successfully compiled CoreCLR locally with this change under `x86` and `x64`)

5 years agoStrip symbols on unix in release builds (#22083)
Sven Boemer [Sat, 19 Jan 2019 00:11:25 +0000 (16:11 -0800)]
Strip symbols on unix in release builds (#22083)

Fixes https://github.com/dotnet/coreclr/issues/22082

5 years agoFix calling conventions on reverse PInvoke callbacks. (#22044)
Jeremy Koritzinsky [Fri, 18 Jan 2019 23:39:54 +0000 (15:39 -0800)]
Fix calling conventions on reverse PInvoke callbacks. (#22044)

5 years agoRun Azure DevOps builds against pull requests in coreclr/master (#22051)
Egor Chesakov [Fri, 18 Jan 2019 22:05:29 +0000 (14:05 -0800)]
Run Azure DevOps builds against pull requests in coreclr/master (#22051)

And disable Windows_NT and Ubuntu arm32 and arm64 default triggers in Jenkins CI

5 years agoSuperPMI Collect/Replay/AsmDiff tool (#21252)
Jarret Shook [Fri, 18 Jan 2019 20:33:13 +0000 (12:33 -0800)]
SuperPMI Collect/Replay/AsmDiff tool (#21252)

This change adds superpmi.py. The tool feature three modes, collection, replay, and asmdiffs.

Collection
The collection logic is very similar to the logic in our superpmi-collect test. Mostly it just allows running a script which will run managed code and it will produce a .mch which is clean to be run against. See superpmi.md for more information on specific usage and problems.

Replay
Replay will take an existing .mch file and run the current jit over the collection. If there is no .mch file on disk, the script will download the latest collection and run against that.

AsmDiffs
superpmi.md has the latest information on what platforms support asmdiffs. So far, I have an updated OSX and Windows collection that I have run against. If there are binary diffs, the tool will automatically generate base & diff folders with the asm under each one. Future work would include automatically running jit-analyze over those locations.

In addition, the tool has the option to automatically run and diff jit dumps, I have found this to be useful to looking into diffs created, as re-running superpmi with different jits to collect this same information is somewhat tedious.

Future work
This change is in no way the end of the work needed to leverage superpmi effectively. Instead, it is a good first step. Below are some suggestions for future superpmi work:

Automated collections
Add pmi collection support
Leverage some of the new corefx work to use superpmi shim for collections of corefx runs
To be added/changed
I will unset zapdisable being set by default, it creates too much data, although it is useful it should be opt in
Will include example usage in superpmi.md.

5 years agoMove AsyncCausality to shared partition (#22062)
Marek Safar [Fri, 18 Jan 2019 18:19:17 +0000 (19:19 +0100)]
Move AsyncCausality to shared partition (#22062)

* Move AsyncCausality to shared partition

* Set FeatureAsyncCausalityTracer property

5 years agoRe-enable signing of System.Private.CoreLib (#22068)
Sven Boemer [Fri, 18 Jan 2019 17:50:33 +0000 (09:50 -0800)]
Re-enable signing of System.Private.CoreLib (#22068)

* Re-enable signing for System.Private.CoreLib

Now that https://github.com/dotnet/arcade/issues/1582 is fixed.
Addresses https://github.com/dotnet/coreclr/issues/21946.

* Use uppercase build config

For consistency with other builds. Doesn't impact functionality, but
will result in the build logs showing the bin directory with the
uppercase build config during this step.

* Override arcade version of SignTool package

5 years agoAdd Per-assembly Load Native Library callbacks (#21555)
Swaroop Sridhar [Fri, 18 Jan 2019 17:24:41 +0000 (09:24 -0800)]
Add Per-assembly Load Native Library callbacks (#21555)

Add Per-assembly Load Native Library callbacks

This Change implements the Native Library resolution
Call-backs proposed in https://github.com/dotnet/corefx/issues/32015

5 years agoUpdate dependencies from dotnet/arcade (#22035)
dotnet-maestro[bot] [Fri, 18 Jan 2019 16:48:08 +0000 (11:48 -0500)]
Update dependencies from dotnet/arcade (#22035)

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

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19066.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19066.1

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

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19067.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19067.6

5 years agoEnable detection of HW intrinsics (dotnet/corert#6836)
Michal Strehovský [Fri, 18 Jan 2019 11:01:03 +0000 (12:01 +0100)]
Enable detection of HW intrinsics (dotnet/corert#6836)

I took the liberty of marking the types containing the hardware intrinsics as [Intrinsic] to avoid doing a name check on everything in the system module. It feels like we should take advantage of this attribute in CoreCLR too.

This doesn't actually enable the support because RyuJIT unconditionally disables HW intrinsics for prejit (both CoreRT and CPAOT are considered prejit). We might want to do something about this on the RyuJIT side to address that (for CPAOT, to be able to pregenerate best code possible ahead of time, assuming a fixed ISA; and for CoreRT without JIT, where the concerns about AVX-SSE penalty don't apply). See conversation in dotnet/coreclr#21603

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix defines in TaskAwaiter (dotnet/corert#6846)
Marek Safar [Fri, 18 Jan 2019 11:00:02 +0000 (12:00 +0100)]
Fix defines in TaskAwaiter (dotnet/corert#6846)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoHandle complex constrained calls with default interface methods (#21978)
Michal Strehovský [Fri, 18 Jan 2019 12:18:49 +0000 (13:18 +0100)]
Handle complex constrained calls with default interface methods (#21978)

This adds handling for the interface dispatch corner case where:

* We have a constrained callsite to a method on a generic interface in shared code
* The callsite cannot be statically resolved because the result of dispatch depends on the generic context
* At runtime, the dispatch resolves to a default interface method

This would require us to have infrastructure to build "boxing thunks" - thunks that would box their first argument before dispatching to the default interface method implementation.

Since this is a corner case and the fix is actually quite involved, we're making the runtime just throw in this situation.

The test is written so that it should pass both if the runtime chooses to throw, or if the runtime makes the boxing thunk (we're not hardcoding the implementation limitation).

5 years agoUse correct resolution scope when checking default implementations (#22036)
Michal Strehovský [Fri, 18 Jan 2019 10:18:56 +0000 (11:18 +0100)]
Use correct resolution scope when checking default implementations (#22036)

We need to use the module of the interface.

Fixes #22021.

5 years agoAdd comments on headers that gets parsed by Mono linker for whoever touches this...
Sung Yoon Whang [Fri, 18 Jan 2019 08:23:16 +0000 (00:23 -0800)]
Add comments on headers that gets parsed by Mono linker for whoever touches this next (#22054)

* Add comments on headers that gets parsed by Mono linker for whoever touches this next

* add more comments to the targets file

5 years agoMove Environment to shared CoreLib (dotnet/corefx#34654)
Stephen Toub [Fri, 18 Jan 2019 01:07:12 +0000 (20:07 -0500)]
Move Environment to shared CoreLib (dotnet/corefx#34654)

Rather than having Environment partially live in corefx and call into an EnvironmentAugments type in CoreLib that in turn calls into an Environment type in CoreLib, we're just moving Environment to live in CoreLib.

To start that, this PR moves Environment and its dependencies from their current locations into the shared CoreLib.  Those changes will mirror over to coreclr.  After that, I'll fix it up to work in CoreLib. And once those changes are built and available back to corefx, I'll update System.Runtime.Extensions to just use the functionality from CoreLib and delete remaining unnecessary code from corefx.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoUnify xplatform.h and platformdefines.h (#21389)
Jeremy Koritzinsky [Fri, 18 Jan 2019 00:58:34 +0000 (16:58 -0800)]
Unify xplatform.h and platformdefines.h (#21389)

* Move most of xplatform.h into platformdefines.h and clean up the interop CMake files.

* Fix build-break off Windows.

* Fix typo.

* Fix another break off-Windows.

* Fix signed/unsigned mismatch

5 years agoUnblock Azure DevOps-as-CI (#22042)
Egor Chesakov [Fri, 18 Jan 2019 00:21:41 +0000 (16:21 -0800)]
Unblock Azure DevOps-as-CI (#22042)

* Disable JIT.Methodical/doublearray/dblarray3_cs_do

* Disable readytorun.r2rdump/R2RDumpTest

* Disable RedHat.6.Amd64.Open queue

* Rename Creator coreclr/pulls -> coreclr-pulls

* IsExternal is deprecated as of https://github.com/dotnet/arcade build 20190115.6

* Increase timeout for all test jobs

5 years agoMerge pull request #22002 from dotnet-maestro-bot/master-UpdateDependencies
William Godbe [Fri, 18 Jan 2019 00:20:08 +0000 (16:20 -0800)]
Merge pull request #22002 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-20190116.5, respectively (master)

5 years agoRemove ToString from RuntimeAssembly.GetManifestResourceStream (#22012)
Stephen Toub [Thu, 17 Jan 2019 23:10:48 +0000 (18:10 -0500)]
Remove ToString from RuntimeAssembly.GetManifestResourceStream (#22012)

* Remove ToString from RuntimeAssembly.GetManifestResourceStream

A small allocation we can avoid with the span-based string.Concat.

* Address PR feedback

5 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02...
dotnet-maestro-bot [Thu, 17 Jan 2019 22:27:15 +0000 (14:27 -0800)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03617-02, preview-27316-02, preview.19066.1, master-20190116.5, respectively

5 years agoSplit ContractsBCL into separate classes and move them to shared CoreLib (#22006)
Filip Navara [Thu, 17 Jan 2019 21:48:17 +0000 (22:48 +0100)]
Split ContractsBCL into separate classes and move them to shared CoreLib (#22006)

* Split up ContractsBCL into separate classes.

* Move remaining Contract, ContractHelper code to shared partition.

* Split ContractHelper to allow custom debugging experience in CoreRT.

* Simplify ContractHelper.InternalContractFailed.

* Use resource loading code from CoreRT.

* Remove unused parameter.

5 years agoClean up a few minor Span-related uses (#22038)
Stephen Toub [Thu, 17 Jan 2019 21:40:56 +0000 (16:40 -0500)]
Clean up a few minor Span-related uses (#22038)

Some unnecessary Span to ReadOnlySpan casts.
Some places where new Span(...).Slice(...) can be replaced with AsSpan(...).
Etc.

5 years agoRemove a few stale resource strings for ConcurrentStack (#22037)
Stephen Toub [Thu, 17 Jan 2019 21:40:34 +0000 (16:40 -0500)]
Remove a few stale resource strings for ConcurrentStack (#22037)

5 years agoAvoid allocations in Utf8Formatter.TryFormat(float/double, ...) (#22011)
Stephen Toub [Thu, 17 Jan 2019 21:00:12 +0000 (16:00 -0500)]
Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) (#22011)

* Avoid allocations in Utf8Formatter.TryFormat(float/double, ...)

Currently every call to Utf8Formatter.TryFormat for a float or a double allocates two strings, one for the format string and one for the resulting number.   This avoids those in the common case where we can use float/double.TryFormat and format directly into a stack buffer.  Also removes some unsafe code; the performance of StandardFormat.ToString isn't currently worth the extra nanoseconds gained by using unsafe code.

* Delete assert

There's a test that uses unsafe code to cause this to fail and validate that no exception is thrown.

5 years agoMerge pull request #22022 from fiigii/reenabletest
Carol Eidt [Thu, 17 Jan 2019 19:10:52 +0000 (11:10 -0800)]
Merge pull request #22022 from fiigii/reenabletest

Re-enable Avx.PermuteVar tests

5 years agoFix AsyncMethodBuilder build on Mono (#22034)
Marek Safar [Thu, 17 Jan 2019 16:42:44 +0000 (17:42 +0100)]
Fix AsyncMethodBuilder build on Mono (#22034)

5 years agoFix CoreCLR build of AsyncMethodBuilder.
Filip Navara [Thu, 17 Jan 2019 06:38:00 +0000 (07:38 +0100)]
Fix CoreCLR build of AsyncMethodBuilder.

5 years agoAdd new members to AsyncCausalitySupport.
Filip Navara [Thu, 17 Jan 2019 04:42:23 +0000 (05:42 +0100)]
Add new members to AsyncCausalitySupport.
Remove file moved to shared partition.
Fix builds without FeatureCominterop.

5 years agoMove AsyncMethodBuilder to shared. (dotnet/corert#6832)
Filip Navara [Wed, 16 Jan 2019 18:26:14 +0000 (19:26 +0100)]
Move AsyncMethodBuilder to shared. (dotnet/corert#6832)

* Move AsyncMethodBuilder to shared.

* Bring back PROJECTN.

* #if-out TrackAsyncMethodCompletion for CoreRT.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoRe-enable Avx.PermuteVar tests
Fei Peng [Wed, 16 Jan 2019 23:13:06 +0000 (15:13 -0800)]
Re-enable Avx.PermuteVar tests

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190115.6 (#22007)
dotnet-maestro[bot] [Wed, 16 Jan 2019 20:47:40 +0000 (12:47 -0800)]
Update dependencies from https://github.com/dotnet/arcade build 20190115.6 (#22007)

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19065.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19065.6

5 years agoMerge pull request #21997 from BruceForstall/FixFpRelativeInstructions
Bruce Forstall [Wed, 16 Jan 2019 20:00:30 +0000 (12:00 -0800)]
Merge pull request #21997 from BruceForstall/FixFpRelativeInstructions

Fix two cases of FP-relative immediate offsets possibly not encodable

5 years agoReduce steps for string.Contains(string value) (#22008)
Ben Adams [Wed, 16 Jan 2019 18:31:56 +0000 (19:31 +0100)]
Reduce steps for string.Contains(string value) (#22008)

5 years agoUpdate linux/OSX build instructions (#21679)
Jarret Shook [Wed, 16 Jan 2019 17:57:19 +0000 (09:57 -0800)]
Update linux/OSX build instructions (#21679)

* Update linux/OSX build instructions

* Update based on feedback

* Address PR feedback

* Update to address feedback

5 years ago Fix imm-operand encoding for SSE/AVX instructions (#21999)
Fei Peng [Wed, 16 Jan 2019 17:48:43 +0000 (09:48 -0800)]
 Fix imm-operand encoding for SSE/AVX instructions (#21999)

* Move more SSE2 tests to the template

* Improve Insert test template to involve more codegen situations

* Fix imm-operand encoding for SSE/AVX instructions

5 years agoFix generate_layout_only (#21996)
Jarret Shook [Wed, 16 Jan 2019 17:35:16 +0000 (09:35 -0800)]
Fix generate_layout_only (#21996)

* Fix generate_layout_only

* Correctly add all opons

* Clean run for cross built device

5 years agoEnable BenchmarksGame when BuildTestsAgainstPackages (see #21554) in tests/issues...
Egor Chesakov [Tue, 15 Jan 2019 00:52:39 +0000 (16:52 -0800)]
Enable BenchmarksGame when BuildTestsAgainstPackages (see #21554) in tests/issues.targets

5 years agoMake JIT\superpmi\superpmicollect compatible with Helix
Egor Chesakov [Fri, 11 Jan 2019 22:45:25 +0000 (14:45 -0800)]
Make JIT\superpmi\superpmicollect compatible with Helix

Related issue: https://github.com/dotnet/coreclr/issues/21698

5 years agoString -> string
Jan Kotas [Tue, 15 Jan 2019 23:53:23 +0000 (15:53 -0800)]
String -> string

5 years agoDelete files moved to shared partition
Jan Kotas [Tue, 15 Jan 2019 23:49:12 +0000 (15:49 -0800)]
Delete files moved to shared partition

5 years agoMove more COM exceptions to shared partition (dotnet/corert#6829)
Marek Safar [Tue, 15 Jan 2019 23:32:58 +0000 (00:32 +0100)]
Move more COM exceptions to shared partition (dotnet/corert#6829)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoWIP: Re-enable ObjectStackAllocationTests for arm32
Eugene Rozenfeld [Fri, 14 Dec 2018 00:57:12 +0000 (16:57 -0800)]
WIP: Re-enable ObjectStackAllocationTests for arm32

5 years agoUse MSBuild to generate __TestEnv files (#21966)
Egor Chesakov [Wed, 16 Jan 2019 00:25:10 +0000 (16:25 -0800)]
Use MSBuild to generate __TestEnv files (#21966)

5 years agoFix two cases of FP-relative immediate offsets not being checked for encodability
Bruce Forstall [Tue, 15 Jan 2019 22:21:48 +0000 (14:21 -0800)]
Fix two cases of FP-relative immediate offsets not being checked for encodability

For ARM32/ARM64, the immediate offsets in addressing modes have
limited range that varies by instruction. A couple cases were not
checking for that range, leading to generating potentially
un-encodable instruction.

In particular, the test case shows a case where a very large frame in a function
with a stored generic context would fail on ARM64.

There are no code diffs from this change for ARM64, except we sometimes get
better assembly comments where the local variable referenced is annotated on
the store instruction. For ARM32, the "secret stub param" is now stored using
SP-relative addressing, not FP-relative, if possible (which we generally prefer
in main function bodies).

5 years agoOn SIGTERM default to a non-zero exit code (#21300)
Tom Deseyn [Tue, 15 Jan 2019 20:43:08 +0000 (21:43 +0100)]
On SIGTERM default to a non-zero exit code (#21300)

* On SIGTERM default to a non-zero exit code

* Fix Windows builds

* Improve SIG_DFL/SIG_IGN handling

* Remove PAL_GetTerminationExitCode

* Use sa_handler/sa_sigaction based on SA_SIGINFO; remove HAVE_SIGINFO_T.

* configure.cmake: remove siginfo_t check

* Move restore_signal_and_resend so OSX can use it; add function documentation

* Fix OSX build: include pal/process.h for gPID

* Check SIG_IGN and SIG_DFL against sa_handler

* Don't use sa_handler when SA_SIGINFO is set

* Fix equality check

* Swap order of checking SA_SIGINFO and SIG_IGN/SIG_DFL

5 years agoMerge pull request #21963 from BrianBohe/master
Juan Hoyos [Tue, 15 Jan 2019 20:01:45 +0000 (12:01 -0800)]
Merge pull request #21963 from BrianBohe/master

Remove unreachable code

5 years agoAdd freebsd official build (#21988)
Sven Boemer [Tue, 15 Jan 2019 19:21:05 +0000 (11:21 -0800)]
Add freebsd official build (#21988)

* Enable freebsd build

Two different environment variables are used to tell either buildtools or arcade to use an existing SDK instead of trying to restore one. The package build project is pure msbuild (it doesn't do platform detection in any wrapper .sh files), and we don't have FreeBSD detected in msbuild, so pass the __BuildOS in from the caller.

5 years agoallocate the right number of slots for the handle table when number of processors...
David Mason [Tue, 15 Jan 2019 18:23:48 +0000 (10:23 -0800)]
allocate the right number of slots for the handle table when number of processors > 64 (#21992)

5 years agoUpdate CoreClr, CoreFx, PgoData to preview-27312-01, preview.19063.1, master-20190111...
dotnet-maestro-bot [Tue, 15 Jan 2019 16:12:09 +0000 (08:12 -0800)]
Update CoreClr, CoreFx, PgoData to preview-27312-01, preview.19063.1, master-20190111.1, respectively (master) (#21954)

* Update CoreClr, CoreFx, PgoData to preview-27312-01, preview.19063.1, master-20190111.1, respectively

* Disable invalid test

5 years agofix the help message for runtest.sh so the gcstress instructions aren't split across...
David Mason [Tue, 15 Jan 2019 04:48:49 +0000 (20:48 -0800)]
fix the help message for runtest.sh so the gcstress instructions aren't split across multiple lines (#21989)