Aditya Mandaleeka [Mon, 4 Feb 2019 23:21:05 +0000 (15:21 -0800)]
Re-enable tests blocked by 21964.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db2faf25d287fff2654af044503a5e97b2cef83e
Aditya Mandaleeka [Mon, 4 Feb 2019 23:12:33 +0000 (15:12 -0800)]
Disable PInvoke inlining within try regions on ARM64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
95c84623ce5d4338a4706dd989cbb5de3b51a12f
Egor Chesakov [Mon, 4 Feb 2019 17:54:47 +0000 (09:54 -0800)]
Disable JIT/SIMD/Vector3Interop_ro on x64 Unix platforms
Related issue: https://github.com/dotnet/coreclr/issues/22401
Commit migrated from https://github.com/dotnet/coreclr/commit/
23dfb8f822c24c7cef9ae40e9e4e70574abb1ea6
Egor Chesakov [Mon, 4 Feb 2019 17:45:38 +0000 (09:45 -0800)]
Disable JIT/Regression/CLR-x86-JIT/v2.1/b152292 on all Unix platforms
Related issue: https://github.com/dotnet/coreclr/issues/20358
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebd3683abf3c3ca93e2d7298147baea35ae40b4f
Jan Kotas [Mon, 4 Feb 2019 19:36:06 +0000 (11:36 -0800)]
More compact implementation of Marshal.GenerateProgIdForType (dotnet/coreclr#22395)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9aa68da7d3dcd24761d03c4f41720194ab3638b8
Sergey Andreenko [Mon, 4 Feb 2019 19:13:24 +0000 (11:13 -0800)]
Reenable corefx System.Linq.Expressions.Tests. (dotnet/coreclr#22362)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7253eab7d4a2e602b1cd547fb954bba79a343d30
Sergey Andreenko [Mon, 4 Feb 2019 17:45:03 +0000 (09:45 -0800)]
Delete exclusions that reference fixed issues. (dotnet/coreclr#22355)
* Delete exclusions for the issue that were fixed.
* Change the issue number for ThreadStartString_1
Commit migrated from https://github.com/dotnet/coreclr/commit/
e78994d9d8f2d55bf6b06fb4daaec316a020bcf5
Andy Ayers [Mon, 4 Feb 2019 16:47:48 +0000 (08:47 -0800)]
Fix arm32 unwind for large methods (dotnet/coreclr#22381)
* Fix arm32 unwind for large methods
For arm32, the unwinder bails out with an error if the method offset is not
within the fragment range. And the jit copies prolog unwind codes to all
fragments, so there's no need to walk back and find the root unwind record.
Closes dotnet/coreclr#22260.
* re-enable test
Commit migrated from https://github.com/dotnet/coreclr/commit/
75dfe5cfff56ad028bcf256ae0857bf64e4197e9
Filip Navara [Mon, 4 Feb 2019 13:09:20 +0000 (14:09 +0100)]
Remove code that was moved to System.Native (dotnet/corertdotnet/coreclr#6932)
* Remove code that was already moved from System.Private.CoreLib.Native to System.Native.
* Move Interop files for System.Native to shared Interop directory.
* Add FeaturePortableThreadPool conditions to csproj files.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
cee7a5596992f2c25a262c1f081d29c2951cac19
Jan Kotas [Mon, 4 Feb 2019 04:33:56 +0000 (20:33 -0800)]
Merge pull request dotnet/coreclr#22378 from filipnavara/native_cpp_to_C
Convert System.Globalization.Native to C
Commit migrated from https://github.com/dotnet/coreclr/commit/
a51af0838709ca81b51bee236865a39b31f68f41
Michal Strehovský [Sun, 3 Feb 2019 18:22:32 +0000 (19:22 +0100)]
Throw the right exception when interface dispatch is ambiguous (dotnet/coreclr#22295)
Throw the approved exception per dotnet/corefxdotnet/coreclr#34124.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbd79053fffa3bee7ce06df30115f077c077082a
Jan Kotas [Sun, 3 Feb 2019 17:07:09 +0000 (09:07 -0800)]
Use unsigned index extension in muldi-dimensional array stubs (dotnet/coreclr#22376)
Delete unnecessary parallel logic that kept track of the total multiplier
Fixes dotnet/coreclr#22348
Commit migrated from https://github.com/dotnet/coreclr/commit/
cab949098dcdab9d458f102eb59e81311bac45c4
Tamás Csala [Sun, 3 Feb 2019 13:53:18 +0000 (13:53 +0000)]
Rename DevDiv_754566.ilprog to DevDiv_754566.ilproj (dotnet/coreclr#22375)
Typo in file name
Commit migrated from https://github.com/dotnet/coreclr/commit/
21f9d692bf51d0d6ae25dbd5ba791b092b8e0fd4
Filip Navara [Sun, 3 Feb 2019 09:59:55 +0000 (10:59 +0100)]
Prefix enums, remove DLLEXPORT from GetResultCode
Move SortHandle out of public API header, it is opaque structure
Commit migrated from https://github.com/dotnet/coreclr/commit/
772b2da3a105a08e133e3b50342b47fe1b4ba047
Filip Navara [Sun, 3 Feb 2019 09:26:27 +0000 (10:26 +0100)]
Fix inconsistent usage of various bool types
Convert u_charsToUChars_safe to ICU style error handling
Unify error handling code across functions to use the same patterns
Add static modifier to functions that are used only from single C file
Commit migrated from https://github.com/dotnet/coreclr/commit/
c152ba92901a3345a58a42f2a4c5ac5634cfbd3e
Filip Navara [Sun, 3 Feb 2019 07:46:33 +0000 (08:46 +0100)]
Update static_assert usage to c_static_assert_msg
Commit migrated from https://github.com/dotnet/coreclr/commit/
5875f89361938c51cc1943901007aa362e828fae
Filip Navara [Sun, 3 Feb 2019 02:37:19 +0000 (03:37 +0100)]
Avoid memory allocation in EnumSymbols for small buffers
Commit migrated from https://github.com/dotnet/coreclr/commit/
91df8d26a01cc50672ac4f7f71359cd19e8e2db2
Filip Navara [Sun, 3 Feb 2019 02:20:45 +0000 (03:20 +0100)]
Fix error handling in GetLocaleIso639LanguageTwoLetterName
Commit migrated from https://github.com/dotnet/coreclr/commit/
1edbceb16f7f54c535d4a8416cf2c34691e484bc
Filip Navara [Sun, 3 Feb 2019 01:02:24 +0000 (02:02 +0100)]
Update one more place to use version.c instead of version.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
bea81cdfa6b0aaeb26f28780b72c04b1838c43d1
Filip Navara [Sun, 3 Feb 2019 00:50:56 +0000 (01:50 +0100)]
Simplify and fix error handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7f13657cf6bdb27fb51f6ad57835378857a5059
Filip Navara [Sun, 3 Feb 2019 00:19:29 +0000 (01:19 +0100)]
Change NormalizationForm to address feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
39c5ffdbe835acb0208a7c24e76886ce423e4b97
kasper3 [Sun, 1 Jul 2018 09:51:09 +0000 (09:51 +0000)]
Fix enum alignment
Commit migrated from https://github.com/dotnet/coreclr/commit/
08bc2bf9b7de78ae8f80fdb08b7e1bf0cb8c1615
kasper3 [Fri, 29 Jun 2018 15:15:56 +0000 (15:15 +0000)]
Address feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cd0d928a55d8eae12d7eeaf77d02440d3443deb
kasper3 [Mon, 25 Jun 2018 20:05:58 +0000 (20:05 +0000)]
Convert version.cpp to C
Commit migrated from https://github.com/dotnet/coreclr/commit/
db8dbe8a005beec124eaac1adcfa30d4715338bd
kasper3 [Mon, 25 Jun 2018 14:39:57 +0000 (14:39 +0000)]
Address feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
35326c66500cb6f5a54000c26f31f145eb09780e
kasper3 [Fri, 22 Jun 2018 15:54:55 +0000 (15:54 +0000)]
Convert System.Globalization.Native to C
Commit migrated from https://github.com/dotnet/coreclr/commit/
63d5bab7d06056d36e7f474666954ea2b86abf10
kasper3 [Fri, 22 Jun 2018 15:45:26 +0000 (15:45 +0000)]
Rename files
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d97abd6099fe3b572ff1f5923655852c0e04b76
Filip Navara [Sun, 3 Feb 2019 01:35:39 +0000 (02:35 +0100)]
Move Interop.GetTimestamp.cs to shared CoreLib partition. (dotnet/coreclr#35031)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
4dc930ea7b1aa429eb30f2ee0b460d5edf5a244f
Carol Eidt [Sat, 2 Feb 2019 22:33:30 +0000 (14:33 -0800)]
Spill tree temp large vectors around calls (dotnet/coreclr#22311)
* Spill tree temp large vectors around calls
The code was there to handle lclVars, but there was an implicit assumption that non-lclVar large vector tree temps would never be live across a call.
Fixes the GitHub_20657 failure in dotnet/coreclr#22253
Commit migrated from https://github.com/dotnet/coreclr/commit/
070b5d7a403e991777ead838975d58e66aec1264
Stephen Toub [Sat, 2 Feb 2019 18:31:31 +0000 (13:31 -0500)]
Avoid delegate/work item allocations when setting async continuation (dotnet/coreclr#22373)
When awaiting a task, there's a race between seeing whether the task has completed (in which case we just continue running synchronously), finding the task hasn't completed (in which case we hook up a continuation), and then by the time we try to hook up the continuation finding the task has already completed. In that final case, we don't want to just execute the callback synchronously, as we risk a stack dive, so we queue it. That queueing currently entails two allocations in the common case: one for the work item object, and one for the Action delegate we force into existence for the state machine box's MoveNext method (in the common case it's now never allocated because you only await Tasks and ValueTasks known to the runtime, which bypasses its creation). We can instead just queue the box itself, and avoid both allocations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a98189a1ac9fbfe462776eed4d99e0cfa883afe6
Jan Kotas [Sat, 2 Feb 2019 17:14:47 +0000 (09:14 -0800)]
Rename ResourceManager fields to follow conventions (dotnet/coreclr#22371)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3c07ece61dc18454d0aad985dc7004b9ce63c26
Carol Eidt [Sat, 2 Feb 2019 14:37:34 +0000 (06:37 -0800)]
Propagate preferences (dotnet/coreclr#19429)
* Propagate preferences
Instead of selecting a single relatedInterval for preferencing,
follow the chain of relatedIntervals (preferenced intervals).
Change when preferences are propagated to the relatedInterval;
do it in allocateRegisters, so that we can update it when we see a last use.
Also tune when and how intervals are preferenced, including allowing multiple
uses on an RMW node to have the target as their preference.
Fixes dotnet/coreclr#11463
Contributes to dotnet/coreclr#16359
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f8b7e89ca98134e393369671bc902834a2a6fe9
Egor Chesakov [Sat, 2 Feb 2019 05:01:53 +0000 (21:01 -0800)]
Make Import of Helix.Sdk conditional in tests/helixpublishwitharcade.proj (dotnet/coreclr#22360)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef7aab761c42819c5c2fa9d9953909b4511b3708
Marek Safar [Sat, 2 Feb 2019 03:48:58 +0000 (04:48 +0100)]
Move Marshal::UnsafeAddrOfPinnedArrayElement to shared partition (dotnet/coreclr#22359)
Commit migrated from https://github.com/dotnet/coreclr/commit/
26e517fa7f5d7554218f655946ee963342d922e1
Jan Kotas [Sat, 2 Feb 2019 03:47:52 +0000 (19:47 -0800)]
Make Exception._HResult private (dotnet/coreclr#22354)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6db4c75edf52b9a7b2875e94485630fc962d9bf
Bruce Forstall [Sat, 2 Feb 2019 00:09:10 +0000 (16:09 -0800)]
Fix the scratch register used for arm64 stack probing (dotnet/coreclr#22313)
* Fix the scratch register used for arm64 stack probing
In some circumstances, genFnProlog might pick a callee-saved
register to be the initReg. This doesn't work for stack probing
since we might need a scratch register before we save the
callee-save regs. So, always use R9 (REG_SCRATCH) instead.
Fixes dotnet/coreclr#22284
* Formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
53e367b7f9a2ca799e0510f9420567848e7c0e8b
Carol Eidt [Fri, 1 Feb 2019 23:35:28 +0000 (15:35 -0800)]
Preserve Vector Arg registers on Arm64 (dotnet/coreclr#22257)
* Preserve Vector Arg registers on Arm64
Fix dotnet/coreclr#14371
Commit migrated from https://github.com/dotnet/coreclr/commit/
f10d5bec97e722c5ed54a1ce5f357d99dea60ff7
Stephen Toub [Fri, 1 Feb 2019 22:26:36 +0000 (17:26 -0500)]
Remove stale warning 420 pragmas (dotnet/coreclr#22352)
It used to be that the CS0420 warning ("a reference to a volatile field will not be treated as volatile") would fire when a volatile was used with an Interlocked.* operation. That warning was unnecessary, as Interlocked.* would itself provide the relevant barriers, and these functions were special cased in Roslyn a long time ago. But there are still lots of places where pragmas disabling the warning have stuck around. I'm deleting them all.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ca73bcfa0ce072617b068393b7ed66919097bc1
Filip Navara [Fri, 1 Feb 2019 22:25:56 +0000 (23:25 +0100)]
Move ResourceManager to shared CoreLib. (dotnet/coreclr#22249)
* Move ResourceManager to shared CoreLib.
* Split UAP code out of ResourceManager.cs into separate files.
* Remove ResourceManager.NonUap.cs.
* Do not access internal field (CoreRT build fix).
* Fix non-Windows builds (CoreRT).
* Remove obsolete Debug code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6155cedca904208f28c9c1e998029a6c6e5ba62
Sergey Andreenko [Fri, 1 Feb 2019 20:20:51 +0000 (12:20 -0800)]
Exclude RecursiveException and MultipleException from GCStress runs. (dotnet/coreclr#22340)
Fixes dotnet/coreclr#20460.
See issue dotnet/coreclr#22339.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b64ec23b3cb68106e16657d68ee4f06271365247
Tanner Gooding [Fri, 1 Feb 2019 19:58:35 +0000 (11:58 -0800)]
Update the double/float formatters to return the shortest roundtrippable string. (dotnet/coreclr#22040)
* Updating Number.Formatting to always compute a round-trippable number by default.
* Adding a third-party notice entry for the Grisu3 reference implementation
* Fixing up the Grisu3 algorithm to better match the reference implementation (including comments, etc)
* Porting the Grisu3 implementation that generates the shortest roundtrippable sequence.
* Updating the Dragon4 algorithm to support printing the shortest roundtrippable string.
* Fixing the double/float formatters to ignore precision specifiers for 'R'
* Fixing the double/float formatters to handle +0.0 and -0.0
* Fix the casing of `point` in THIRD-PARTY-NOTICES
Co-Authored-By: tannergooding <tagoo@outlook.com>
* Fixing the double/float formatting code to consider a precision specifier of 0 to be the same as default.
* Fixing the double/float formatter so that nMaxDigits is set appropriately.
* Changing the double/float formatting logic to account for the format when determining the correct precision to request.
* Updating the double/float formatter to take the format specifier into account when determining the number of digits to request.
* Fixing the double/float formatting code to continue handling zero correctly.
* Disabling some outdated CoreFX tests.
* Responding to various feedback from the PR
Commit migrated from https://github.com/dotnet/coreclr/commit/
a21b1513db19eb6e77ab71843b8f0e046eb88933
Egor Chesakov [Fri, 1 Feb 2019 19:49:39 +0000 (11:49 -0800)]
Refactor helixpublishwitharcade.proj (dotnet/coreclr#22346)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7c49329ad75e160460ddb32f18d150c072a8002
Andy Ayers [Fri, 1 Feb 2019 19:34:31 +0000 (11:34 -0800)]
Ensure method is active in PrepareMethod (dotnet/coreclr#22351)
Fixes an assert when first call to PrepareMethod for an assembly
is an interop method.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a453d4b05d3514b5c5c3b22411e3d2d9f16c017
Michal Strehovský [Thu, 31 Jan 2019 21:51:45 +0000 (13:51 -0800)]
Annotate types moved from S.R.Extensions
Testing how much hate this is going to bring me.
These annotations let ProjectN deal with the fact that we now have two
definitions of System.Environment in the system. This is needed as long
as Project N is stuck on 2.1-level version of the framework.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1fabb9120d39ff7b7b9fb00e43ff6a4dd6ccfd6
Russ Keldorph [Fri, 1 Feb 2019 04:23:21 +0000 (20:23 -0800)]
Revert "Re-point Jenkins to new Ubuntu ARM64 queue"
This reverts commit dotnet/coreclr@
193d5da27fecb7bf95e7342f1c4b9e2b63ce5313.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d617f96303c4b65b7b77ff5fa0d7aee38ebc19f8
Sinan Kaya [Fri, 1 Feb 2019 15:27:39 +0000 (10:27 -0500)]
Coreclr gnuport (dotnet/coreclr#22129)
* Abstract away NOINLINE statement
MSVC and GNU compilers use different attributes for noinline.
Abstract away compiler differences.
* Replace __sync_swap with __atomic_exchange_n
__sync_swap doesn't exist on GNU. Replacing with __atomic_exchange_n
which is universally available.
* Define CDECL for GNUC
__cdecl is not defined by default on GNU compilers.
* Define gcc version of __declspec(thread)
* Correct pointer casting
A pointer value is usually unsigned long on most platforms.
Casting it to integer causes signedness issues. Use size_t
to be efficient on all 32 and 64 bit architectures.
* Put quotes around the error string
Correct error statement. GNU G++ is picky about the string
following the error statement with ' character in it. It needs
to be enclosed with double quotes.
* Fix casting problem
Seeing these warnings with GNU G++ compiler
src/pal/src/sync/cs.cpp: In function ‘void CorUnix::InternalInitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION, DWORD, bool)’:
src/pal/src/sync/cs.cpp:630:48: warning: converting to non-pointer type ‘SIZE_T {aka long unsigned int}’ from NULL [-Wconversion-null]
pPalCriticalSection->OwningThread = NULL;
^
src/pal/src/sync/cs.cpp: In function ‘void CorUnix::InternalLeaveCriticalSection(CorUnix::CPalThread*, _CRITICAL_SECTION*)’:
src/pal/src/sync/cs.cpp:880:43: warning: converting to non-pointer type ‘SIZE_T {aka long unsigned int}’ from NULL [-Wconversion-null]
pPalCriticalSection->OwningThread = NULL;
^
* Abstract optnone compiler attribute
GNU compiler doesn't support optnone attribute.
pal/src/exception/seh-unwind.cpp:449:77: warning: ‘optnone’ attribute directive ignored [-Wattributes]
* Set the aligned attribute for GNU compiler
* Make __rotl and __rotr functions portable
GNU compiler doesn't have an intrinsic for these. Open code them
using the provided implementation.
* Define deprecated attribute for gcc
* Add throw specifier for GCC
/usr/include/string.h:43:28: error: declaration of ‘void* memcpy(void*, const void*, size_t) throw ()’ has a different exception specifier
size_t __n) __THROW __nonnull ((1, 2));
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc7a8fbbc1754c8dd49f66f9b59c1ff12a5f842e
Tanner Gooding [Fri, 1 Feb 2019 06:52:01 +0000 (22:52 -0800)]
Fixing a GC hole in Number.BigInteger (dotnet/coreclr#22334)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8a05e8c595ae0b9e12333134f38e19acf981be4
Bruce Forstall [Fri, 1 Feb 2019 05:13:00 +0000 (21:13 -0800)]
Add -skipcrossarchnative option to build.cmd (dotnet/coreclr#22091)
* Add -skipcrossarchnative option to build.cmd
This allows you to skip building the cross-architecture native components.
* Add -skipcrossarchnative to build.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
c648dc79affa126d51c751d49cda2d3b5e86e3d4
Stephen Toub [Fri, 1 Feb 2019 04:20:14 +0000 (23:20 -0500)]
Replace several Nullable<T>.Value with .GetValueOrDefault() (dotnet/coreclr#22297)
The former does extra work that the latter doesn't do, and they're equivalent when we know it contains a value, such as immediately after a HasValue check.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b2810b1ad92d2671da76d88245198b62f5b964e
Andrew Au [Thu, 31 Jan 2019 17:07:09 +0000 (09:07 -0800)]
AsyncSteppingFix - Eagerly initialize the AsyncStateMachineBox to avoid expression evaluation in ProjectN async stepping.
[tfs-changeset: 1732745]
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
03bc819b69c50d37f48d795da80322253ffeb592
Sergey Andreenko [Fri, 1 Feb 2019 02:55:58 +0000 (18:55 -0800)]
Increase arm64 timeout. (dotnet/coreclr#22298)
* increase arm64 debug/checked timeout.
* Increase timeout only for corefx jobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d66b6b7d9282b1757e3f4ff047268798d467af55
José Rivero [Fri, 1 Feb 2019 02:19:09 +0000 (18:19 -0800)]
[Arm64/arm32] GCStress failure in tracing/eventsourcetrace/eventsourcetrace/eventsourcetrace.sh (dotnet/coreclr#22328)
Marking this test `GCStressIncompatible` = True for now.
Commit migrated from https://github.com/dotnet/coreclr/commit/
162d0383340ac727b9a88a5be7bc4d747d8d7a84
Russ Keldorph [Thu, 31 Jan 2019 23:20:41 +0000 (15:20 -0800)]
Re-point Jenkins to new Ubuntu ARM64 queue
Move Jenkins off the Ubuntu.1604.Arm64.Open queue so it can be repurposed for Azure DevOps. This "Iron" queue should only be used by Jenkins.
Commit migrated from https://github.com/dotnet/coreclr/commit/
193d5da27fecb7bf95e7342f1c4b9e2b63ce5313
Tomáš Rylek [Thu, 31 Jan 2019 23:10:58 +0000 (00:10 +0100)]
Support for dumping GC info in R2RDump (dotnet/coreclr#22216)
Thanks to tons of help from Jan Vorlicek I found out that a huge
failure bucket in the CoreCLR Pridotnet/coreclr#1 tests is caused by incorrect
GC info for generic methods causing failures in catch clauses
where the exception type is a generic referring to a generic
parameter of the method.
As part of investigation of this issue I'm adding provisions for
dumping the GC info alongside methods to make the differences
between CPAOT and Crossgen easier to analyze.
For now I have only implemented the AMD64 variant of the GC info.
Thankfully it turns out that the same GC info is used by both ARM32
and ARM64 so that the only remaining debt is supplying a variant
of the new code for X86.
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
d59e2b71b85c4b52eede67d41d31617dbd51bc90
Omair Majid [Thu, 31 Jan 2019 21:09:35 +0000 (16:09 -0500)]
Update python lookup in CMakeLists.txt to match build.(sh|cmd) (dotnet/coreclr#22145)
Use the same logic that's used in build.sh/build.cmd to lookup python:
first search for `python3`, then fall back to `python2` and finally to
`python`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7c6f87f54be723724a4c996d815d59b515b01a6
Michal Strehovský [Thu, 31 Jan 2019 17:18:36 +0000 (18:18 +0100)]
Fix ProjectN build breaks (dotnet/corertdotnet/coreclr#6924)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b50d965d4a3ff23dd8d95b02d28b6a5c5cec6a2
Tomáš Rylek [Thu, 31 Jan 2019 19:23:38 +0000 (20:23 +0100)]
Fix for missing GC ref map record on ARM64 for the X8 register (dotnet/coreclr#22309)
GC stress testing revealed a deficiency in GC ref map on ARM64 - we weren't
emitting the entry corresponding to the X8 return buffer address because
a recent refactoring changed its location in the transition block. This change
generalizes transition block by exposing a new function
GetOffsetOfFirstGCRefMapSlot()
that returns the same value as
GetOffsetOfArgumentRegisters()
except on ARM64 where it returns the offset of the X8 register in the
transition block (above the callee-saved registers and 8-byte padding i.e.
at position 13 corresponding to offset 0x68, or
GetOffsetOfArgumentRegisters() - 8).
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4d3af17d582a16e88b58789b116adcd2e07b605
Jan Vorlicek [Thu, 31 Jan 2019 19:17:11 +0000 (20:17 +0100)]
Add design document for unloadability (dotnet/coreclr#22166)
* Add design document for the unloadability
Commit migrated from https://github.com/dotnet/coreclr/commit/
d13966d3aa4db263e21794127eb934982020e745
Stephen Toub [Thu, 31 Jan 2019 14:35:33 +0000 (09:35 -0500)]
Replace Environment.s_macOS with use of PLATFORM_OSX
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
df2557b8dd4dd97fa6acc4efda67829e003d33c7
Stephen Toub [Wed, 30 Jan 2019 17:18:01 +0000 (12:18 -0500)]
Adapt corert to Environment moving from corefx
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c44cedb3c30f04c34693c14838891d7f87398e28
Aaron Robinson [Thu, 31 Jan 2019 13:04:43 +0000 (05:04 -0800)]
Stop collecting source line information during a stacktrace for the E… (dotnet/coreclr#22305)
* Stop collecting source line information during a stacktrace for the Exception.Source property.
* Code review feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
83fcf2e552d190892d9ed7264ebef94b379f1f11
Marek Safar [Thu, 31 Jan 2019 06:57:39 +0000 (07:57 +0100)]
Add managed implementation of GetSystemMaxDBCSCharSize (dotnet/coreclr#22290)
Commit migrated from https://github.com/dotnet/coreclr/commit/
10ba67ac50a2152464981db11f2a893b87f8deee
Egor Chesakov [Thu, 31 Jan 2019 06:42:49 +0000 (22:42 -0800)]
Add timeoutPerTestCollection and use this to control Helix workitem timeout (dotnet/coreclr#22312)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e369d43e6630774ef73a18821488819fe5f1a596
dotnet-maestro-bot [Thu, 31 Jan 2019 05:09:06 +0000 (21:09 -0800)]
Update CoreFx, IbcData, PgoData to preview.19080.2, master-
20190130.3, master-
20190130.3, respectively (dotnet/coreclr#22310)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d644d979bf5cda2bb41b4173208943e3c8c62af2
Sven Boemer [Thu, 31 Jan 2019 00:24:33 +0000 (16:24 -0800)]
Remove run.exe and config.json (dotnet/coreclr#21608)
This moves us one step away from buildtools and towards arcade.
This replaces run.sh and run.cmd (and all invocations) with "dotnet.sh msbuild" and "msbuild.cmd".
- I'm using these wrapper scripts for now instead of those in eng/common in order to retain the very helpful "Running <command>" output in the build logs.
- I'm using msbuild.cmd instead of dotnet.sh to match the current behavior that uses desktop msbuild on windows, instead of dotnet.
All of the arguments that used to be implicitly generated by run.exe and config.json are now explicit, resulting in longer (but easier to copy+paste) commands. Some of these arguments are likely unnecessary, but in this change my goal is just to match the run.exe behavior. Later, I would like to go through and clean up parameters that don't need to be passed in every invocation. I might also consider moving more of the common arguments out into variables in a later change.
Some of the wrapper scripts now have limited support for parsing "-Argument=Value" style parameters, to support our existing buildpipeline infrastructure, since I thought this was easier to test than changing our buildpipeline definitions. We can remove that parsing logic once we stop using buildpipeline (which has happened at this point).
Some subtle parts of the change:
* Add msbuild.cmd
This simulates the behavior of Tools\msbuild.cmd, which calls desktop msbuild.
* Fix BuildOS processing in package build and publish
Previously, config.json had its own processing that would set
OSName. Instead, we now pass it in explicitly where it's
needed (building packages), or not at all (publishing them).
* Handle "=" in publish-packages.cmd and other scripts
This seems necessary to properly handle the azure access token
* Set __BuildOS in PublishPackages
Required for cases where the build OS isn't detected during the build
such as freebsd.
* Use dotnet msbuild in runtest.py
This prevents us from having to deal with different quote escape
behavior on windows and linux. Previously, arguments like
fileloggerparameters and the logger were given quotes to escape
semicolons in the argument. On unix, this prevented the argument from
being split up by bash. On windows, it seems that the run.cmd/run.exe
tools would prevent the extra quotes from being passed to
msbuild.exe (desktop msbuild would choke on the quotes if they were
passed along).
Unlike desktop msbuild, dotnet msbuild is able to parse the quoted
strings, so we simply psas the quoted arguments directly to it on
windows. We may be able to do the same on unix.
* Fix build-test.sh problem with BuildOS
When copying native files during the unix test build, we rely on
__BuildOS being set. Fixing the import order and always setting
__BuildOS fixes this. We should eventually fix the inconsistent use of
BuildOS vs __BuildOS.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b43bd8139d053e24ec51c193054555e3352371a
Tanner Gooding [Wed, 30 Jan 2019 23:35:07 +0000 (15:35 -0800)]
Reverting "Fixing up the UTF8Formatter and some tests to properly handle -0.0" (dotnet/coreclr#22300)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbb42159bba3d147559032ee496b55aa7e94e6f7
Russ Keldorph [Wed, 30 Jan 2019 20:55:30 +0000 (12:55 -0800)]
Disable outdated test until it is updated
Commit migrated from https://github.com/dotnet/coreclr/commit/
f52a3f595f9067d957a9b77d72689b8f564657f3
dotnet-maestro-bot [Wed, 30 Jan 2019 15:14:33 +0000 (07:14 -0800)]
Update CoreFx, PgoData to preview.19080.1, master-
20190130.1, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
52f3c4d9dee38b3689816a3449c34fec63179df3
Egor Chesakov [Wed, 30 Jan 2019 22:59:29 +0000 (14:59 -0800)]
Disable tests consistently failing in AzDO CI (dotnet/coreclr#22304)
* JIT\jit64\opt\cse\hugeexpr1 on Linux/arm
Related issue: https://github.com/dotnet/coreclr/issues/22260
* baseservices\threading\interlocked\compareexchange\CompareExchangeTClass
* baseservices\threading\interlocked\compareexchange\CompareExchangeTClass_1
Related issue: https://github.com/dotnet/coreclr/issues/22303
Commit migrated from https://github.com/dotnet/coreclr/commit/
a262d35f70ff88340ec859cabadc28cea19bdabb
Eugene Rozenfeld [Tue, 29 Jan 2019 19:26:49 +0000 (11:26 -0800)]
Remove GTF_ADDR_ONSTACK and IsVarAddr.
IsVarAddr was checking GTF_ADDR_ONSTACK to determine if
the GT_ADDR node is an address of a local. This change removes both
GTF_ADDR_ONSTACK and IsVarAddr and uses IsLocalAdrExpr instead.
IsLocalAddrExpr uses opcodes to determine if GT_ADDR node is
a local address.
GTF_ADDR_ONSTACK flag is ancient, added before 2002 so I couldn't find
the checkin that introduced it.
I changed the assert to a check and an assignment since simplifications
inside fgMorphArgs between
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@
1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3709
(which causes https://github.com/dotnet/coreclr/blob/dotnet/coreclr@
1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3057)
and
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@
1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534/src/jit/morph.cpp#L3790
may result in more GT_ADDR nodes recognized by IsLocalAdrExpr.
x86 and x64 pmi frameworks had no code diffs and some gcinfo reductions
(15 methods with gcinfo diffs in x86).
Fixes dotnet/coreclr#22190.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4070994640bcc2c4c138b6f695d3fce14ea3efe7
Stephen Toub [Wed, 30 Jan 2019 21:22:27 +0000 (16:22 -0500)]
Switch CoreLib over to using shared Environment from corefx (dotnet/coreclr#22106)
This requires merging/adapting the implementation with EnvironmentAugments (which goes away completely), the shared files, what corert has, etc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
91e1ffccc38fc87f6f496eb056396a1b775f08af
Michal Strehovský [Wed, 30 Jan 2019 20:16:13 +0000 (21:16 +0100)]
Fix CorError header file generation (dotnet/coreclr#22294)
The checked in batch script was only usable if you have a Razzle environment and even then it didn't update the right files.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a43dd765ea6341310fde3f83bb41ff88d94b435
Meir Blachman [Wed, 30 Jan 2019 15:44:57 +0000 (17:44 +0200)]
fixed pdf link in dotnet-standards.md (dotnet/coreclr#22292)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2e3a19be00af54c3bc4c76d94044aca9c32a45d
Michal Strehovský [Wed, 30 Jan 2019 12:41:44 +0000 (13:41 +0100)]
Fix namespace of the AmbiguousImplementationException (dotnet/coreclr#22291)
Moving to the namespace that was approved in dotnet/corefxdotnet/coreclr#34124.
Commit migrated from https://github.com/dotnet/coreclr/commit/
81e12aaff1d8671f1e7709afa3183458eaa79673
Michal Strehovský [Tue, 29 Jan 2019 21:38:31 +0000 (22:38 +0100)]
Recover some of the size lost with AsyncMethodBuilder/Task unification (dotnet/coreclr#6913)
When we unified the implementations of these across all of our runtimes, we lost all size optimizations people have been doing on the Project N side over the past six years.
This restores a bit of the loss. For one sample app with lots of async usage, this removes 2.1 MB of generic instantiations.
There is more we can do, but I can't spend time on that right now. These two things jumped out on me when I was looking at it back in December and were an easy fix I wanted to do for a while.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a19ccc68afa0174a0cfbd58fa241a7f85785f567
Markus Kitsinger [Wed, 30 Jan 2019 04:57:23 +0000 (22:57 -0600)]
Add AmbiguousImplementationException (dotnet/coreclr#22280)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a01a40f4488e2cb8b796a708673386cb763fb97
Markus Kitsinger [Wed, 30 Jan 2019 04:56:32 +0000 (22:56 -0600)]
Do not cache error string in SerializationException (dotnet/coreclr#22281)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bdab5ba7b1156eabf0e55f6ee6efa9b4203a95f
Egor Chesakov [Wed, 30 Jan 2019 01:17:18 +0000 (17:17 -0800)]
RunCrossGen in ReadyToRun tests, set TimeoutPerTest, set FailOnWorkItemFailure (dotnet/coreclr#22261)
* For ReadyToRun tests in AzDO set RunCrossGen=true during Helix test running
* Set __TestTimeout and introduce TimeoutPerTestInMinutes for test jobs
* Set FailOnWorkItemFailure - fail the AzDO step on Helix work item "catastrophic failure"
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab30991acb30b9f26d1a4297d3b59baa45eb8155
Marek Safar [Wed, 30 Jan 2019 00:35:09 +0000 (01:35 +0100)]
Move Marshal::StringTo* methods to shared partition (dotnet/coreclr#22266)
Commit migrated from https://github.com/dotnet/coreclr/commit/
25345fd1e070fdda233a43b7be070d66f187c557
Tanner Gooding [Tue, 29 Jan 2019 21:34:01 +0000 (13:34 -0800)]
Fixing several of the HWIntrinsic SoftwareFallback functions to be captureless (dotnet/coreclr#22263)
Commit migrated from https://github.com/dotnet/coreclr/commit/
69c8421c1177675d4df855d7bb73b0a77b19c643
Maoni Stephens [Tue, 29 Jan 2019 21:09:32 +0000 (13:09 -0800)]
To support container scenario, 2 HardLimit configs are added - (dotnet/coreclr#22180)
GCHeapHardLimit - specifies a hard limit for the GC heap
GCHeapHardLimitPercent - specifies a percentage of the physical memory this process is allowed to use
If both are specified, GCHeapHardLimit is checked first and only when it's not specified
would we check GCHeapHardLimitPercent.
If neither is specified but the process is running inside a container with a memory
limit specified, we will take this as the hard limit:
max (20mb, 75% of the memory limit on the container)
If one of the HardLimit configs is specified, and the process is running inside a container
with a memory limit, the GC heap usage will not exceed the HardLimit but the total memory
is still the memory limit on the container so when we calculate the memory load it's based
off the container memory limit.
An example,
process is running inside a container with 200mb limit
user also specified GCHeapHardLimit as 100mb.
if 50mb out of the 100mb is used for GC, and 100mb is used for other things, the memory load
is (50 + 100)/200 = 75%.
Some notes on these configs -
+ The limit is the commit size.
+ This is only supported on 64-bit.
+ For Server GC the minimum *reserved* segment size is 16mb per heap, this is to avoid the
scenario where the hard limit is small but the process can use many procs and we end up
with tiny segments which doesn't make sense. We then keep track of the committed on the segments
so the total does not exceed the hard limit.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed52a006c01a582d4d34add40c318d6f324b99ba
Marek Safar [Tue, 29 Jan 2019 01:16:16 +0000 (02:16 +0100)]
Add Marshal ansi conversion to shared partition (dotnet/coreclr#22243)
* Add Marshal ansi conversion to shared partition
* Ignore bestFit/throwOnUnmappableChar on Unix
* Use same assert in StringToAnsiString
* wideCharLen parameter rename
Commit migrated from https://github.com/dotnet/coreclr/commit/
930abba4060fb528db2bb9835a1bc5a6e684bfec
mikedn [Mon, 28 Jan 2019 19:38:19 +0000 (21:38 +0200)]
Fix various fgMorphInitBlock issues (dotnet/coreclr#21820)
* Fix various fgMorphInitBlock issues
* Remove unnecessary destAddr variable
* Extend/fix comment headers
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a1e4c4d5a8030cb8d82a2e5b06c2ab357b92534
Andy Ayers [Mon, 28 Jan 2019 18:45:45 +0000 (10:45 -0800)]
Fix finding entry point unwind record for a method with fragmented un… (dotnet/coreclr#22202)
On Arm and Arm64 unwind records can only cover a limited range of code
(512K and 1MB respectively). So for methods larger than this the jit
will emit multiple "fragment" unwind records to cover the full method code
range. Only the first of these describes the behavior of the method prolog.
When mapping an offset back to a method's entry point unwind, make sure to
find this "root" unwind record instead of one of the internal fragments.
Fixes dotnet/coreclr#19209.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b8df831c0513c0f84327cfb82e71ab03c263873
dotnet-maestro-bot [Mon, 28 Jan 2019 14:16:58 +0000 (06:16 -0800)]
Update PgoData to master-
20190128.1 (dotnet/coreclr#22237)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ddd85a9cc1375177b8e68e956fdcbdb76fce4e6a
Ben Adams [Mon, 28 Jan 2019 02:29:19 +0000 (03:29 +0100)]
string.EndsWith use SequenceEqual not SequenceCompareTo (dotnet/coreclr#22207)
Commit migrated from https://github.com/dotnet/coreclr/commit/
57fd77e6f8f7f2c37cc5c3b36df3ea4f302e143b
TW [Mon, 28 Jan 2019 02:26:53 +0000 (04:26 +0200)]
Improve BinaryReader.ReadUInt32() perf by 30% when using MemoryStream (dotnet/coreclr#22102)
BinaryReader.ReadInt32() has nice optimization which was missing from the ReadUInt32() version. Now both implementations are aligned.
ReadUInt32 and all the 64 bits types are now 30% to 50% faster than original implementation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87cc71691e36950bb99739f32323805d4a0c29ce
Jan Kotas [Sun, 27 Jan 2019 19:48:53 +0000 (11:48 -0800)]
Keep CoreCLR-specific temporary hack under ifdef
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
731b40d96ba0b93057f7334115c3bc00eb434437
Ben Adams [Mon, 28 Jan 2019 02:01:22 +0000 (03:01 +0100)]
Shrink Task.Delay when used without cancellation (dotnet/coreclr#22233)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8a29aa185e44c35af76bcb9f15881f23ddd0a84d
Stephen Toub [Sun, 27 Jan 2019 19:15:08 +0000 (14:15 -0500)]
Remove several uses of VoidTaskResult (dotnet/coreclr#22238)
* Remove defunct netstandard code from ValueTask
* Remove several uses of VoidTaskResult
Currently TrySetResult/Canceled/Exception live on `Task<T>`. There's no reason `TrySetCanceled` and `TrySetException` need to live there, as they only access state from the base `Task`, and so can be moved down. `TrySetResult` needs the `TResult`, however in a variety of cases `Task<T>` is used with a `VoidTaskResult`, and for such cases we can just have a parameterless `TrySetResult()` on the base class as well, which can be used any time there is no `TResult` or when `default(TResult)` is the desired result. This lets us switch several cases where we were using `Task<VoidTaskResult>` to just be `Task`, which saves 8 bytes on the task instance on 64-bit. It also avoids an Interlocked.Exchange as part of the TrySetResult call.
This primarily affects Task.Delay and the non-generic variants of Task.WhenAll, ValueTask.AsTask(), Task.FromCanceled, and Task.FromException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d5d680e64769f4807d2e114b74e1304a58822d5
Filip Navara [Sun, 27 Jan 2019 19:12:30 +0000 (20:12 +0100)]
Move Timer to shared CoreLib partition. (dotnet/coreclr#22231)
* Move Timer to shared CoreLib partition.
* Move SignalNoCallbacksRunning back to shared code, add static EventWaitHandle.Set.
* Remove AppDomain references from shared Timer code, reshuffle some code out of SetTimer in non-shared code.
* Change m_ prefix to match code style.
Commit migrated from https://github.com/dotnet/coreclr/commit/
307ec0b724c01aec62d93cf2046f6b671c3eeced
dotnet-maestro-bot [Sun, 27 Jan 2019 04:26:13 +0000 (20:26 -0800)]
Update PgoData to master-
20190126.1 (dotnet/coreclr#22198)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1c1cc91a85c510c7b10461acb35b8c545fe2b07
Filip Navara [Sun, 27 Jan 2019 04:25:06 +0000 (05:25 +0100)]
Make ResourceManager use Assembly instead of RuntimeAssembly internally. (dotnet/coreclr#21979)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6565634633f59b07511854fa1929157a7309b81f
Marek Safar [Sun, 27 Jan 2019 01:08:53 +0000 (02:08 +0100)]
Move Marshal::ZeroFree* to shared partition (dotnet/coreclr#22230)
* Move Marshal::ZeroFree* to shared partition
* Add managed version of SysStringByteLen
Commit migrated from https://github.com/dotnet/coreclr/commit/
2876addb7a425776470ca3ebac6e705e5adceb80
Jan Kotas [Sat, 26 Jan 2019 17:26:16 +0000 (09:26 -0800)]
Cleanup stackoverflow handling leftovers (dotnet/coreclr#22228)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3038b7484330012fb418dae61cfbdb54542719fd
Stephen Toub [Sat, 26 Jan 2019 11:26:35 +0000 (06:26 -0500)]
Factor WinRT GetFolderPath into static accessible via reflection (dotnet/coreclr#34873)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
0657f407a95d78fcfa643a74d68a6562e8f67ba9
Marek Safar [Sat, 26 Jan 2019 02:32:24 +0000 (03:32 +0100)]
Move more Marshal methods to shared partition (dotnet/coreclr#22205)
* Move more Marshal methods to shared partition
* Implement ThrowExceptionForHR in managed
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb734dc0df68229e37d11dbdb8aee70e6aff73e4
Egor Chesakov [Sat, 26 Jan 2019 01:05:33 +0000 (17:05 -0800)]
Submit to one Helix queue on pull requests and CI builds. Add CI trigger for master branch (dotnet/coreclr#22211)
This limits pull request and CI (push) triggered jobs to running only on one *default* Helix queue:
Linux arm32 - Ubuntu.1404.Arm32.Open
Linux arm64 - Ubuntu.1804.Arm64.Open
Linux x64 - Ubuntu.1804.Amd64.Open
Windows_NT x86/x64 - Windows.10.Amd64.Open
Windows_NT arm32/arm64 - we don't run these in AzDO
OSX - OSX.1013.Amd64.Open
Scheduled and manually triggered jobs will use more than one Helix queues for more comprehensive checking.
This enables CI (push) trigger for master branch. During CI build the following scenarios for Pri1 tests are going to run:
- normal
- no_tiered_compilation
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c5ac86fe4dcdd3f2e83e52049b1e393978698b0
Egor Chesakov [Sat, 26 Jan 2019 01:02:12 +0000 (17:02 -0800)]
Switch to dnceng-linux-external-temp pool (dotnet/coreclr#22220)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b6fb99dd14c3782c7a10de4abf676aacc03eca59
Sung Yoon Whang [Fri, 25 Jan 2019 21:35:37 +0000 (13:35 -0800)]
Fix eventsource metadata exception (dotnet/coreclr#21993)
* Do not throw an exception when we fail to generate metadata for eventsource
* some build failures
* return null directly here
* remove FAILURE_UNSUPPORTED_TYPE
* address PR comments
* address more pr comments
* Fix potential incorrect generation of metadata blob when property metadata generation fails
Commit migrated from https://github.com/dotnet/coreclr/commit/
b697678e09b3731a02bedf928dad6c0148f01747