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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jan Kotas [Thu, 7 Feb 2019 23:20:46 +0000 (15:20 -0800)]
Update CoreRT with shared array implementation
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bec440bdcec48bce974628bafa72ecfba3d9d0b
dotnet-maestro-bot [Fri, 8 Feb 2019 16:12:20 +0000 (08:12 -0800)]
Update BuildTools, CoreFx, CoreSetup to preview1-03706-01, preview.19106.8, preview-27406-8, respectively (master) (dotnet/coreclr#22455)
* Update BuildTools, CoreFx, CoreSetup to preview1-03706-01, preview.19106.8, preview-27406-8, respectively
* Disabling some outdated System.ObjectModel CoreFX tests
* Undo BuildTools update
Commit migrated from https://github.com/dotnet/coreclr/commit/
9500db9dcfccf08e6194e004dc079940820e3ecc
Andy Ayers [Fri, 8 Feb 2019 16:10:57 +0000 (08:10 -0800)]
JIT: Suppress emitting same-reg zero extending move (dotnet/coreclr#22454)
Add a peephole optimization to suppress emitting zero extending moves
if the previous instruction has already done a suitable zero extension.
Only implemented for x64 currently.
Closes dotnet/coreclr#21923
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5f638a1cd52fc2733e769e716d5a3a1d61fc804
Andy Ayers [Fri, 8 Feb 2019 16:09:57 +0000 (08:09 -0800)]
JIT: fix ifdef guarding an assert (dotnet/coreclr#22460)
We use `_TARGET_AMD64_`, not `_TARGET_X64_`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
76c322d09ee66c0c51f020c8d95dbee7765224d6
Eugene Rozenfeld [Fri, 8 Feb 2019 08:14:35 +0000 (00:14 -0800)]
Force results of rejected multi-reg-returning tail-call candidates to temp. (dotnet/coreclr#22364)
* Force results of rejected multi-reg-returning tail-call candidates to temp.
Issue dotnet/coreclr#20269 ran into an assert when trying to merge returns, one of which
is a call to a multi-reg-returning method. The repro in the bug is a pmi
of `System.Reflection.Metadata`. I added a simple repro test case.
Results of calls to multi-reg-returning methods are expected to
be saved to temps. Normally it's ensured by `impFixupCallStructReturn`;
however, it doesn't do that for tail-call candidates.
This change forces results of calls to multi-reg-returning methods
to temps if the tail call is rejected late in morph.
Fixes dotnet/coreclr#20269.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8ebed30b50c32a84ca8edbe033870a9e0f1da61
Stephen Toub [Wed, 6 Feb 2019 04:13:26 +0000 (23:13 -0500)]
Finish removing Environment from corefx
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea452c1ff113413bddd22794dcac0359af0e79fe
Sergey Andreenko [Fri, 8 Feb 2019 06:01:50 +0000 (22:01 -0800)]
Fix the desktop warning (dotnet/coreclr#22481)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fdd786cf6a30beaa55ff69f79da67d4b9ca69c6
Marek Safar [Fri, 8 Feb 2019 03:45:44 +0000 (04:45 +0100)]
Move DateTime for Unix to shared partition (dotnet/coreclr#22383)
* Move DateTime for Unix to shared partition
* Keep CoreCLR specific implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c480a5f8e1e12d83f089891231c8eadbb5762e1
Egor Chesakov [Fri, 8 Feb 2019 02:40:34 +0000 (18:40 -0800)]
Disable more baseservices/threading/interlocked tests on Ubuntu.Arm64 (dotnet/coreclr#22471)
In the last two weeks the following tests have failed:
* baseservices/threading/interlocked/exchange/ExchangeTClass - 5 times
* baseservices/threading/interlocked/exchange/ExchangeTString - 13 times
* baseservices/threading/interlocked/exchange/ExchangeTString_1 - 12 times
* baseservices/threading/interlocked/exchange/ExchangeTString_2 - 20 times
In addition to the previously disabled tests (in dotnet/coreclr#22304):
* baseservices/threading/interlocked/compareexchange/CompareExchangeTClass - 9 times
* baseservices/threading/interlocked/compareexchange/CompareExchangeTClass_1 - 32 times
All the failures happened on Ubuntu.1804.Arm64.Open Helix queue in Azure DevOps Pri1 jobs
**Related issue:** dotnet/coreclr#22303
Commit migrated from https://github.com/dotnet/coreclr/commit/
253c86a9ae4a90f88b24b0bfbba418fb835021a0