platform/upstream/dotnet/runtime.git
5 years agoFail loading types with default interface methods for fragile ngen (dotnet/coreclr...
Michal Strehovský [Tue, 19 Feb 2019 12:47:50 +0000 (13:47 +0100)]
Fail loading types with default interface methods for fragile ngen (dotnet/coreclr#22603)

We are not generating the right data structures for this. Since fragile crossgen is no longer a mainstream scenario, it's not worth the effort to add default interface methods support for it.

This avoids `!"Precode::GetPrecodeFromEntryPoint: Unexpected code in precode"` and similar issues.

Commit migrated from https://github.com/dotnet/coreclr/commit/388a7d415d8f5b45c3ca6e74d8b0885a20d0b962

5 years agoAdjust gc stress compatibility settings for two tests (dotnet/coreclr#22633)
Andy Ayers [Tue, 19 Feb 2019 07:43:46 +0000 (23:43 -0800)]
Adjust gc stress compatibility settings for two tests (dotnet/coreclr#22633)

* enable eventsourcetrace for gc stress. Closes dotnet/coreclr#17188.
* disable GitHub_12224 for gc stress (relies on timeout). Closes dotnet/coreclr#19086.

Commit migrated from https://github.com/dotnet/coreclr/commit/4ac07f7e396e19043baf42c3e38bc50b51c5bff3

5 years agoUse correct version for Microsoft.NETCore.Platforms (dotnet/coreclr#22683)
Jan Kotas [Tue, 19 Feb 2019 00:38:20 +0000 (16:38 -0800)]
Use correct version for Microsoft.NETCore.Platforms (dotnet/coreclr#22683)

Commit migrated from https://github.com/dotnet/coreclr/commit/7d9c1ef1d5c879082285af0c0015faecccdedfa3

5 years agoRemove resetting of unmanaged thread locale from thread pool APIs (dotnet/coreclr...
Jan Kotas [Tue, 19 Feb 2019 00:37:19 +0000 (16:37 -0800)]
Remove resetting of unmanaged thread locale from thread pool APIs (dotnet/coreclr#22682)

The cost of doing this is showing up in the TechEmpower profiles. There is a lot of thread locale state in unmanaged libraries and OS APIs that the threadpool friendly code has to be aware off. It does not make sense to keep reseting just the Locale.

Commit migrated from https://github.com/dotnet/coreclr/commit/281f69036a435d11349fffdee6bb2f0c20f818eb

5 years agoFix constrained call corner cases (dotnet/coreclr#22464)
Michal Strehovský [Mon, 18 Feb 2019 16:19:55 +0000 (17:19 +0100)]
Fix constrained call corner cases (dotnet/coreclr#22464)

Fixes dotnet/coreclr#22423. I'm still unclear on how JitStress manages to get itself into that situation, but I was able to write a repro that triggers the `!pMDAfterConstraintResolution->IsInterface()` assert using regular IL, so we need to handle that either way. The repro for that is constrained3.il.

While figuring out the repro, I wrote a bunch of other test code and found another bug (constrained2), where we would box in a situations that doesn't require boxing (canonically ambiguous situation where there's a suitable default interface implementation and a valuetype implementation of the constrained method that does not requires boxing once we no longer deal with __Canon).

Commit migrated from https://github.com/dotnet/coreclr/commit/88249918cd01e8729c60c0f6c2cf8145d0bc3c55

5 years agoFix warning causing error in warning as error (Windows) (dotnet/coreclr#22660)
Ben Adams [Mon, 18 Feb 2019 08:17:13 +0000 (08:17 +0000)]
Fix warning causing error in warning as error (Windows) (dotnet/coreclr#22660)

BOOL -> bool conversion

Commit migrated from https://github.com/dotnet/coreclr/commit/a8d58d62d1009b41e423923ba66a041a99bea7cc

5 years agoFix Integer Rounding issue and duplicate definition of __deref in sal.h (dotnet/corec...
Sinan Kaya [Mon, 18 Feb 2019 05:12:28 +0000 (00:12 -0500)]
Fix Integer Rounding issue and duplicate definition of __deref in sal.h (dotnet/coreclr#22645)

* Fix large integer truncation

pal/pal.h:4988:43:
warning: large integer implicitly truncated to unsigned type
[-Woverflow]
     static const SIZE_T NoTargetFrameSp = SIZE_MAX;
                                                ^~~~~~~~

* Fix compilation error with GCC

/usr/include/c++/7.3.0/debug/functions.h:452:15: error: expected unqualified-id before ')' token
       __deref();
               ^
/usr/include/c++/7.3.0/debug/functions.h:455:34: error: expected primary-expression before '<' token
       typename = decltype(__deref<_It>() < __deref<_It>())>
                                  ^
/usr/include/c++/7.3.0/debug/functions.h:455:38: error: expected primary-expression before '>' token
       typename = decltype(__deref<_It>() < __deref<_It>())>
                                      ^
/usr/include/c++/7.3.0/debug/functions.h:455:40: error: expected primary-expression before ')' token
       typename = decltype(__deref<_It>() < __deref<_It>())>
                                        ^

Commit migrated from https://github.com/dotnet/coreclr/commit/f522e39d4a1da2a4b4859c5db5c741193d098984

5 years agoDelete RtlMoveMemory and tests (dotnet/coreclr#22668)
Adeel Mujahid [Mon, 18 Feb 2019 04:29:23 +0000 (06:29 +0200)]
Delete RtlMoveMemory and tests (dotnet/coreclr#22668)

Commit migrated from https://github.com/dotnet/coreclr/commit/6252e7d5b428b17e46fc4424bdf6fad38ebd1c35

5 years agoFix the build of Loader/NativeLib test (dotnet/coreclr#22648)
Swaroop Sridhar [Sun, 17 Feb 2019 21:27:41 +0000 (13:27 -0800)]
Fix the build of Loader/NativeLib test (dotnet/coreclr#22648)

The native test assets were not build correctly on Unix platforms.
The native library exports were generated as private symbols by clang.

This change fixes the export declaration so that the global symbols are
correctly generated for exported symbols.

Fixes dotnet/coreclr#22549

Commit migrated from https://github.com/dotnet/coreclr/commit/390d002ac1ff919fcaae047eb09217ddeac78779

5 years agoOnly import the RoslynPropsFile if it exists. (dotnet/coreclr#22657)
Tanner Gooding [Sun, 17 Feb 2019 03:38:04 +0000 (19:38 -0800)]
Only import the RoslynPropsFile if it exists. (dotnet/coreclr#22657)

Commit migrated from https://github.com/dotnet/coreclr/commit/217b3b11923444cba8e33b6881ce1e3520f5c161

5 years agoFix visibility and signed comparison issues for GCC (dotnet/coreclr#22586)
Adeel Mujahid [Sun, 17 Feb 2019 01:50:17 +0000 (03:50 +0200)]
Fix visibility and signed comparison issues for GCC (dotnet/coreclr#22586)

* Fix visibility and signed comparison issues for GCC

* Fix hidden _CLRDataCreateInstance warned by macOS

* Fix indentation in vswprintf/test1

* Change void* to PVOID in implementation files

Commit migrated from https://github.com/dotnet/coreclr/commit/7760228f08059e6f3ed90e56dbae74eac495aa98

5 years agoAvoid pulling in Lazy<T> during startup (dotnet/coreclr#22659)
Jan Kotas [Sun, 17 Feb 2019 01:49:06 +0000 (17:49 -0800)]
Avoid pulling in Lazy<T> during startup (dotnet/coreclr#22659)

Environment constructor runs on every startup path. Remove dependency on Lazy<T> from it.

Commit migrated from https://github.com/dotnet/coreclr/commit/98956dd6b9450bbcafe7c6934e532b557ae38918

5 years agoMerge pull request dotnet/coreclr#22528 from mikedn/idx-addr
Carol Eidt [Sat, 16 Feb 2019 15:06:45 +0000 (07:06 -0800)]
Merge pull request dotnet/coreclr#22528 from mikedn/idx-addr

Fix genCodeForIndexAddr

Commit migrated from https://github.com/dotnet/coreclr/commit/e3d4b9c7e355ca67b4717e212497fe4d8a05eb57

5 years ago[master] Update dependencies from dotnet/corefx (dotnet/coreclr#22595)
dotnet-maestro[bot] [Sat, 16 Feb 2019 07:50:21 +0000 (23:50 -0800)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#22595)

* Update dependencies from https://github.com/dotnet/corefx build 20190213.23

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19113.23
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19113.23

* Update dependencies from https://github.com/dotnet/corefx build 20190215.1

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19115.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19115.1

* Fixing up the tests dependent on the S.R.I.Vector API changes

* Regenerating the tests dependent on the S.R.I.Vector API changes

* Disabling an outdated CoreFX test.

Commit migrated from https://github.com/dotnet/coreclr/commit/990dd2c14972f07001ff6021528697df51c8e5e6

5 years agoSet the 'PLATFORM_OSX' constant during OSX build (dotnet/coreclr#22639)
Aaron Robinson [Sat, 16 Feb 2019 05:28:50 +0000 (21:28 -0800)]
Set the 'PLATFORM_OSX' constant during OSX build (dotnet/coreclr#22639)

* Set the 'PLATFORM_OSX' constant during OSX build

* Remove PLATFORM_OSX define from SPCL

Commit migrated from https://github.com/dotnet/coreclr/commit/a4cad5d4d3a7bbb9fa98b8aa3dc8167328065ea7

5 years agoFix bug in FindDispatchSlot usage
Aaron Robinson [Sat, 16 Feb 2019 05:25:08 +0000 (21:25 -0800)]
Fix bug in FindDispatchSlot usage

Commit migrated from https://github.com/dotnet/coreclr/commit/b9b349decc9cedbc1be4cc0b918b8b190ab0e59d

5 years agoUpdate BuildTools, IbcData, PgoData to 3.0.0-preview1-03715-01, master-20190208.1...
Tanner Gooding [Sat, 16 Feb 2019 05:11:56 +0000 (21:11 -0800)]
Update BuildTools, IbcData, PgoData to 3.0.0-preview1-03715-01, master-20190208.1, master-20190208.1, respectively (master) (dotnet/coreclr#22647)

Commit migrated from https://github.com/dotnet/coreclr/commit/06a3926ba4cb3d9ba4ea5233c62a4b4fe6f0e0ba

5 years agoUpdating some local functions to be 'static' (captureless). (dotnet/coreclr#22635)
Tanner Gooding [Fri, 15 Feb 2019 23:17:52 +0000 (15:17 -0800)]
Updating some local functions to be 'static' (captureless). (dotnet/coreclr#22635)

Commit migrated from https://github.com/dotnet/coreclr/commit/470dcbb2ebbe97357cc79a8c8caebec6b63e63a8

5 years agoJIT: modify how jit determines when to update a type (dotnet/coreclr#22618)
Andy Ayers [Fri, 15 Feb 2019 22:39:33 +0000 (14:39 -0800)]
JIT: modify how jit determines when to update a type (dotnet/coreclr#22618)

For single-def locals, the type of a reference seen at the assignment to the
local may be a more specific type than the local's declared type. If so the jit
would prefer to use the assignment type to describe the local's value, as this
will lead to better optimization. For instance in
```
    object x = "a string";  // only assignment to x
```
the jit can optimize better if it models the type of `x` as `string`.

Instead of relying on `mergeClasses` plus some jit-side screening to decide if
the assignment type is a more specific type, implement a new jit interface
method `isMoreSpecificType` that tries to answer this question more directly.

Added a test case with type equivalence that hit asserts.

Closes dotnet/coreclr#22583.

Commit migrated from https://github.com/dotnet/coreclr/commit/bb62718325435a1ad5761c84c06b8b653856e296

5 years agoDisable arm64 contracts. (dotnet/coreclr#22605)
Sergey Andreenko [Fri, 15 Feb 2019 22:03:47 +0000 (14:03 -0800)]
Disable arm64 contracts. (dotnet/coreclr#22605)

* Fix ifdef for `g_DbgSuppressAllocationAsserts`.

It needs to be defined under `FEATURE_INTEROP_DEBUGGING`.

* Unify contracts disabling for UNIX/ARM.

It also disables some parts that were disabled for ARM, but not for UNIX.
It fixes the difference that we see between ARM32 and ARM64 Unix Checked.

* Disable contracts on arm64.

FIxes the difference that we see between windows arm32 and arm64 in checked/debug builds.

* Revert CoreFX arm64 timeout change.

That is no longer necessary.

* Reenable arm64 corefx jobs.

They should not fail with timeouts anymore.

* Don't allow `g_DbgSuppressAllocationAsserts` defnition in release builds.

* delete AssertAllocationAllowed

Commit migrated from https://github.com/dotnet/coreclr/commit/6f1bdfffb77ba1c95f46e16a7eeff3cfaf2f2f1f

5 years agoPort profiler howtos from David Broman's blog to the documentation folder (dotnet...
David Mason [Fri, 15 Feb 2019 22:02:31 +0000 (14:02 -0800)]
Port profiler howtos from David Broman's blog to the documentation folder (dotnet/coreclr#22363)

Commit migrated from https://github.com/dotnet/coreclr/commit/342c80a0c400e85e0507adaefae47f737c48f06f

5 years agoPublish version to dotnet/versions
Steve MacLean [Mon, 11 Feb 2019 21:39:44 +0000 (16:39 -0500)]
Publish version to dotnet/versions

Commit migrated from https://github.com/dotnet/coreclr/commit/51d033897eb5663ea8bab53704406d9fd82af98f

5 years agoFix UpdatePublishedVersions.ps1
Steve MacLean [Thu, 14 Feb 2019 21:04:47 +0000 (16:04 -0500)]
Fix UpdatePublishedVersions.ps1

Commit migrated from https://github.com/dotnet/coreclr/commit/f97bd459f7ba5f76a799f41cac3e86b9b14899e3

5 years agoWiden index to a temporary register
Mike Danes [Fri, 15 Feb 2019 18:56:59 +0000 (20:56 +0200)]
Widen index to a temporary register

Commit migrated from https://github.com/dotnet/coreclr/commit/091bc5618ca9b16f75081bff0df95d35c4b4b6c2

5 years agoDelete references to System.Memory package that does not exist anymore (dotnet/corecl...
Jan Kotas [Fri, 15 Feb 2019 19:23:45 +0000 (11:23 -0800)]
Delete references to System.Memory package that does not exist anymore (dotnet/coreclr#22626)

Commit migrated from https://github.com/dotnet/coreclr/commit/ef1ea1eae6114c7846bb2f3ac2132caf530a698a

5 years agoDisable failing corefx test (dotnet/coreclr#22625)
Jan Kotas [Fri, 15 Feb 2019 18:25:05 +0000 (10:25 -0800)]
Disable failing corefx test (dotnet/coreclr#22625)

Related to https://github.com/dotnet/corefx/issues/35351

Commit migrated from https://github.com/dotnet/coreclr/commit/b929fcb92db1d64044bef9b1577e95e6e4da3f25

5 years agoManually update the dependencies.props and move S.P.Corelib to use LangVersion=8...
Tanner Gooding [Fri, 15 Feb 2019 17:20:37 +0000 (09:20 -0800)]
Manually update the dependencies.props and move S.P.Corelib to use LangVersion=8.0 (dotnet/coreclr#22452)

* Update BuildTools to preview1-03713-01 (master)

* Updating CoreCLR to use LangVersion=8.0

* Moving the Windows scripts to default to `dotnet msbuild` for managed components

* Setting UseSharedCompilation=true

* Changing some additional callsites that were using msbuild to use dotnet msbuild

* Revert packages.builds to use Desktop msbuild on Windows

* Fixing runtest.cmd to always set DotNetCli

Commit migrated from https://github.com/dotnet/coreclr/commit/cd9831cd00408db60364f367756de296852467ae

5 years agoReserve fast dictionary slots for Tier1 code (dotnet/coreclr#22619)
Jan Kotas [Fri, 15 Feb 2019 16:20:12 +0000 (08:20 -0800)]
Reserve fast dictionary slots for Tier1 code (dotnet/coreclr#22619)

Disable use of fast dictionary slots for R2R images when tiered JITing is enabled.

Fixes dotnet/coreclr#22400

Commit migrated from https://github.com/dotnet/coreclr/commit/bae641f469bebb39b6043071fa55e1fa032bd355

5 years agoRemove CoreLib's src\Interop\Windows directory (dotnet/coreclr#22622)
Stephen Toub [Fri, 15 Feb 2019 16:05:07 +0000 (11:05 -0500)]
Remove CoreLib's src\Interop\Windows directory (dotnet/coreclr#22622)

It contains only one file with an interop signature that's not actually being used. Deleting the dup.

Commit migrated from https://github.com/dotnet/coreclr/commit/6adc4c0b726ca1a77084e8a215e743d037ac5515

5 years agoFix CoreFX build breaks
Jan Kotas [Fri, 15 Feb 2019 08:11:29 +0000 (00:11 -0800)]
Fix CoreFX build breaks

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/19ad3d12128e87ddc93baebf8bc0cb2c2bb16b5b

5 years agoFixing the number formatting code to only recognize 'R' for double/float. (dotnet...
Tanner Gooding [Fri, 15 Feb 2019 06:24:40 +0000 (22:24 -0800)]
Fixing the number formatting code to only recognize 'R' for double/float. (dotnet/coreclr#22613)

Commit migrated from https://github.com/dotnet/coreclr/commit/9d3aea75de62972ddbc117f2d8703314e1e46183

5 years agoMove Reflection.Emit Tokens to shared partition (dotnet/coreclr#22602)
Marek Safar [Fri, 15 Feb 2019 02:28:01 +0000 (03:28 +0100)]
Move Reflection.Emit Tokens to shared partition (dotnet/coreclr#22602)

Commit migrated from https://github.com/dotnet/coreclr/commit/00f0c3250e4f2cd156753ccd17f005db696ff046

5 years agoMissed optimization from dotnet/coreclr#22497
Grant [Fri, 15 Feb 2019 02:21:52 +0000 (18:21 -0800)]
Missed optimization from dotnet/coreclr#22497

Commit migrated from https://github.com/dotnet/coreclr/commit/361e7dc5ee73b8d86fd9ec16b0fdec6ac7302b16

5 years agoRemove unnecessary ProjectReferences to CoreCLRTestLibrary (dotnet/coreclr#22539)
Egor Chesakov [Fri, 15 Feb 2019 01:26:18 +0000 (17:26 -0800)]
Remove unnecessary ProjectReferences to CoreCLRTestLibrary (dotnet/coreclr#22539)

Remove the ProjectReferences to CoreCLRTestLibrary.csproj in the project files where CoreCLRTestLibrary is not actually being used.

Each ProjectReference item is ended up in PrepareProjectReferences target that creates unnecessary items.

Commit migrated from https://github.com/dotnet/coreclr/commit/7fa6f45c29eb9f602a70ca0106014591e191dc55

5 years agoReplace multi-loaderallocator hash implementation in MethodDescBackpatchInfo (dotnet...
David Wrighton [Fri, 15 Feb 2019 01:07:14 +0000 (17:07 -0800)]
Replace multi-loaderallocator hash implementation in MethodDescBackpatchInfo (dotnet/coreclr#22285)

* GCHeapHash
- Hashtable implementation for runtime use
- Implementation written in C++
- Data storage in managed heap memory
- Based on SHash design, but using managed memory

CrossLoaderAllocatorHash
- Hash for c++ Pointer to C++ pointer where the lifetimes are controlled by different loader allocators
 - Support for add/remove/visit all entries of 1 key/visit all entries/ remove all entries of 1 key
- Supports holding data which is unmanaged, but data items themselves can be of any size (key/value are templated types)

* Swap MethodDescBackpatchInfo to use the CrossLoaderAllocatorHash

* The MethodDescBackpatchCrst needs to be around an allocation
- Adjust the Crst so that it can safely be used around code which allocates
- Required moving its use out from within the EESuspend logic used in rejit

Commit migrated from https://github.com/dotnet/coreclr/commit/423d2a3b91feea18ab361da04d5cc24bdff157d0

5 years agoRemove unnecessary fields from WaitHandle (dotnet/coreclr#22593)
Filip Navara [Thu, 14 Feb 2019 23:02:20 +0000 (00:02 +0100)]
Remove unnecessary fields from WaitHandle (dotnet/coreclr#22593)

* Remove unnecessary fields from WaitHandle

* Drop volatile from _waitHandle

* Address race condition in unmanaged code

* Remove unused hasThreadAffinity parameters

* Fix FCDECL argument counts

Commit migrated from https://github.com/dotnet/coreclr/commit/89e78f42ba11beaa81635a75cf593a3713dba176

5 years agoFix check for memory containment safety. (dotnet/coreclr#22563)
Eugene Rozenfeld [Thu, 14 Feb 2019 22:43:26 +0000 (14:43 -0800)]
Fix check for memory containment safety. (dotnet/coreclr#22563)

This change ensures that if an operand can produce an exception
and any instructions executed after the operand evaluation but before
the operand's parent can also produce an exception, the operand
shouldn't be contained. The reason is that in this case operand
containment may reorder exceptions.

With `strict` set to true the containment is blocked here:
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@d27fff3f65193dd71c6197e9876101f496bbd28b/src/jit/sideeffects.cpp#L485-L488

Also, make the check for ordering side-effect interference less
conservative.

Fixes dotnet/coreclr#22556.

Commit migrated from https://github.com/dotnet/coreclr/commit/6c9ad257e78977c9fd5d2429490b5d2f72c1b612

5 years agoConsolidate implementation of Rotate and PopCount (dotnet/coreclr#22584)
Grant [Thu, 14 Feb 2019 21:51:03 +0000 (13:51 -0800)]
Consolidate implementation of Rotate and PopCount (dotnet/coreclr#22584)

* Perf: BitOps.LeadingZeroCount

* Remove redundant MSIL cast, conv.u8

* Use local functions for SoftwareFallback

* Target BIT32/64

Commit migrated from https://github.com/dotnet/coreclr/commit/b4f99f2d85956cbf20610b283eab24e9dabcf3be

5 years agoAdjust corert for shared SafeHandle and EventRegistrationToken
Stephen Toub [Wed, 13 Feb 2019 22:58:52 +0000 (17:58 -0500)]
Adjust corert for shared SafeHandle and EventRegistrationToken

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/87c28ebac2739d38a1de417d9b90b3f0f1c2b104

5 years agoFix netfx build break in Microsoft.Diagnostics.Tracing.EventSource.Redist
Stephen Toub [Wed, 13 Feb 2019 19:49:15 +0000 (14:49 -0500)]
Fix netfx build break in Microsoft.Diagnostics.Tracing.EventSource.Redist

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c52cbeff7da86b22c21c7deedf4f1804d183ffe6

5 years agoMove FrameworkEventSource to shared partition (dotnet/coreclr#22507)
Marek Safar [Thu, 14 Feb 2019 20:14:52 +0000 (21:14 +0100)]
Move FrameworkEventSource to shared partition (dotnet/coreclr#22507)

* Move FrameworkEventSource to shared partition

and remove unused code

* Remove more unused code

* Remove CA8001 suppress message

Commit migrated from https://github.com/dotnet/coreclr/commit/413253cf352f0f711be798b586b6b8c4b64aedbf

5 years agoGnuport cleanup 3 (dotnet/coreclr#22581)
Sinan Kaya [Thu, 14 Feb 2019 19:06:57 +0000 (14:06 -0500)]
Gnuport cleanup 3 (dotnet/coreclr#22581)

* Reorder extern "C" and visibility statements

In file included from coreclr/src/pal/inc/pal.h:70:0,
coreclr/src/pal/inc/pal_mstypes.h:30:25: error: expected unqualified-id
before string constant
 #define EXTERN_C extern "C"
                          ^
coreclr/src/pal/inc/rt/palrt.h:216:30: note:
  in expansion of macro 'EXTERN_C'
   #define STDAPI_(type)        EXTERN_C type STDAPICALLTYPE

* Need double quotes around single quotes in error statements

fix error statements

Can't have ' character in error statement

* Abstract __declspec(noinline)

Generate compiler independent macros for noinline request.

* Remove unused DBG_NOINLINE_X86__RET_INLINE

* Abstract __declspec(nothrow)

Commit migrated from https://github.com/dotnet/coreclr/commit/36931ac7b24249201547f7ca667105014b2e4c7f

5 years agoAdd Rune creation API from UTF-16 surrogate pair (dotnet/coreclr#22590)
Levi Broderick [Thu, 14 Feb 2019 19:00:02 +0000 (11:00 -0800)]
Add Rune creation API from UTF-16 surrogate pair (dotnet/coreclr#22590)

Also brings in some perf improvements to existing char and UnicodeUtility APIs

Commit migrated from https://github.com/dotnet/coreclr/commit/84eaa7ac079e625f2fbe36ba976f735dbdacdc6b

5 years agoAdd coreclr-outerloop build definition jobs (dotnet/coreclr#22578)
Egor Chesakov [Thu, 14 Feb 2019 16:20:06 +0000 (08:20 -0800)]
Add coreclr-outerloop build definition jobs (dotnet/coreclr#22578)

Commit migrated from https://github.com/dotnet/coreclr/commit/340c278f750a9e1127e66e17fe3ac3c125ead35f

5 years agoDon't use $(_HelixSource) and $(_HelixType) in test-job.yml (dotnet/coreclr#22589)
Egor Chesakov [Thu, 14 Feb 2019 16:17:52 +0000 (08:17 -0800)]
Don't use $(_HelixSource) and $(_HelixType) in test-job.yml (dotnet/coreclr#22589)

Commit migrated from https://github.com/dotnet/coreclr/commit/4424340fe19ecc81429133ab7e13f37816ed8005

5 years agoAnnotate PlatformID as a moved type
Michal Strehovsky [Wed, 13 Feb 2019 12:45:42 +0000 (04:45 -0800)]
Annotate PlatformID as a moved type

This should have been annotated along with the rest in dotnet/corertdotnet/coreclr#6928 but I missed it.

[tfs-changeset: 1733685]

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/9d932bb6af40e78c83d98ed280465c7024884d52

5 years agoImproving an assert in fgInsertInlineeBlocks
Andrew Au [Tue, 29 Jan 2019 21:46:30 +0000 (13:46 -0800)]
Improving an assert in fgInsertInlineeBlocks

Commit migrated from https://github.com/dotnet/coreclr/commit/e825831ae18d0805dcd8187fa736becc703efe97

5 years agoUse dependency flow for core-setup and corefx dependencies (dotnet/coreclr#22544)
Juan Hoyos [Thu, 14 Feb 2019 02:14:35 +0000 (18:14 -0800)]
Use dependency flow for core-setup and corefx dependencies (dotnet/coreclr#22544)

* Remove old use of signing package used to work around SPC signing now that arcade has bubbled up the version.
* Move dependency update for CoreFX and Core-setup dependencies to BAR/Darc/Maestro++ flow
* Update property references in tests.
* Version bump for CoreFX and Core-Setup dependencies.
* Update test Github_20958 to use revised System.Range constructor as surface area changed with dotnet/coreclr#22331.

Commit migrated from https://github.com/dotnet/coreclr/commit/ebaa5ddf432ed4dd120007e0bdc13717943147f3

5 years agoMerge pull request dotnet/coreclr#22327 from BrianBohe/refactoring_genCodeForBBList
Carol Eidt [Thu, 14 Feb 2019 00:30:44 +0000 (16:30 -0800)]
Merge pull request dotnet/coreclr#22327 from BrianBohe/refactoring_genCodeForBBList

Moving structures initialization before generating code for blocks to…

Commit migrated from https://github.com/dotnet/coreclr/commit/a32190d14c3f1f44f397cd1f9b20157ce6dd6067

5 years agoRemove Marshaling MDA (dotnet/coreclr#22579)
Jeremy Koritzinsky [Wed, 13 Feb 2019 23:52:35 +0000 (15:52 -0800)]
Remove Marshaling MDA (dotnet/coreclr#22579)

Remove the "marshaling" MDA. In .NET Framework it was off by default and in .NET Core it was commented out in the boilerplate file. Additionally, from what I can tell only half of its functionality was ever implemented in .NET Core.

Contributes to dotnet/coreclr#22538.

Commit migrated from https://github.com/dotnet/coreclr/commit/ac27e6badbb195a77c0f81427ffc0d4f837dcc45

5 years agoRemove some CAS cruft (dotnet/coreclr#22576)
Aaron Robinson [Wed, 13 Feb 2019 23:04:59 +0000 (15:04 -0800)]
Remove some CAS cruft (dotnet/coreclr#22576)

* Update comment on SuppressUnmanagedCodeSecurityAttribute.
* Remove unused declsec.h header.

Commit migrated from https://github.com/dotnet/coreclr/commit/f514a549d7b8972111e85cfb7dab6fa3216382ba

5 years agoPerf: Consolidate implementation of LeadingZeroCount (dotnet/coreclr#22497)
Grant [Wed, 13 Feb 2019 22:17:01 +0000 (14:17 -0800)]
Perf: Consolidate implementation of LeadingZeroCount (dotnet/coreclr#22497)

* Perf: BitOps.LeadingZeroCount

* CR fix

* CR fixes

* Optimization

* Revert

* Confirmed fix

* Simplify

* Return int

* Fixes

* Simplify

* CR fixes

* CR fixes

* Fix unit failure on Linux-musl x64 Debug

* CR fixes

* CR fixes

* Cleanup

Commit migrated from https://github.com/dotnet/coreclr/commit/eee8c24c0351605909f93481b54d5525c76980f4

5 years agoFix comment placement. (dotnet/coreclr#22580)
Sergey Andreenko [Wed, 13 Feb 2019 20:15:10 +0000 (12:15 -0800)]
Fix comment placement. (dotnet/coreclr#22580)

Commit migrated from https://github.com/dotnet/coreclr/commit/d0109ee909f8dde3c5dd24b81d34922323369f6d

5 years agoMoving structures initialization before generating code for blocks to other function
Brian Bohe [Wed, 13 Feb 2019 19:26:49 +0000 (11:26 -0800)]
Moving structures initialization before generating code for blocks to other function

Commit migrated from https://github.com/dotnet/coreclr/commit/03ac72feee80a05b50d44d2391d5796516048c0e

5 years agoReplace Win32Native.cs with Interop files (dotnet/coreclr#22540)
Stephen Toub [Wed, 13 Feb 2019 18:43:13 +0000 (13:43 -0500)]
Replace Win32Native.cs with Interop files (dotnet/coreclr#22540)

* Replace Win32Native.cs with Interop files

- Replace Win32Native usage with existing Interop.* calls where they already existed
- Moved Win32Native.* to their own files otherwise, and changed call sites
- Left a stub Win32Native in place to handle some emitted IL from the runtime.  The current infrastructure doesn't support targeting nested types, like Interop.Kernel32, and fixing that would be more involved.

* Remove Win32Native.cs

Replace emitted calls with ones to Marshal.

* Fix incorrectly changed field

* Fix Kernel32 -> Ole32

Commit migrated from https://github.com/dotnet/coreclr/commit/78cbd968cabc2bd6c84bfe6a0a240658e564a6d5

5 years agoMove SafeHandle to managed code and shared (dotnet/coreclr#22564)
Stephen Toub [Wed, 13 Feb 2019 16:12:10 +0000 (11:12 -0500)]
Move SafeHandle to managed code and shared (dotnet/coreclr#22564)

* Move SafeHandle to managed code and shared

This moves the implementation of SafeHandle from native code in the runtime to managed.  I used corert's implementation as a base, and reviewed it again against the existing native implementation, making a few tweaks to better match the existing semantics.

This should be a valid move because of the reduced goals around CERs, thread aborts, etc.

However, there are places in the runtime that access SafeHandle functionality via its native counterpart, so I kept the relevant pieces of the native code intact.  Most code will continue to use the managed APIs, but the runtime can continue calling into the native versions when needed.

* Address PR feedback

* Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/b8d7a8de00bd13c958d501ada0695af52f6761af

5 years agoMove EventRegistrationToken to shared (dotnet/coreclr#22565)
Stephen Toub [Wed, 13 Feb 2019 16:10:31 +0000 (11:10 -0500)]
Move EventRegistrationToken to shared (dotnet/coreclr#22565)

* Move EventRegistrationToken to shared

* Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/b2d06656c32981338b4a5f78d2ba5d8c01b73b9e

5 years agoFixing the double/float formatting code to use a fallback precision for custom-format...
Tanner Gooding [Wed, 13 Feb 2019 15:36:57 +0000 (07:36 -0800)]
Fixing the double/float formatting code to use a fallback precision for custom-format strings. (dotnet/coreclr#22522)

Commit migrated from https://github.com/dotnet/coreclr/commit/556e22de1291b6b1a33a5f1080b2bf3125b140e7

5 years agoFix gen-buildsys-win for vs2019 x86 (dotnet/coreclr#22567)
Juan Hoyos [Wed, 13 Feb 2019 14:30:34 +0000 (06:30 -0800)]
Fix gen-buildsys-win for vs2019 x86 (dotnet/coreclr#22567)

Commit migrated from https://github.com/dotnet/coreclr/commit/a3ae272457213aa158ed56879596953c827e60d4

5 years agoImprove SpanHelpers.Byte (dotnet/coreclr#22503)
Ben Adams [Wed, 13 Feb 2019 14:20:44 +0000 (14:20 +0000)]
Improve SpanHelpers.Byte (dotnet/coreclr#22503)

Commit migrated from https://github.com/dotnet/coreclr/commit/a85d443432dfeb4209f1939fb4c81b2547d8c967

5 years agoFix min-opts spill of tree temp large vectors (dotnet/coreclr#22530)
Carol Eidt [Wed, 13 Feb 2019 04:49:56 +0000 (20:49 -0800)]
Fix min-opts spill of tree temp large vectors (dotnet/coreclr#22530)

* Fix min-opts spill of tree temp large vectors

Even if we're not enregistering local vars, we may have large vectors live across a call that need to be spilled.

Fix dotnet/coreclr#22200

Commit migrated from https://github.com/dotnet/coreclr/commit/fc70d035c7a633a63bc783303df01e50ff8c755f

5 years agoRefactoring siVarLoc creation (dotnet/coreclr#22543)
Brian Bohe [Wed, 13 Feb 2019 01:22:35 +0000 (17:22 -0800)]
Refactoring siVarLoc creation (dotnet/coreclr#22543)

* Moving siVarLoc and siVarLocType from compiler.h to CodeGenInterface.h

* Encapsulating siVarLoc construction with siScope and LclVarDsc

* Encapsulating siVarLoc construction from psiScope

* Adding some argument description on genSetScopInfo header

* Changing const siVarLoc& to const siVarLoc* on eeSetLVInfo

* Changing siVarLoc& to siVarLoc* in genSetScopeInfo arguments

* Rename var in genSetScopeInfo header

Commit migrated from https://github.com/dotnet/coreclr/commit/2f75b38bd75e88860203a7fad83f5fbadff0b1f4

5 years agoFix CoreRT build breaks - Adjust resource name - Workaround C# compiler/analyzer bug
Jan Kotas [Tue, 12 Feb 2019 06:33:34 +0000 (22:33 -0800)]
Fix CoreRT build breaks - Adjust resource name - Workaround C# compiler/analyzer bug

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/9d85a643eb32d57188ab1805998dc9a9d6978f8a

5 years agoFix exception sets for indirections in value numbering. (dotnet/coreclr#22542)
Eugene Rozenfeld [Tue, 12 Feb 2019 22:43:14 +0000 (14:43 -0800)]
Fix exception sets for indirections in value numbering. (dotnet/coreclr#22542)

fgValueNumberAddExceptionSetForIndirection had a bug
where INDIR(ADD(x, <big_offset>)) had NullReferenceException(x)
added instead of NullReferenceException(ADD(x, <big_offset>)).

Fixes dotnet/coreclr#20358.

Commit migrated from https://github.com/dotnet/coreclr/commit/1a962737c44b3a9c263e2ca25cbb647c70eeb01e

5 years agoEnable arm64 linux musl builds (dotnet/coreclr#22495)
Jarret Shook [Tue, 12 Feb 2019 22:38:27 +0000 (14:38 -0800)]
Enable arm64 linux musl builds (dotnet/coreclr#22495)

* Enable arm64 linux musl builds

Note that -clang5.0 is required to be passed.

* Fix syntax error

* Pass clang arg to build-test.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/de2fe10e6f53dd4f05f04e9ddad0ccd7619829a0

5 years agoBug Fix: Calling System.Diagnostics.Tracing.EventPipe.Enable twice asserts dotnet...
José Rivero [Tue, 12 Feb 2019 21:54:33 +0000 (13:54 -0800)]
Bug Fix: Calling System.Diagnostics.Tracing.EventPipe.Enable twice asserts dotnet/coreclr#22247 (dotnet/coreclr#22318)

After disabling EventPipe -> SampleProfiler, we were not closing the thread shutdown event, thus asserting on reentrance of the EventPipe.
* Adding regression test, and removing comment.
* Waits until the specified object is in the signaled state.

Commit migrated from https://github.com/dotnet/coreclr/commit/8ad7d5e57e0eb0308453895693a996f5a93c8e08

5 years agoRenaming RuntimeEventSource to NativeRuntimeEventSource (dotnet/coreclr#22533)
Sung Yoon Whang [Tue, 12 Feb 2019 19:53:39 +0000 (11:53 -0800)]
Renaming RuntimeEventSource to NativeRuntimeEventSource (dotnet/coreclr#22533)

* Renaming RuntimeEventSource to NativeRuntimeEventSource

* missed a couple of comments and XPlatEventLogger

* rename DotNETRuntimeEventSource.cs to NativeRuntimeEventSource.cs

* use condition= instead of ifdef

* removing ifdef from NativeRuntimeEventSource.cs

* Fix case for 'eventing' directory in csproj

* Fix unix builds

* This should fix unix build...

Commit migrated from https://github.com/dotnet/coreclr/commit/c4007d88a0c556182f70d7714e5b55cca92331a0

5 years agoEnable portable fast alloc helpers on ARM64 Windows. (dotnet/coreclr#22541)
Aditya Mandaleeka [Tue, 12 Feb 2019 18:20:35 +0000 (10:20 -0800)]
Enable portable fast alloc helpers on ARM64 Windows. (dotnet/coreclr#22541)

Commit migrated from https://github.com/dotnet/coreclr/commit/6e35bf13deec46f20e5468e5345f412734a35ef8

5 years agoAdd extensions methods for several of the VectorXXX<T> helper methods (dotnet/coreclr...
Tanner Gooding [Tue, 12 Feb 2019 17:28:02 +0000 (09:28 -0800)]
Add extensions methods for several of the VectorXXX<T> helper methods (dotnet/coreclr#22336)

* Moving several of the Vector128<T> instance methods to be extension methods.

* Moving several of the Vector256<T> instance methods to be extension methods.

* Moving several of the Vector64<T> instance methods to be extension methods.

Commit migrated from https://github.com/dotnet/coreclr/commit/aa67de6b716c09ff6afd5c98350b5f706efc1963

5 years agoIfdef out code that triggers UTC bug (dotnet/corertdotnet/coreclr#7003)
Michal Strehovský [Tue, 12 Feb 2019 12:45:47 +0000 (13:45 +0100)]
Ifdef out code that triggers UTC bug (dotnet/corertdotnet/coreclr#7003)

This results in bad codegen on AMD64. I filed a bug internally; hopefully we can get a fix soon.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/7a1a920a6d8cfc24ad5a3b30a0482d2cb783b57f

5 years agoUpdate COM Activator class (dotnet/coreclr#22317)
Aaron Robinson [Tue, 12 Feb 2019 16:33:58 +0000 (08:33 -0800)]
Update COM Activator class (dotnet/coreclr#22317)

* Update COM Activator to use ALCs

* Update tests to now supply an assembly name rather than an binary "path"
  since the COM activator is now using ALCs.

* Add test for non-rooted assembly path.

* Move the hostpolicy mock project to a Common area
Move hostpolicy mock API to CoreCLR test library

* Add test for COM server isolation

* Move ComActivator class and logic to Internal namespace.

Commit migrated from https://github.com/dotnet/coreclr/commit/09963dc2ee182e7e62212efbb205edd9c387961d

5 years agoJIT: change how we block gc refs from callee saves for inline pinvokes (dotnet/corecl...
Andy Ayers [Tue, 12 Feb 2019 16:22:47 +0000 (08:22 -0800)]
JIT: change how we block gc refs from callee saves for inline pinvokes (dotnet/coreclr#22477)

Add a new marker instruction that we emit once we've enabled preepmtive gc in
the inline pinvoke method prolog. Use that to kill off callee saves registers
with GC references, instead of waiting until the call.

This closes a window of vulnerability we see in GC stress where if a stress
interrupt happens between the point at which we enable preeemptive GC and
the point at which we make the call, we may report callee saves as GC live
when they're actually dead.

Closes dotnet/coreclr#19211.

Commit migrated from https://github.com/dotnet/coreclr/commit/6cd9e3ab6cae4aaf2a70fe1e59173b998932601d

5 years agoAdd new rounding modes to System.Math, System.MathF (dotnet/coreclr#20815)
hamish-rose [Tue, 12 Feb 2019 10:56:00 +0000 (23:56 +1300)]
Add new rounding modes to System.Math, System.MathF (dotnet/coreclr#20815)

* add new rounding modes to MidpointRounding.cs

new modes added to enum
implemented ToZero for double in Math.cs

* ToZero implementation

* implement double and float rounding modes

* updating rounding implementation

now round inline with DecCalc internal round implementation

* small bug fix

also replace var to make things obvious

* update implementation - floor/ceil

code review feedback

* review feedback

add comments, update MathF with floor/ceil

* code review feedback

 - fix comments
 - replace ifelse with switch
 - remove RoundingMode enum from DecCalc

* exclude outdated corefx test

Commit migrated from https://github.com/dotnet/coreclr/commit/3397472200fc7b2b5db3dfd27a652a12831c37ee

5 years agoSupport building with VS2019 Preview (dotnet/coreclr#22525)
Tanner Gooding [Tue, 12 Feb 2019 07:19:44 +0000 (23:19 -0800)]
Support building with VS2019 Preview (dotnet/coreclr#22525)

* Support building with VS2019 Preview

* Fixing gen-buildsys-win to only set the architecture for the VS generator

* Refactoring Dev11/147911/fpcw.cpp so that it compiles under VS2019

* Removing the remaining traces of VS2015 build support

Commit migrated from https://github.com/dotnet/coreclr/commit/f0770609f8cdbeba019b35af48b70840f33bd479

5 years agoFix genCodeForIndexAddr
Mike Danes [Sun, 10 Feb 2019 10:35:01 +0000 (12:35 +0200)]
Fix genCodeForIndexAddr

This does some weird things - treats the array length as 64 bit when it's in fact 32 bit, fails to zero extend TYP_INT indices, creates new GT_IND/GT_LEA nodes out of thin air.

Commit migrated from https://github.com/dotnet/coreclr/commit/9b78e13d5c2bb48c33320421ade29d2408872934

5 years agoDelete mda.cs and related dead code (dotnet/coreclr#22535)
Stephen Toub [Tue, 12 Feb 2019 04:23:32 +0000 (23:23 -0500)]
Delete mda.cs and related dead code (dotnet/coreclr#22535)

Commit migrated from https://github.com/dotnet/coreclr/commit/1c28b497ff2d49141f6a63e3f293095161e40d00

5 years agoMove ConditionalWeakTable to shared (dotnet/coreclr#22531)
Stephen Toub [Tue, 12 Feb 2019 02:34:21 +0000 (21:34 -0500)]
Move ConditionalWeakTable to shared (dotnet/coreclr#22531)

Leaves DependentHandle as being the runtime PAL

Commit migrated from https://github.com/dotnet/coreclr/commit/8e5f65c4ec87cc58ea80c7473cb2946118c6ade9

5 years ago Make Module partial to allow additional changed for Mono
Marek Safar [Mon, 11 Feb 2019 23:38:55 +0000 (00:38 +0100)]
 Make Module partial to allow additional changed for Mono

Commit migrated from https://github.com/dotnet/coreclr/commit/7dbf35b6f4961299d199fabc009e114bff7800f0

5 years agoAnnotate EventCounter as a relocated type (dotnet/corertdotnet/coreclr#6990)
Michal Strehovský [Mon, 11 Feb 2019 14:22:08 +0000 (15:22 +0100)]
Annotate EventCounter as a relocated type (dotnet/corertdotnet/coreclr#6990)

This moved to CoreLib and needs to be annotated as such for Project N.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/8d17347e323b5514f16b0a9e9b546dcd78201084

5 years agoMove Volatile to shared (dotnet/coreclr#22523)
Stephen Toub [Mon, 11 Feb 2019 23:18:25 +0000 (18:18 -0500)]
Move Volatile to shared (dotnet/coreclr#22523)

* Move Volatile to shared

This largely takes corert's implementation, which uses Unsafe.As and volatile fields.

We could investigate also removing the JIT's replacements subsequently.

* Add [Intrinsic] attributes

Commit migrated from https://github.com/dotnet/coreclr/commit/5da20d0805450d594a115a5402c7bc0abd224128

5 years agoLocally define DLLEXPORT in ee_il_dll.cpp
Russ Keldorph [Mon, 11 Feb 2019 19:42:29 +0000 (11:42 -0800)]
Locally define DLLEXPORT in ee_il_dll.cpp

This prevents a desktop build break due to DLLEXPORT being undefined.  If
you know of a better place to put this, I'm happy to try it.  Otherwise,
this should unblock the desktop build.

Commit migrated from https://github.com/dotnet/coreclr/commit/0ae9ba5a657b30dadb35049fc586b223530ccbbe

5 years agoMove runincontext to src/tools
Russ Keldorph [Sat, 9 Feb 2019 00:20:15 +0000 (16:20 -0800)]
Move runincontext to src/tools

This SDK-style project is causing problems on some machines with VS
installs that can't build it.  For now, move it to a place where it
doesn't build with the tests.

Commit migrated from https://github.com/dotnet/coreclr/commit/9e74a4cd609e3cc1e1c8dbd80ecd1a4a35f9f4d2

5 years agoMove GCHandle to shared (dotnet/coreclr#22499)
Stephen Toub [Mon, 11 Feb 2019 21:52:51 +0000 (16:52 -0500)]
Move GCHandle to shared (dotnet/coreclr#22499)

* Move GCHandle to shared

* Cache the handle in a local to make it easier for JIT to generate good code

* Rename m_handle to _handle to match the coding conventions

* Delete isPinned argument for GCHandleInternalCompareExchange

* Add fast path to GCHandle.Alloc/Free FCalls

* Disable outdated test

Commit migrated from https://github.com/dotnet/coreclr/commit/55dd4d44e5af6afd9ad8eef1ced2e8437c422269

5 years agoUpdate master label to preview4
Russ Keldorph [Mon, 11 Feb 2019 16:06:30 +0000 (08:06 -0800)]
Update master label to preview4

Commit migrated from https://github.com/dotnet/coreclr/commit/11b6d5e7d1061123bf65c7e6347b4fab356caff0

5 years agoprestub: fix ExternalMethodFixupWorker (dotnet/coreclr#22519)
Konstantin Baladurin [Mon, 11 Feb 2019 16:20:50 +0000 (19:20 +0300)]
prestub: fix ExternalMethodFixupWorker (dotnet/coreclr#22519)

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

Commit migrated from https://github.com/dotnet/coreclr/commit/f2ca070a0ab3b75054a225d5908405f83268c920

5 years agoMake Nullable partial to allow additional method for in under Mono (dotnet/coreclr...
Marek Safar [Mon, 11 Feb 2019 11:33:29 +0000 (12:33 +0100)]
Make Nullable partial to allow additional method for in under Mono (dotnet/coreclr#22518)

Commit migrated from https://github.com/dotnet/coreclr/commit/99b0e1a1729d354d4444c8fbd4149df30f7f2940

5 years agoCleanup DLL exports (dotnet/coreclr#22500)
Jan Kotas [Sun, 10 Feb 2019 21:57:11 +0000 (13:57 -0800)]
Cleanup DLL exports (dotnet/coreclr#22500)

Commit migrated from https://github.com/dotnet/coreclr/commit/70cf6d489032f42c9f643d59825c994c0402a3f7

5 years agoFix casing of interop directories (dotnet/corertdotnet/coreclr#6982)
Jan Kotas [Sun, 10 Feb 2019 02:45:30 +0000 (18:45 -0800)]
Fix casing of interop directories (dotnet/corertdotnet/coreclr#6982)

Match convention introduced by https://github.com/dotnet/corefx/pull/35085

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/be1b5db77a593fdea460ef7ab90e63b3817e7853

5 years agoMove eventpipe buffer to TLS (dotnet/coreclr#21817)
Sung Yoon Whang [Sun, 10 Feb 2019 02:25:10 +0000 (18:25 -0800)]
Move eventpipe buffer to TLS (dotnet/coreclr#21817)

* start ripping out eventpipe buffer to tls

* can now emit events from gc threads

* cleanup

* more cleanup

* more cleanup

* tested on linux

* Addressing PR comments

* Move things around a bit to build in Linux

* change eventpipe buffer deallocation code

* more cleanup

* this while loop doesnt do anything now

* Fix build

* fixing build

* More cleanup

* more pr comments

* Fix unix build

* more pr comments

* trying to add a message to assertion that seems to be causing CIs to fail

* more pr feedback

* handle non-2-byte aligned string payloads inside payload buffers

* some more cleanup

* Fix off by one error in null index calculation

* Make Get/SetThreadEventBufferList a static member of ThreadEventBufferList

* make only the methods public in ThreadEventBufferList

* Addressing noah's comments

* fix comment and last off by 1 error

Commit migrated from https://github.com/dotnet/coreclr/commit/ee8cda063048305e730c92e6899cf0c523fbe483

5 years agoset up CoreLib to include EventCounter in build project (dotnet/coreclr#22501)
Sung Yoon Whang [Sun, 10 Feb 2019 02:23:33 +0000 (18:23 -0800)]
set up CoreLib to include EventCounter in build project (dotnet/coreclr#22501)

Commit migrated from https://github.com/dotnet/coreclr/commit/5922bc02cd9e40615ca420ee9847d2cfc3ef834a

5 years agoAdd reporting exception from ResolveEHClause (dotnet/coreclr#17947)
Jan Vorlicek [Sat, 9 Feb 2019 15:07:14 +0000 (16:07 +0100)]
Add reporting exception from ResolveEHClause (dotnet/coreclr#17947)

* Add reporting exception from ResolveEHClause

When an exception, like EEFileLoadException happens in the
ResolveEHClause, it was not caught by the runtime and so it caused exit
with `terminating with uncaught exception of type EEFileLoadException*`
message without any additional details.

This change adds catching the exception, reporting its details and call
stack and then failing fast.

* Change StackSString to SString

* Ensure the catch clause types are loaded before EH

In crossgen-ed images, ensure the types used in catch clauses are loaded
before the function containing these clauses is executed. That ensures
that a failure to load the EH clause type will occur at that time
instead of during the EH stack walking that searches for the catch
handler.

* Fix EH clause class module check

* Remove the EH clause class module check

It turns out that even if the class was from the current module, it may
depend on types from other modules, so we still need to add a fixup for
it.

Commit migrated from https://github.com/dotnet/coreclr/commit/e3f58a3d91f49c6d50aee2068aa885fe74428713

5 years agomove EventCounter to shared CoreLib (dotnet/corefxdotnet/coreclr#35183)
Sung Yoon Whang [Sat, 9 Feb 2019 03:58:24 +0000 (19:58 -0800)]
move EventCounter to shared CoreLib (dotnet/corefxdotnet/coreclr#35183)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/fc8470a32c9eed9dbfd7ec146fffe8f009f9219d

5 years agoMove Array's SZGenericArrayEnumerator to shared partition (dotnet/coreclr#22480)
Marek Safar [Sat, 9 Feb 2019 04:11:21 +0000 (05:11 +0100)]
Move Array's SZGenericArrayEnumerator to shared partition (dotnet/coreclr#22480)

* Move Array's SZGenericArrayEnumerator to shared partition

* Remove legacy comment

* Move all array enumerators to a new file

Commit migrated from https://github.com/dotnet/coreclr/commit/b67ebc46b4ae51ddb5e7bfbc65643f9f8f389023

5 years agoDelete EnvironmentAugments (dotnet/coreclr#22485)
Jan Kotas [Sat, 9 Feb 2019 04:10:38 +0000 (20:10 -0800)]
Delete EnvironmentAugments (dotnet/coreclr#22485)

Commit migrated from https://github.com/dotnet/coreclr/commit/bf2fdbcf9992c42b781d44aa39921e05ceaa8b1e

5 years agoSet visibility option to hidden (dotnet/coreclr#21924)
Adeel Mujahid [Sat, 9 Feb 2019 01:24:59 +0000 (03:24 +0200)]
Set visibility option to hidden (dotnet/coreclr#21924)

Commit migrated from https://github.com/dotnet/coreclr/commit/5bb7eb68035e98e356aba68115e28ed22d3d34aa

5 years agoBitOps.TrailingZeroCount has inconsistent software fallback (dotnet/coreclr#22333)
Grant [Fri, 8 Feb 2019 23:46:14 +0000 (15:46 -0800)]
BitOps.TrailingZeroCount has inconsistent software fallback (dotnet/coreclr#22333)

Fix dotnet/coreclr#22326

Commit migrated from https://github.com/dotnet/coreclr/commit/8e79024b436f348ea9f96487a6d54067e750f596

5 years ago[Official Build] Remove FreeBSD builds (dotnet/coreclr#22451)
Jarret Shook [Fri, 8 Feb 2019 20:04:51 +0000 (12:04 -0800)]
[Official Build] Remove FreeBSD builds (dotnet/coreclr#22451)

Currently all the FreeBSD machines are offline or in an unclean state
which blocks official builds from finishing.

Commit migrated from https://github.com/dotnet/coreclr/commit/4e5df11e42457b6201545e672a2f3d1eb18e47e7

5 years agoRevert "Revert "Re-point Jenkins to new Ubuntu ARM64 queue""
Russ Keldorph [Fri, 8 Feb 2019 19:03:42 +0000 (11:03 -0800)]
Revert "Revert "Re-point Jenkins to new Ubuntu ARM64 queue""

This reverts commit dotnet/coreclr@d617f96303c4b65b7b77ff5fa0d7aee38ebc19f8.

Commit migrated from https://github.com/dotnet/coreclr/commit/dfde393b46f555a78b847ea45cf534e120c8e35e

5 years agoMove GCSettings to shared (dotnet/coreclr#22483)
Stephen Toub [Fri, 8 Feb 2019 16:57:48 +0000 (11:57 -0500)]
Move GCSettings to shared (dotnet/coreclr#22483)

Mainly just type definitions and error handling that gets shared.

Commit migrated from https://github.com/dotnet/coreclr/commit/13ae47e082c7ca0da9d4d8d99c29a83da052e1c7

5 years agoPass official build id to build (dotnet/coreclr#22468)
Sven Boemer [Fri, 8 Feb 2019 16:34:54 +0000 (08:34 -0800)]
Pass official build id to build (dotnet/coreclr#22468)

This ensures that coreclr gets a version number based on the build id.

Commit migrated from https://github.com/dotnet/coreclr/commit/5f36ff27b199da0dafe81cbfe07b16fb370b7442