Carol Eidt [Wed, 6 Mar 2019 01:32:13 +0000 (17:32 -0800)]
Correctly type SIMD stack values
When `impSIMDPopStack` pops a struct value, it needs to retype the `OBJ` if it exists and doesn't match.
Fix dotnet/coreclr#22850
Commit migrated from https://github.com/dotnet/coreclr/commit/
140e519ef8fe494ac794f4d050dd87c23dc85f22
Jarret Shook [Mon, 4 Mar 2019 22:22:44 +0000 (14:22 -0800)]
Disable tests for open issues (dotnet/coreclr#22976)
* Disable tests for open issues
* Clean pri1 run
Commit migrated from https://github.com/dotnet/coreclr/commit/
d17b66c8bbc21fc8be18d901e691ed7e9bc8d7ce
Jarret Shook [Mon, 4 Mar 2019 22:19:14 +0000 (14:19 -0800)]
Fix rid choice setup stress (dotnet/coreclr#23004)
* Correct rid choice for setting up coredistools
* Force ubuntu.14.04 as the rid choice for ubuntu
* Add better comment
* Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
36cf483227b1fdc3d6554ab6694cb0215b0eed26
Jeremy Koritzinsky [Mon, 4 Mar 2019 21:15:28 +0000 (13:15 -0800)]
Move EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing to class.cpp (dotnet/coreclr#22932)
Move `EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing` to class.cpp and out of fieldmarshaler.cpp.
This change co-locates `EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing` with the rest of the implementation of `EEClassLayoutInfo`. Additionally, this PR separates out the field blittability check into a separate function instead of burying it in `CollectLayoutFieldMetadataThrowing`.
Finally, it adds a small optimization in the field marshaler implementations where if a field's native size is statically known, the code returns that value instead of calling into one of the FieldMarshaler "virtual" calls.
Originally part of dotnet/coreclr#21415, but extracted out to make that PR smaller.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1278da1f480e664b5afd1b62f2be74424dbefbb8
Carol Eidt [Mon, 4 Mar 2019 16:54:19 +0000 (08:54 -0800)]
Merge pull request dotnet/coreclr#22791 from CarolEidt/Fix19256
Fix condition for calling EvalArgsToTemps
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd3afcaf0dc0ace3f84d0412c128f4e64c419105
Sinan Kaya [Mon, 4 Mar 2019 06:55:22 +0000 (01:55 -0500)]
Cleanup more GCC warnings (dotnet/coreclr#22872)
* Add parenthesis
src/vm/sha1.cpp: In function ‘void SHA1_block(SHA1_CTX*)’:
src/vm/sha1.cpp:93:29: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
#define ROUND3(B, C, D) ((C & (B | D) | (B & D)) + sha1_round3)
^
src/vm/sha1.cpp:139:32: note: in expansion of macro ‘ROUND3’
e += ROTATE32L(a, 5) + ROUND3(b, c, d) + msg80[i];
* Move declaration into same file as one was defined Extern the other one was static
* Remove hr=hr undefined assignment
* Fix mutli-line comment warning
* Convert multi-character literal
* Remove null check for stack local variables
rc/vm/invokeutil.cpp: In static member function ‘static void InvokeUtil::SetValidField(CorElementType, TypeHandle, FieldDesc*, OBJECTREF*, OBJECTREF*, TypeHandle, CLR_BOOL*)’:
src/vm/invokeutil.cpp:978:29: warning: the address of ‘Throwable’ will never be NULL [-Waddress]
EX_CATCH_THROWABLE(&Throwable);
^
src/inc/ex.h:1087:21: note: in definition of macro ‘EX_CATCH_THROWABLE’
if (NULL != ppThrowable)
^
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d3f264b9ef8b4715017ec615dcb6f9d57e607cc
Dotnet-GitSync-Bot [Mon, 4 Mar 2019 05:07:25 +0000 (21:07 -0800)]
Mirror changes from dotnet/corert (dotnet/coreclr#22985)
* Move fully managed TimerQueue implementation to shared partition (dotnet/coreclr#7111)
* Update CoreCLR for changes in shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
7da0883d9ceba31bccf36cc8cbbbf2fe77a4f3e0
Stephen Toub [Sun, 3 Mar 2019 21:33:39 +0000 (16:33 -0500)]
Merge pull request dotnet/coreclr#22981 from dotnet/darc-master-
95952865-131b-47b2-99d0-
f60a630db1b3
[master] Update dependencies from dotnet/corefx
Commit migrated from https://github.com/dotnet/coreclr/commit/
fef5785dbb0012da8ff2b53007b2684df23a729e
Jan Kotas [Sun, 3 Mar 2019 15:08:54 +0000 (07:08 -0800)]
Disable outdated tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
758823876700728fee63f7726791f35ef391d377
Jan Kotas [Sun, 3 Mar 2019 06:25:25 +0000 (22:25 -0800)]
Fix CoreCLR build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
d36c51023ef0bd58301e2f0e441f4c1901981263
Jan Kotas [Sun, 3 Mar 2019 03:21:19 +0000 (19:21 -0800)]
Update CoreRT for changes in shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
f22edcb508780dc3d6442b8233c49d60ad695225
Fawad Halim [Sun, 3 Mar 2019 03:21:39 +0000 (03:21 +0000)]
Corrected some misspellings (dotnet/coreclr#22978)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e9f456f81e215ddcd6b1fb1443fa551725a3eb1
Marek Safar [Sat, 2 Mar 2019 22:22:55 +0000 (23:22 +0100)]
Move Activator to shared partition (dotnet/coreclr#22894)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ddd038a33977b152e856448443425cbc6b591c6
Grant [Sat, 2 Mar 2019 21:55:07 +0000 (13:55 -0800)]
Use BitOperations in more callsites (CoreCLR) (dotnet/coreclr#22630)
* Missed perf improvement in EventProvider
* Add missing methods to StubEnvironment
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c0f075864df149fd477cbf07f0c606239798fc6
dotnet-maestro[bot] [Sat, 2 Mar 2019 18:55:15 +0000 (10:55 -0800)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#22968)
* Update dependencies from https://github.com/dotnet/corefx build
20190302.1
This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19152.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19152.1
* Disable outdated tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcfc3baa491b0ac7eb6a9cb73e3b2d46cb5929a0
Jarret Shook [Sat, 2 Mar 2019 18:54:48 +0000 (10:54 -0800)]
Revert "Revert "Improve coreclrhost.h header" (dotnet/coreclr#22955)" (dotnet/coreclr#22973)
This reverts commit dotnet/coreclr@
831cb13f1432aac09e66a8543831d3ed55b4bddf.
Commit migrated from https://github.com/dotnet/coreclr/commit/
441f049754803a0f1b40bb2cacb977df8a1425fa
Jarret Shook [Sat, 2 Mar 2019 18:51:40 +0000 (10:51 -0800)]
Revert "Improve coreclrhost.h header" (dotnet/coreclr#22955)
Commit migrated from https://github.com/dotnet/coreclr/commit/
831cb13f1432aac09e66a8543831d3ed55b4bddf
Jan Kotas [Sat, 2 Mar 2019 16:49:52 +0000 (08:49 -0800)]
Disable DOTNET_MULTILEVEL_LOOKUP in the build scripts (dotnet/coreclr#22972)
Fixes dotnet/coreclr#22971
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff53a99fb9e4c6e479a60c09a7014bfb72af4936
Marek Safar [Sat, 2 Mar 2019 13:46:27 +0000 (14:46 +0100)]
Move more Thread logic to shared partition (dotnet/coreclr#22935)
* Move more Thread logic to shared partition
* Keep the fields in runtime part for reliable layout structure
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef0fde985732148eea136e90aece4ccd3d0370b5
Jan Kotas [Sat, 2 Mar 2019 04:15:28 +0000 (20:15 -0800)]
Fix CoreFX build break
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3e8eced36393f6c8b7e03b30acbcd33f2c284b9
Jan Kotas [Fri, 1 Mar 2019 21:59:19 +0000 (13:59 -0800)]
Fix netfx build break
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc6bba9d005edf2cc5df77795591fb2ef660055f
Aaron Robinson [Sat, 2 Mar 2019 06:53:42 +0000 (22:53 -0800)]
Support IClassFactory2 - LicenseManager use in COM activation (dotnet/coreclr#22846)
* Implement IClassFactory2
* Add test support for IClassFactory2
* Add support for testing RCW activation via IClassFactory2
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e66e140f09b32694b32b98c34d8948bdf3608a3
Steve MacLean [Sat, 2 Mar 2019 04:07:35 +0000 (23:07 -0500)]
Use arcade's version of dotnet to build (dotnet/coreclr#22755)
* Use arcade dotnet
* Add cmake_msbuild.cmd
Move msbuild.cmd to cmake_msbuild.bat
Document intent that this file is only used to resolve
Windows cmake dependency on desktop msbuild.exe
Remove one instance of msbuild.cmd
* Fix inittools.cmd
* Remove spurious setup_vs_tools.cmd calls
Commit migrated from https://github.com/dotnet/coreclr/commit/
42bc2de2c63fe0c95a582e642ff97b2fe0d4bb7e
Varun Venkatesan [Sat, 2 Mar 2019 00:41:09 +0000 (16:41 -0800)]
Revert heapcount and enable CPU Groups to fix Ubuntu FPE (dotnet/coreclr#22861)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1801e85024add717f518feb6a9caed60d54500f
Jan Kotas [Fri, 1 Mar 2019 18:08:59 +0000 (10:08 -0800)]
Fix CoreRT build breaks
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c911a4f16668a07ac53c4e29d8128afae6ff0f0
Juan Hoyos [Fri, 1 Mar 2019 22:00:15 +0000 (14:00 -0800)]
[master] Update dependencies from dotnet/arcade (dotnet/coreclr#22818)
* Update dependencies from https://github.com/dotnet/arcade build
20190228.3
This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19128.3
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19128.3
Commit migrated from https://github.com/dotnet/coreclr/commit/
2410bfc989768a705293027db13512a2a4dd2474
dotnet-maestro[bot] [Fri, 1 Mar 2019 21:49:15 +0000 (13:49 -0800)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#22953)
* Update dependencies from https://github.com/dotnet/corefx build
20190301.4
This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19151.4
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19151.4
* Disable outdated tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3811b37b4f1633bd880a762e3759778237e7ad0
Marek Safar [Fri, 1 Mar 2019 21:16:56 +0000 (22:16 +0100)]
Remove unused code from EventSource (dotnet/coreclr#22853)
FallbackActivityId is theoretically references in CoreFX but it's under never defined FEATURE_ACTIVITYSAMPLING
and the implementation should live in CoreFX part anyway
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f4a95b3a4bc8c3a2b928eb59b7a88c5de84b4e9
Foxtrek_64 [Fri, 1 Mar 2019 21:15:23 +0000 (15:15 -0600)]
Label implements IEquatable<Label> (dotnet/coreclr#22938)
Commit migrated from https://github.com/dotnet/coreclr/commit/
919a19ce1d000049e9dd7e886760b8f03d861af9
Andy Ayers [Fri, 1 Mar 2019 21:00:52 +0000 (13:00 -0800)]
JIT: revise comment about struct-of-struct-of-field promotion (dotnet/coreclr#22952)
Fixes an oversight in dotnet/coreclr#22867.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd3a20d3c047fafbaf77a2cd56f32662b08a24dd
José Rivero [Fri, 1 Mar 2019 19:23:49 +0000 (11:23 -0800)]
Fixes: Audit missing entries in ClrEtwAll.man dotnet/coreclr#22790 (dotnet/coreclr#22795)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b290578abfe5e5526c5ed0502527942fd381945d
Andrew Au [Fri, 1 Mar 2019 01:39:08 +0000 (17:39 -0800)]
Fix issue dotnet/coreclr#22337
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d7a99fb5b4a6345153ae0c80a17fd0f0cf20cd0
Vance Morrison [Fri, 1 Mar 2019 17:07:16 +0000 (09:07 -0800)]
Merge pull request dotnet/coreclr#22905 from vancem/RundownFix
Rundown profiler fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
00e757cc51bc341386de95c6e9ab1b9b27574e64
Jeremy Koritzinsky [Fri, 1 Mar 2019 16:48:49 +0000 (08:48 -0800)]
Turn on IBC and enforce PGO in official and release builds. (dotnet/coreclr#22843)
* Enable pgocheck to run on python 3.
* Enable IBC optimizations in official builds and enforce PGO in release builds on platforms where pgocheck.py works.
* Only enable IBC on Windows x64/x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d778ad50511f5511ef799afa7fdef86ab5756e95
Morgan Brown [Fri, 1 Mar 2019 16:46:22 +0000 (08:46 -0800)]
Implement Serialization Guard
Add Serialization Guard API and consume it in CoreLib targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c0d755886d2130e1b0db01524c140cb6c6b6fe6
Jan Vorlicek [Fri, 1 Mar 2019 16:40:55 +0000 (17:40 +0100)]
Merge pull request dotnet/coreclr#22801 from janvorli/improve-coreclrhost-header
Improve coreclrhost.h header
Commit migrated from https://github.com/dotnet/coreclr/commit/
051ec3753e416cb7fab3cf36b4f3112c7a924f1e
Jan Vorlicek [Fri, 1 Mar 2019 16:38:44 +0000 (17:38 +0100)]
Merge pull request dotnet/coreclr#22821 from am11/fix/signed-compare-and-narrowing
Fix comparison and narrowing errors reported by GCC
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd448f7d0c9d5ed3beee3b0ef078f29d97f3eefa
jashook [Thu, 28 Feb 2019 22:44:15 +0000 (14:44 -0800)]
Disable tests for a clean official build
Commit migrated from https://github.com/dotnet/coreclr/commit/
a37cb15b812961e00cd1824bdeb1ec7d41d11ddf
Jan Vorlicek [Fri, 1 Mar 2019 11:10:49 +0000 (12:10 +0100)]
Fix resource stream for collectible assemblies (dotnet/coreclr#22925)
* Fix resource stream for collectible assemblies
The GetManifestResourceStream was returning a stream that didn't keep
the underlying assembly alive. For collectible assemblies, that means
that an assembly could be collected and the stream still kept,
potentially reading garbage.
The fix is to create a new stream type that stores a reference to the
underlying assembly, thus ensuring the proper lifetime management.
* Make the new stream class sealed
Commit migrated from https://github.com/dotnet/coreclr/commit/
452c40d2338bcf3f9298d316b49fbd1389a70cd5
Stephen Toub [Fri, 1 Mar 2019 09:35:45 +0000 (04:35 -0500)]
Another small tweak to fix Thread behavioral difference (dotnet/coreclr#22943)
To match existing behavior: https://github.com/dotnet/corefx/blob/dotnet/coreclr@
5dc8132370532804a5381b90e2ce87d6c52b61f6/src/Common/src/CoreLib/System/Threading/Thread.Unix.cs#L13
Commit migrated from https://github.com/dotnet/coreclr/commit/
a26aabef798c3a0c42b38c75e0a14a0cb253594f
Sung Yoon Whang [Fri, 1 Mar 2019 05:50:14 +0000 (21:50 -0800)]
Fix keyword for PinPlugAtGCTime event (dotnet/coreclr#22806)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dacab04a17e0cd4ed2b321be936f233cf75bb7e8
Levi Broderick [Fri, 1 Mar 2019 05:48:01 +0000 (21:48 -0800)]
Add Rune.DecodeUtf16 / DecodeUtf8 and friends (dotnet/coreclr#22725)
Commit migrated from https://github.com/dotnet/coreclr/commit/
484466c6344b1d7997a6ed00ce6fc7230b84a7d0
Aaron Robinson [Fri, 1 Mar 2019 03:17:13 +0000 (19:17 -0800)]
Move COM related attributes to the shared source location of Object class. (dotnet/coreclr#22942)
Commit migrated from https://github.com/dotnet/coreclr/commit/
80eece76a5d3e9c4a731633334cce37f6050b9e7
Juan Hoyos [Fri, 1 Mar 2019 02:55:34 +0000 (18:55 -0800)]
Consume optimization packages using new dependency flow system (dotnet/coreclr#22915)
* Consume optimization packages using new dependency flow system.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c659d285baed0b083fd0c25658a1a8e24a550425
Sergey Andreenko [Fri, 1 Mar 2019 02:31:44 +0000 (18:31 -0800)]
Fix CoreFX build scripts2. (dotnet/coreclr#22931)
Commit migrated from https://github.com/dotnet/coreclr/commit/
557eac638356ff47af7b92c9f349931eed5e0891
Vance Morrison [Fri, 1 Mar 2019 00:42:26 +0000 (16:42 -0800)]
change to kick off CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fe6be13fdc45f3d2432db943a741e2e397e49d6
Tanner Gooding [Fri, 1 Mar 2019 00:28:14 +0000 (16:28 -0800)]
Removing the ExtractVector128 and InsertVector128 APIs that take an address. (dotnet/coreclr#22886)
* Removing the InsertVector128 and ExtractVector128 overloads that take an address from S.P.Corelib
* Removing the ExtractStore and InsertLoad tests.
* Fixing the PacketTracer test to use the appropriate Extract/InsertVector128 overloads
* Removing the JIT support for the Extract/InsertVector128 overloads that take an address.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d06becc2658b2130c152d0f6c34a358441dd0f8e
Jan Kotas [Thu, 28 Feb 2019 23:45:26 +0000 (15:45 -0800)]
Revert "Update added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617)" (dotnet/coreclr#22923)
This reverts commit dotnet/coreclr@
ee755e322dabc2fc280e2561b0fbaf6e90aedf54.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9c10f995fe65c0e7c30aa1734f7bb22c519983d
Aaron Robinson [Thu, 28 Feb 2019 23:25:17 +0000 (15:25 -0800)]
Set the MarshalByRefObject to be ComVisible and (dotnet/coreclr#22930)
a IDispatch class interface. this is being done
to ensure WinForms consumers can interact with
COM based controls.
Commit migrated from https://github.com/dotnet/coreclr/commit/
780bdacf375f031f12d7d64295521cddcca4478b
Jarret Shook [Thu, 28 Feb 2019 22:30:03 +0000 (14:30 -0800)]
Set flag in comp info to signal that a caller has >8 byte struct args (dotnet/coreclr#22775)
* Set flag in comp info to signal that a caller has >8 byte struct args
This will be used by fgCanFastTailCall to correctly determine whether an arm64
or x64 linux caller/callee can fastTailCall.
It is also a workaround to dotnet/coreclr#12468 to catch early any slot shuffling that would happen in LowerFastTailCall. Which currently assumes all parameters are one slot size.
* Address feedback
* Apply format patch
* Add comment
* apply new format patch
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a29aaf5e40d36cdd23f59b2dee487cf8b926391
Swaroop Sridhar [Thu, 28 Feb 2019 22:10:46 +0000 (14:10 -0800)]
NativeLibraryTests: Platform restriction on some tests (dotnet/coreclr#22732)
NativeLibraryTests: Platform restriction on some tests
This change adds platform restrictions on two API tests:
* Change the System32 dll loading test from `msi.dll` to `uri.dll`
* Restrict the System32 dll loading test to platforms where `uri.dll` actually exists in the System32 directory.
* Disable double-free tests on Linux, because the OS call doesn't reliably fail.
Use the public version of CoreLib, since the NativeLibrary APIs are
now available.
Fixes dotnet/coreclr#22726
Commit migrated from https://github.com/dotnet/coreclr/commit/
c395a8a8e7a987000455d65efac371973d96a3c8
Stephen Toub [Thu, 28 Feb 2019 21:44:26 +0000 (16:44 -0500)]
Fix DumpAsync to understand ContinuationWrapper (dotnet/coreclr#22913)
Continuations created while the debugger is attached or certain EventSource events are enabled end up getting wrapped in an extra ContinuationWrapper object that carries some additional information. DumpAsync currently isn't unwrapping these but should. This just teaches it to look for a known field name so that it can "see through" these wrappers while following async "stacks".
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a0367c75a9b5cebbcc2f2c9609aa05536ed921b
Stephen Toub [Thu, 28 Feb 2019 21:42:27 +0000 (16:42 -0500)]
Fix GetApartmentState value on Unix to be Unknown (dotnet/coreclr#22928)
* Fix GetApartmentState value on Unix to be Unknown
The code in corefx is returning ApartmentState.Unknown on Unix. This new coreclr implementation should do the same.
* Fix visibility on TrySetApartmentStateUnchecked
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a93b5136621040b93b9f805e26e7d27d11dc955
Andy Ayers [Thu, 28 Feb 2019 20:15:19 +0000 (12:15 -0800)]
JIT: allow slightly more general promotion of structs with struct fields (dotnet/coreclr#22867)
For a while now the jit has been able to promote an outer struct A with an
inner struct field B that itself has a single non-struct field C, provided
that C occupies all of B and that C and B are pointer-sized.
For example, this comes up when supporting promotion of `Span<T>`, as a span
contains a `ByReference<T>` field that itself contains a pointer-sized field.
This change relaxes the constraints slightly, allowing B and C to be less than
pointer sized, provided C still occupies all of B, and B is suitably aligned
within A.
Doing so allows promotion of the new `Range` type, which contains two `Index`
fields that each wrap an `int`. This improves performance for uses of `Range`
for simple examples like those in dotnet/coreclr#22079.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f5bf71321ca29dcd9c5847185e15c0b7fb9a8e7
Jan Vorlicek [Thu, 28 Feb 2019 19:59:34 +0000 (20:59 +0100)]
Make the new stream class sealed
Commit migrated from https://github.com/dotnet/coreclr/commit/
48de3c0418b389f117e3ca8c96caaddbf664f149
Steve MacLean [Thu, 28 Feb 2019 19:47:58 +0000 (14:47 -0500)]
Remove unused packages from init-tools.msbuild (dotnet/coreclr#22884)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2460500555f6c47aad1f3cef19f4df0c099a078
Steve MacLean [Thu, 28 Feb 2019 19:08:06 +0000 (14:08 -0500)]
Remove sdmaclea from active arm64 users (dotnet/coreclr#22924)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e087524a6ed3a64a0c682423c6655308c062d3d
Jan Vorlicek [Thu, 28 Feb 2019 19:06:57 +0000 (20:06 +0100)]
Fix resource stream for collectible assemblies
The GetManifestResourceStream was returning a stream that didn't keep
the underlying assembly alive. For collectible assemblies, that means
that an assembly could be collected and the stream still kept,
potentially reading garbage.
The fix is to create a new stream type that stores a reference to the
underlying assembly, thus ensuring the proper lifetime management.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fcc6f14e1197c313edc3673ad67f6af26c2199e
Egor Chesakov [Thu, 28 Feb 2019 17:55:28 +0000 (09:55 -0800)]
Re-partition MSBuild test groups (dotnet/coreclr#22885)
This changes a tests partitioning scheme of coreclr tests in several different ways:
1. Make the test groups are of equal (to some extent) sizes keeping the number of tests in one group less than 1000;
2. As a resulf of 1) this increases a number of groups needed for Pri0 tests to 3 and decreases a number of groups for Pri1 tests to 10;
3. This also changes a way of tests partitioning scheme is defined - instead of explicitly specifying MSBuild Include-patterns this defines a boundaries between test groups in a form of _StartsWith ItemGroup. Then I use StringComparer.Ordinal to pick tests that belong to a particular group.
Commit migrated from https://github.com/dotnet/coreclr/commit/
39b643fa45e62cd016b36c173d6166c41d85f0f7
Jan Kotas [Thu, 28 Feb 2019 07:41:42 +0000 (23:41 -0800)]
Fix CoreRT build break
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
062597365c5fe0cbab66aa11447e8e6459179cd6
Michelle McDaniel [Thu, 28 Feb 2019 06:52:30 +0000 (22:52 -0800)]
Change IBC package layout to match what we generate (dotnet/coreclr#22799)
* Change IBC package layout to match what the optimization repo now generates
Commit migrated from https://github.com/dotnet/coreclr/commit/
d639ff3a0fe8677ff0a4963a92d5dbd1c465bf48
Stephen Toub [Thu, 28 Feb 2019 04:23:46 +0000 (23:23 -0500)]
Merge pull request dotnet/coreclr#22890 from stephentoub/fixthreadbehavior
Fix Thread-related behavior changes
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a0a0c043eb07a3cc75ba94dcbd8072455ddcab5
Juan Hoyos [Thu, 28 Feb 2019 02:27:31 +0000 (18:27 -0800)]
Update BuildTools, CoreClr, IbcData, PgoData to preview1-03723-01, preview4-27427-72, master-
20190227.1, master-
20190227.1, respectively (master) [Manual] (dotnet/coreclr#22903)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7566ca9442cb43c167523e63ffc34658bd438c01
Stephen Toub [Wed, 27 Feb 2019 22:53:25 +0000 (17:53 -0500)]
Address PR feedback (clean up style in Thread.CoreCLR.cs)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d30aaca62d40d235a55a445edff2f85b8c56ba26
Aaron Robinson [Thu, 28 Feb 2019 00:49:26 +0000 (16:49 -0800)]
Remove legacy classfactory.cpp implementation for managed COM activation (dotnet/coreclr#22895)
Commit migrated from https://github.com/dotnet/coreclr/commit/
83e6a8043699da675c241a3ef325eff54c6a59cb
Maoni Stephens [Thu, 28 Feb 2019 00:35:03 +0000 (16:35 -0800)]
added a lightweight GC profiling option (dotnet/coreclr#22866)
added a profiling event mask in the high 32-bit, COR_PRF_HIGH_BASIC_GC, for basic GC monitoring. it can be set via `ICorProfilerInfo5::SetEventMask2`. all this gives you is
* GC start callback
* GC end callback
* update generational bounds
note that one different behavior between this and the existing COR_PRF_MONITOR_GC is, aside from the obvious that it doesn't give you any info beyond the above, is that the GC end callback + update generational bounds are enabled for _all_ GCs, not just non concurrent GCs. I kept the behavior the same for COR_PRF_MONITOR_GC because I don't want to risk breaking existing profiling tools that do not anticipate these for concurrent GCs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea099fba14da84c3e81eb8d5ad93ecae7c659489
Tomáš Matoušek [Thu, 28 Feb 2019 00:20:36 +0000 (16:20 -0800)]
Merge pull request dotnet/coreclr#22736 from dotnet/dev/tomat/copyrights
Set copyright and package license
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0743a467c1df473f511ca0ab73eaf1d119a309b
Vance Morrison [Thu, 28 Feb 2019 00:19:31 +0000 (16:19 -0800)]
Update issue number
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f344c963d65f5e4049bb4b29e564205f4533d8e
Vance Morrison [Thu, 28 Feb 2019 00:18:42 +0000 (16:18 -0800)]
Partial fix for issue 22585. Fixes symbol lookup in profilers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
47fffe462cd60e361e97bad4d59564ea73c92d1d
Stephen Toub [Wed, 27 Feb 2019 13:43:03 +0000 (08:43 -0500)]
Fix BitOperations using in standalone EventSource build
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
63b850917dd28c7ab08a51954c8799ca5440ea4e
Jan Kotas [Wed, 27 Feb 2019 06:21:32 +0000 (22:21 -0800)]
Fix EventSource StubEnvironment
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
39c57ad960fe37e265e426d23f3a158c508f672f
Steve MacLean [Wed, 27 Feb 2019 21:53:08 +0000 (16:53 -0500)]
Fix sync.sh syntax error (dotnet/coreclr#22883)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7289a7c8f9c1fcc9d6fa4c9d4954cdbf5ba4acc
José Rivero [Wed, 27 Feb 2019 21:46:54 +0000 (13:46 -0800)]
[Test fix] Test failure: tracing_eventsource._eventpipeandetw_eventpipeandetw_eventpipeandetw_/_eventpipeandetw_eventpipeandetw_eventpipeandetw_cmd (dotnet/coreclr#22870)
- Fixes dotnet/coreclr#19302
Commit migrated from https://github.com/dotnet/coreclr/commit/
95207c60d472047aeb1688d04f23b77216aafeae
José Rivero [Wed, 27 Feb 2019 21:41:45 +0000 (13:41 -0800)]
Disabling runtimeeventsource to unblock official build. (dotnet/coreclr#22899)
- Related failures: dotnet/coreclr#18907, dotnet/coreclr#19340, dotnet/coreclr#22441, dotnet/coreclr#22729.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ca41721bf335d0ef21612fe5907854e8f24ecad
Sung Yoon Whang [Wed, 27 Feb 2019 21:34:36 +0000 (13:34 -0800)]
Disabling windows event log test till further investigation on frequent failures (dotnet/coreclr#22889)
Commit migrated from https://github.com/dotnet/coreclr/commit/
70b477b41fc7df148c7627886380a31053dbd5ae
Tanner Gooding [Wed, 27 Feb 2019 20:14:00 +0000 (12:14 -0800)]
Fixing hwintrinsicArm64 to return nullptr for the Base_As intrinsics if featureSimd is false (dotnet/coreclr#22831)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c95e296a3f67d6d04146f455fe364e2fd9e9ddc
Stephen Toub [Wed, 27 Feb 2019 19:51:50 +0000 (14:51 -0500)]
Fix Thread-related breaking changes
- Thread.ExecutionContext needs to return ExecutionContext.Capture() to public callers.
- Fix restoring of culture to be inside of the ExecutionContext callback where applicable
Commit migrated from https://github.com/dotnet/coreclr/commit/
3042c90aa8ed4bfe56b6f6bc21c4bd93545ee239
Stephen Toub [Wed, 27 Feb 2019 18:16:11 +0000 (13:16 -0500)]
Fix Thread.ExecutionContext breaking change (dotnet/coreclr#22882)
Its getter is a public API and can't be made internal.
Commit migrated from https://github.com/dotnet/coreclr/commit/
12167a75fc494deb8040fa3a04961ca5f10d14aa
Stephen Toub [Wed, 27 Feb 2019 17:40:06 +0000 (12:40 -0500)]
Fix WaitTimeout breaking change (dotnet/coreclr#22881)
WaitHandle.WaitTimeout is a public API. It can't be made internal.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5472a34cc2ffcc4465dfd0ef1a99afefc37df90e
Russ Keldorph [Tue, 26 Feb 2019 19:02:53 +0000 (11:02 -0800)]
Remove BuildTestsAgainstPackages logic
No longer necessary without PipeBuild logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0c9a5380eec480dcd3b63ac2da46754fd6e5cd1
Jeremy Koritzinsky [Wed, 27 Feb 2019 06:59:33 +0000 (22:59 -0800)]
Add blob feed to dependencies.props (dotnet/coreclr#22857)
Commit migrated from https://github.com/dotnet/coreclr/commit/
39f9e894aa16113c2c0dda1e99ce5dd606bd45a6
Jan Kotas [Wed, 27 Feb 2019 06:51:21 +0000 (22:51 -0800)]
Preserve Marshal.GetLastWin32Error in SafeHandle.DangerousRelease (dotnet/coreclr#22871)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e2d07b5f592627530ee5645fd94325f17ee9487
Filip Navara [Wed, 27 Feb 2019 06:48:33 +0000 (07:48 +0100)]
Move Thread to shared CoreLib (dotnet/coreclr#22744)
* Move Thread to shared CoreLib
* Remove all local variables from Thread in shared code
* Remove duplicate checks
* Port back CoreRT changes needed for shared code
* Fix missing culture initialization in ThreadStart()
* Adjust for shared WaitHandle
Commit migrated from https://github.com/dotnet/coreclr/commit/
a94826d9aac0eae32c5cc59ad0e013d8dc3e0817
Grant [Wed, 27 Feb 2019 05:04:37 +0000 (21:04 -0800)]
Make BitOperations public (CoreCLR) (dotnet/coreclr#22864)
* Make BitOps public
* Update name to BitOperations
* Change namespace to System.Numerics
* Fix file name
* Alphabetical
Commit migrated from https://github.com/dotnet/coreclr/commit/
95eb6a45d50a3b104b5c8c22ff053d076f034271
Andrew Au [Wed, 27 Feb 2019 04:39:30 +0000 (20:39 -0800)]
Remove bogus assert in Thread::MarkThreadForAbort (dotnet/coreclr#22869)
Commit migrated from https://github.com/dotnet/coreclr/commit/
06137e01b64cd7771a229a7eb01ef3c948720bbb
Noah Falk [Wed, 27 Feb 2019 03:32:34 +0000 (19:32 -0800)]
Update EventCounter spec (dotnet/coreclr#22852)
* Update EventCounter spec
We made a flurry of decisions in our meeting last wednesday.
Partly this fills in areas of the design we didn't adequately decide on and
partly this suggests a few changes after having had time to think on it.
1) My suggestion to use IntervalSec as an identifier for a series doesn't
work. I proposed a new field 'Series' that is used for that same purpose.
2) I am proposing we no longer standardize on the five-tuple of stats.
Although it made sense to me at the time, decisions we made later in the
meeting invalidated the basis for that choice IMO.
3) Aggregating seems like an overly generic name that all counters do, so
I propose 'Incrementing' as a more specific term.
4) I am proposing we stop accepting fractional time intervals because
probably nobody would have used them anyways and now we don't have to worry
about floating point rounding and canonicalization issues when determining
if two clients share the same time series or in round tripping the identifier
back to them.
5) I defined specific fields for 'DisplayName' and 'CounterType' in our
wire protocol. Although not opposed to a generic metadata field for other
purposes, it seemed unnecessary for our current purposes.
6) I switched Incrementing coutner to float, because it it
would be a shame if we had to make a whole new counter in the future
that did exactly the same thing just with floating point values. For example
'GC Seconds Paused'
Commit migrated from https://github.com/dotnet/coreclr/commit/
417f87ccaa75e45ece97835cb46fe7658ef86543
Sergey Andreenko [Wed, 27 Feb 2019 00:58:37 +0000 (16:58 -0800)]
Fix `optVNConstantPropOnTree`. (dotnet/coreclr#22865)
It should use the same VN that `optVNConstantPropOnTree` uses.
Without this fix `optVNConstantPropOnTree` was doing nothing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b088eea28220094f2d0023165d30b5e676c20ef
Jan Vorlicek [Tue, 26 Feb 2019 22:46:00 +0000 (23:46 +0100)]
Fix Assembly::Load context for collectible assemblies (dotnet/coreclr#22494)
* Fix Assembly::Load context for collectible assemblies
This change fixes a problem when Assembly::Load is called from an
assembly in a collectible AssemblyLoadContext. In that case, we ended up
loading it into the default context instead of the context of the
calling assembly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
19394b01ed59d3771c0602ec321ec4520bcd2aa2
Eric StJohn [Tue, 26 Feb 2019 22:16:55 +0000 (14:16 -0800)]
Fix _IlasmDir definition (dotnet/coreclr#22856)
Commit migrated from https://github.com/dotnet/coreclr/commit/
79341dcfaeb454d684e039e648f2a555f7da4bd0
Andy Ayers [Tue, 26 Feb 2019 19:39:46 +0000 (11:39 -0800)]
JIT: In morph, only call DefinesLocal on assignments (dotnet/coreclr#22753)
When checking for local assertions to kill in morph, only call `DefinesLocal` on `GT_ASG` nodes.
Also, assert that we never see LIR style assignments.
Resolves dotnet/coreclr#22747.
Commit migrated from https://github.com/dotnet/coreclr/commit/
56697257c4e24aa24a64b70eb4ce07d91882005b
Carol Eidt [Fri, 22 Feb 2019 02:14:48 +0000 (18:14 -0800)]
Fix condition for calling EvalArgsToTemps
`fgArgInfo::ArgsComplete()` checks for additional conditions requiring temps that are not checked for in the body of `fgMorphArgs()`. However, if there are no register args, it won't be called.
Fix dotnet/coreclr#19256
Commit migrated from https://github.com/dotnet/coreclr/commit/
30996b8a71d5734c75cb73a0973b9271f28d8424
John Salem [Tue, 26 Feb 2019 18:11:11 +0000 (10:11 -0800)]
Merge pull request dotnet/coreclr#22841 from josalem/stacktrace-cache-unloading-20179-prechange
Adds collection of `Assembly` objects while walking the stack in `DebugStackTrace::GetStackFrameInternal`
* new field in `StackFrameHelper` in both managed and native (plus mscorlib macro definition)
* retrieved via `methodDesc->GetAssembly()->GetDomainAssembly()->GetExposedAssemblyObject()`
Calls `GetSourceLineInfo` with delegate signature that *does not* consume an `Assembly`. As a result, this there will be a follow up change to call the updated version after it exists in CoreFX.
dotnet/coreclr#20179
Commit migrated from https://github.com/dotnet/coreclr/commit/
d05683140358e69109d126770f8076bfe5090092
Adeel [Tue, 26 Feb 2019 17:43:15 +0000 (09:43 -0800)]
Address janvorli's feedback comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf8c9c35eaf5e161981f3802b768ddb1c91ceb9e
David Mason [Tue, 26 Feb 2019 16:56:45 +0000 (08:56 -0800)]
Update added types and methoddefs on ApplyMetadata (dotnet/coreclr#22617)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee755e322dabc2fc280e2561b0fbaf6e90aedf54
Adeel Mujahid [Tue, 26 Feb 2019 16:22:58 +0000 (18:22 +0200)]
Merge branch 'master' into fix/signed-compare-and-narrowing
Commit migrated from https://github.com/dotnet/coreclr/commit/
e948e3c333645ec6fc74763cde095774f67c9b27
Sinan Kaya [Tue, 26 Feb 2019 10:55:05 +0000 (05:55 -0500)]
GCC compatibility fixes dotnet/coreclr#7 (dotnet/coreclr#22810)
* Use thread_local for thread local storage on non MSVC targets
* Use local copy of visitor rather than function parameter
* Remove extra class qualifier
* Replace hex number representation in ASM files
* Reorder STDAPI and DLLEXPORT
* Suppress conversion
Suppress warning during hash
add casting
* Remove anonymous struct
src/vm/codeversion.h:112:16: warning: ‘struct NativeCodeVersion::<anonymous union>::SyntheticStorage’ invalid; an anonymous union can only have non-static data members [-fpermissive]
struct SyntheticStorage
* Remove class declaration
Remove extra class declaration
* Remove extern C
* Add implicit paranthesis
src/vm/amd64/virtualcallstubcpu.hpp:735:103: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
resolveInit.toMiss1 = offsetof(ResolveStub,miss)-(offsetof(ResolveStub,toMiss1)+1) & 0xFF;
^
src/vm/amd64/virtualcallstubcpu.hpp:741:103: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
resolveInit.toMiss2 = offsetof(ResolveStub,miss)-(offsetof(ResolveStub,toMiss2)+1) & 0xFF;
Add parenthesis
src/vm/dataimage.cpp:631:55: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
previousRvaInfo->rva == rvaInfo->rva && previousRvaInfo->size >= rvaInfo->size
Add parenthesis
src/debug/daccess/daccess.cpp:6871:29: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
_ASSERTE(peFile == NULL && reflectionModule != NULL || peFile != NULL && reflectionModule == NULL);
Add parenthesis
src/vm/dataimage.cpp:631:57: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
(previousRvaInfo->rva == rvaInfo->rva) && (previousRvaInfo->size >= rvaInfo->size)
* Initialize member 1
src/ilasm/method.cpp:35:36: warning: operation on ‘((Method*)this)->Method::m_ulColumns[0]’ may be undefined [-Wsequence-point]
m_ulColumns[0]=m_ulColumns[0]=0;
* Remove unknown compiler option
* Abstract DLLEXPORT
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbd672eb2735d583ee6fa46aaf599241fdf6face
Noah Falk [Tue, 26 Feb 2019 08:17:02 +0000 (00:17 -0800)]
Spec for EventCounter changes (dotnet/coreclr#22811)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9901aa14bef2006f614d450ff0e45b6081262de7
Jeremy Koritzinsky [Tue, 26 Feb 2019 07:54:21 +0000 (23:54 -0800)]
Add the coreclr blob feed as a restore source for test builds. (dotnet/coreclr#22839)
* Add the coreclr blob feed as a restore source for test builds.
* Use one NuGet.config in the root folder for restore targets.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc6252fa381d370c5feee9820d4cc5884fcbf719
Stephen Toub [Tue, 26 Feb 2019 03:17:19 +0000 (22:17 -0500)]
Special-case 1 module per assembly in Assembly.GetTypes/DefinedTypes (dotnet/coreclr#22825)
It's very common for an assembly to have only one module, in which case we can avoid unnecessary allocations and copies in Assembly.GetTypes() and Assembly.DefinedTypes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8509bbd72ed937a626fc436715b962d3f86fa380
Steve MacLean [Tue, 26 Feb 2019 01:57:44 +0000 (20:57 -0500)]
Remove buildpipelines (dotnet/coreclr#22835)
* Remove old buildpipeline
* Remove obsolete publish-packages
* Remove obsolete helix scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6d24190078f64f892a60967f69c86d838f06c2