Jan Kotas [Sat, 25 Apr 2020 06:49:16 +0000 (23:49 -0700)]
Delete GetDefaultAction
Jan Kotas [Sat, 25 Apr 2020 06:44:48 +0000 (23:44 -0700)]
Delete GetActionOnTimeout
Jan Kotas [Sat, 25 Apr 2020 06:24:54 +0000 (23:24 -0700)]
Delete EEPolicy::GetTimeOut
Jan Kotas [Sat, 25 Apr 2020 06:09:08 +0000 (23:09 -0700)]
Delete FAIL_AccessViolation - always no-op
Jan Kotas [Sat, 25 Apr 2020 06:07:06 +0000 (23:07 -0700)]
Delete fCalculateSecurityInfo arg
Jan Kotas [Sat, 25 Apr 2020 05:59:47 +0000 (22:59 -0700)]
Delete fLegacyUnhandledExceptionPolicy - always false
Jan Kotas [Sat, 25 Apr 2020 05:42:29 +0000 (22:42 -0700)]
Delete LegacyNullReferenceExceptionPolicy
Always false
Jan Kotas [Sat, 25 Apr 2020 05:40:33 +0000 (22:40 -0700)]
Delete eFastExitProcess
Jan Kotas [Sat, 25 Apr 2020 05:27:06 +0000 (22:27 -0700)]
Delete ResourceConstraintAction
Jan Kotas [Sat, 25 Apr 2020 05:26:36 +0000 (22:26 -0700)]
Delete HandleStackOverflow arguments
Jan Kotas [Sat, 25 Apr 2020 05:03:38 +0000 (22:03 -0700)]
Delete GetActionOnFailureNoHostNotification
Jan Kotas [Sat, 25 Apr 2020 04:46:57 +0000 (21:46 -0700)]
Delete Timeouts
Jan Kotas [Sat, 25 Apr 2020 04:37:32 +0000 (21:37 -0700)]
EEPolicy cleanup
Stephen Toub [Sat, 25 Apr 2020 13:45:24 +0000 (09:45 -0400)]
Emit shorter variants in ILGenerator.Emit(OpCode, int) (#35427)
The Ldloc, Stloc, Ldloca, Ldc_I4, Ldarg, Ldarga, and Starg opcodes all have shorter variants that take up less space in the IL instruction stream. ILGenerator.Emit(OpCode, LocalBuilder) already special cases Ldloc, Stloc, and Ldloca to automatically translate those into their shorter forms where applicable, but similar logic doesn't exist in Emit(OpCode, int) for Ldc_I4, Ldarg, Ldarga, and Starg. Instead, various other libraries higher in the stack that use reflection emit either end up doing all the special-casing with their own helper routines to do the shrinking, or they just forego it and end up with larger IL than is necessary.
This PR just moves the logic down into Emit(OpCode, int) such that all uses can benefit, and removes the special-casing duplication from the other libraries.
Zoltan Varga [Sat, 25 Apr 2020 13:36:40 +0000 (09:36 -0400)]
Add some missing linker exclusions. (#35448)
Stephen Toub [Sat, 25 Apr 2020 13:36:12 +0000 (09:36 -0400)]
Fix asserts in Array.cs (#35447)
Santiago Fernandez Madero [Sat, 25 Apr 2020 13:31:39 +0000 (06:31 -0700)]
Fix coreclr Test570 due to ICU on Windows feature (#35435)
* Remove test and add testcase to PercentDecimalDigits tests
Jan Kotas [Sat, 25 Apr 2020 12:32:49 +0000 (05:32 -0700)]
CoreCLR versions cleanup (#35327)
- Use current version numbers everywhere
- Use product version (e.g. 5.0.0) for all user facing versions
- Use file version (e.g. 5.0.20.21010) only when the exact version information is required
- Reduce number of layers of version macro definitions
Marcus Turewicz [Sat, 25 Apr 2020 12:26:50 +0000 (22:26 +1000)]
Use attribute Link syntax for Common files (#35436)
* Change <Link>...</Link> to Link="..."
* Format existing Link="..."
dotnet-maestro[bot] [Sat, 25 Apr 2020 08:06:31 +0000 (10:06 +0200)]
[master] Update dependencies from dotnet/arcade Microsoft/vstest (#35400)
Jan Kotas [Sat, 25 Apr 2020 07:21:32 +0000 (00:21 -0700)]
Delete redundant CoreCLR regression tests (#35437)
Fixes #35045
Aaron Robinson [Sat, 25 Apr 2020 05:56:59 +0000 (22:56 -0700)]
Stop building hostmisc as a static lib. (#35431)
* Stop building hostmisc as a static lib.
This broke the nethost from being consumable as a static lib.
Mike McLaughlin [Sat, 25 Apr 2020 05:29:16 +0000 (22:29 -0700)]
Windows createdump support (#35381)
Windows createdump support
Build a Windows version of createdump that uses MiniDumpWriteDump.
Launch that createdump from the runtime when the runtime abort because of an unhandled exception when the same environment variables as Linux are set.
Hook up the diagnostic server dump message on Windows.
Add CrashDumpAndTerminateProcess function that generates a dump if enabled and terminates
the process. Replaced varous TerminateProcess calls in the runtime with this new function.
Add resource/version info to createdump.exe
Added stack overflow and debug assert hooks before calls to RaiseFailFastException
Stephen Toub [Sat, 25 Apr 2020 01:09:26 +0000 (21:09 -0400)]
Fix typo in ManagedWebSocket comment
Bruce Forstall [Sat, 25 Apr 2020 00:35:32 +0000 (17:35 -0700)]
Add `-skipgenerateversion` option to not generate native version headers (#34731)
This allows skipping yet another thing when doing incremental builds.
This already exists in build-runtime.sh; just add it to build-runtime.cmd
Aaron Robinson [Sat, 25 Apr 2020 00:24:42 +0000 (17:24 -0700)]
Remove the Obsolete attribute from the various types that support COM events. (#35412)
Update tests to remove the suppression.
Levi Broderick [Fri, 24 Apr 2020 23:45:21 +0000 (16:45 -0700)]
Fix CompareInfo weightless code point handling, plus other improvements (#1514)
* Create spanified and Rune-accepting overloads of CompareInfo APIs
* Remove much of the duplicated code throughout CompareInfo
* Remove "empty string" optimizations that were causing incorrect comparisons against weightless code points
* Improve error detection around some edge cases
Bruce Forstall [Fri, 24 Apr 2020 23:10:53 +0000 (16:10 -0700)]
Re-enable Windows arm32 testing of JIT stress modes (#34146)
Swaroop Sridhar [Fri, 24 Apr 2020 21:49:21 +0000 (14:49 -0700)]
Single-File: Pass BUNDLE_PROBE property to the runtime (#34845)
* Single-File: Pass BUNDLE_PROBE property to the runtime
As described in the [design doc](https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/design.md#startup), pass the bundle_probe function pointer encoded as a string to the runtime.
Andy Ayers [Fri, 24 Apr 2020 19:20:13 +0000 (12:20 -0700)]
JIT: speed up fgComputePreds (#35352)
Interaction of `fgComputePreds` and `fgAddRefPred` could be quadratic in the
number of preds.
Usually the number of preds is small (1 or 2) but in some cases seen from
compiled regular expressions it could be in the thousands. On one such case
a single call to fgComputePreds was taking ~20% of jit time.
Since we build the pred list in sorted order we can take advantage of this
to avoid searching the list for potential duplicates in `fgAddRefPred` when
it is called from `fgComputePreds` -- the only possible duplicate entry is
at the end of the list.
This doesn't address perf of subsequent calls to `fgAddRefPred` but likely
those happen somewhat randomly and are unlikely to be as costly.
Noah Falk [Fri, 24 Apr 2020 19:13:32 +0000 (12:13 -0700)]
Merge pull request #35234 from noahfalk/nopgoopt
Add build argument to suppress PGO
Eugene Rozenfeld [Fri, 24 Apr 2020 18:46:32 +0000 (11:46 -0700)]
Fix importing of calls with explicit `this`. (#35385)
When signature calling convention has `CORINFO_CALLCONV_EXPLICITTHIS`
set `this` argument is explicitly included in the argument list.
The importer wasn't taking that into account and was trying to pop
an implicit `this`, which resulted in `BADCODE("stack underflow")`
from `impPopStack` and `System.InvalidProgramException`.
Fixes #35384
Santiago Fernandez Madero [Fri, 24 Apr 2020 18:33:38 +0000 (11:33 -0700)]
Fix rolling builds (#35416)
Sven Boemer [Fri, 24 Apr 2020 18:17:25 +0000 (11:17 -0700)]
Pick up renamed Microsoft.NET.ILLink.Tasks package (#35214)
Tanner Gooding [Fri, 24 Apr 2020 18:16:17 +0000 (11:16 -0700)]
Update the x86 hwintrinsic list to match the arm64 layout (#35364)
* Update the x86 hwintrinsic list to match the arm64 layout
* Applying formatting patch
Marek Safar [Fri, 24 Apr 2020 18:14:15 +0000 (20:14 +0200)]
Don't re-initialize static fields in Console (#35409)
the compiler is not capable removing the initialization
Stephen Toub [Fri, 24 Apr 2020 18:12:47 +0000 (14:12 -0400)]
Improve Array.Sort(T[]) performance (#35297)
* Improve Array.Sort(T[]) performance
A variety of tweaks to improve `Array.Sort<T>(T[])` performance and address a regression left over from moving the array sorting implementation from native to managed. The two most impactful are using `Unsafe.*` in `PickPivotAndPartition` to avoid bounds checks and aggressive inlining on `SwapIfGreater`. A few other small improvements to codegen round it out.
I only made the unsafe changes in the `Sort<T>(T[])` implementation, and not in the more complicated implementations, such as for `Sort<T>(T[], Comparer<T>)` and `Sort<TKey, TValue>(TKey[], TValue[])`, but I did make some of the smaller changes for consistency across the file.
* Address PR feedback, and more tweaks
Egor Bogatov [Fri, 24 Apr 2020 17:35:36 +0000 (20:35 +0300)]
Implement BinaryPrimitives.ReverseEndianness for arm64 using rev (#34617)
* Implement GT_BSWAP for arm64
* Add GT_BSWAP16
* use TARGET_ARM64 in codegenarmarch.cpp
Tomáš Rylek [Fri, 24 Apr 2020 16:35:28 +0000 (18:35 +0200)]
Add runtimeFlavor parameter to build-test-job.yml (#35377)
Layomi Akinrinade [Fri, 24 Apr 2020 16:25:42 +0000 (12:25 -0400)]
Add logic for immutable collection converters to share create-object delegate (#35080)
* Add logic for immutable collection converters to share create-object delegate
* Address review feedback
Alexander Nikolaev [Fri, 24 Apr 2020 16:21:19 +0000 (18:21 +0200)]
Enable DnsGetHostEntry_LocalHost_ReturnsFqdnAndLoopbackIPs (#35399)
Test is enabled because the failures were caused by Helix infra issue (a misconfigured agent) which was fixed a couple of days ago.
Fixes #34317
Adeel Mujahid [Fri, 24 Apr 2020 16:11:56 +0000 (19:11 +0300)]
Make C-lib math functions introspection more robust (#35325)
* Make atan2 introspection more robust
* Use volatile and variables for all math.h checks
Jan Vorlicek [Fri, 24 Apr 2020 15:39:34 +0000 (17:39 +0200)]
Fix null reference handling in VSD stub for x86 (#35331)
* Fix null reference handling in VSD stub for x86
The regression test that I've added recently to accompany a fix for null
reference handling in VSD stub for x64 is failing for x86. The problem
is that the null reference handling in VSD dispatch and resolve stubs
was broken in another way due to the x86 calling convention. When the
call went through a shuffle thunk that removes one stack argument due to
the shuffle, the manual unwinding in AdjustContextForVirtualStub was
getting an ESP that was off by one stack slot and exception handling
wasn't able to correctly unwind from that location to the caller.
This change fixes it by letting the AdjustContextForVirtualStub manually
unwind to the instruction after the call to the shuffle thunk / VSD stub
and updating the ESP according to the number of stack arguments of the
target method.
I have also modified the regression test. One change was to make a call
with multiple parameters to verify that the logic to get stack arguments
size is working correctly. Another change was to make sure that both
dispatch and resolve stub cases are tested.
* Replace MethodTable in the ResolveStub by size of stack args
This prevents issues in case the type represented by the MethodTable got
unloaded.
* Make the stack arguments size stuff Windows specific
On Unix x86, the stack is cleaned up by the caller, not the callee.
Fan Yang [Fri, 24 Apr 2020 15:35:58 +0000 (11:35 -0400)]
Refactor get_time_stamp_ns (#34536)
* Refactor get_time_stamp_ns
* Add place holder function for pc to make pc build pass
* Add missing header file
* Move all time functions to mono-time.c
* Make sampling_thread_running a global variable
* Pass void* to init, clean_up and get_time function to accormodate different clock ID types for different os, and move back profiler specific function
* Add static keyword for local helper function and fix a typo
* Change to platform-specific typedef approach
* Add missing header file for macOS
* Add missing header file for linux
* Change header file name
* Change header file name one more time
* Fix failures on macOS
* Update src/mono/mono/utils/mono-time.h
Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Tom Deseyn [Fri, 24 Apr 2020 15:33:42 +0000 (17:33 +0200)]
Build warnings (#35404)
* Fix cmake warning about unmatched endif argument
* crossgen-corelib: fix empty mkdir warning
monojenkins [Fri, 24 Apr 2020 15:16:04 +0000 (11:16 -0400)]
[jit] use helper to obtain method signature (#35344)
`mini_method_get ()` doesn't guarantee that `method->signature` is set.
Fixes a problem in https://github.com/mono/mono/pull/19624
/cc @lewing
Co-authored-by: lewurm <lewurm@users.noreply.github.com>
Jan Vorlicek [Fri, 24 Apr 2020 14:47:02 +0000 (16:47 +0200)]
Merge pull request #35403 from janvorli/update-unloadability-doc
Update unloadability doc based on recent changes
Nathan Ricci [Fri, 24 Apr 2020 14:36:54 +0000 (10:36 -0400)]
Removed unecessary download of mono product build. (#35287)
Jan Vorlicek [Fri, 24 Apr 2020 12:56:29 +0000 (14:56 +0200)]
Update unloadability doc based on recent changes
The management of the handle that native runtime keeps to
AssemblyLoadContext has changed to fix a race recently, so I am updating
the doc according to the change.
Fan Yang [Fri, 24 Apr 2020 12:18:51 +0000 (08:18 -0400)]
Update src/mono/mono/utils/mono-time.h
Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>
monojenkins [Fri, 24 Apr 2020 10:52:31 +0000 (06:52 -0400)]
Prevent a possible assert in the debugger when a thread detaches (#34955)
When a new thread is attached to the VM, the debugger will add it to the
`thread_to_tls` hash table. When that thread detaches, it will be
removed. Once the thread is attached, if a client is debugging, the
client can use the `CMD_THREAD_GET_FRAME_INFO` command to ask for
details about that thread.
This is a possibility that the thread detaches before the
`CMD_THREAD_GET_FRAME_INFO` command is processed, so the thread may not
exist the the `thread_to_tls` hash table any more.
This is a race condition, but is a valid state, so instead of asserting,
the debugger agent should indicate to the client that the thread no
longer exists, using `ERR_UNLOADED`.
Kenneth Pouncey [Fri, 24 Apr 2020 09:37:37 +0000 (11:37 +0200)]
[wasm] Rename the browser targets to `TargetsBrowser` (#35390)
- The change also makes sure that the `TargetsBrowser` is used consistently.
- example TargetsWebAssembly and TargetsWASM
Jan Vorlicek [Fri, 24 Apr 2020 08:09:06 +0000 (10:09 +0200)]
Merge pull request #35363 from janvorli/fix-unloadability-tests
Fix failures in unloadability tests
monojenkins [Fri, 24 Apr 2020 07:47:09 +0000 (03:47 -0400)]
[wasm][debugger] Fix `evaluateOnCallFrame` for valuetype locals (#35361)
.. including generic, and async methods. This fixes `hover` for valuetype locals.
Co-authored-by: radical <radical@users.noreply.github.com>
Zoltan Varga [Fri, 24 Apr 2020 07:35:54 +0000 (03:35 -0400)]
Add build configuration to generate runtime packs for WebAssem… (#34936)
Jan Kotas [Fri, 24 Apr 2020 04:03:08 +0000 (21:03 -0700)]
Delete JIT_PATH host key/value pair (#35359)
This was originally introduced to deal with the JIT being in a separate NuGet package. No longer the case for a years.
fanyang-mono [Fri, 24 Apr 2020 03:20:14 +0000 (23:20 -0400)]
Fix failures on macOS
Aaron Robinson [Fri, 24 Apr 2020 02:53:07 +0000 (19:53 -0700)]
Fix nethost.h header file when consuming as a static lib. (#35373)
Andrew Au [Fri, 24 Apr 2020 02:30:44 +0000 (19:30 -0700)]
Additional code cleanup (#35259)
* Additional code cleanup
* Code review feedback
* Remove associated clrconfigvalue.h entries
* More code review feedback
* Eliminate unnecessary entries in clrconfigvalues.h
Steve MacLean [Thu, 23 Apr 2020 23:15:05 +0000 (19:15 -0400)]
Revert "Build coreclr targetGeneric tests separately for CI (#34790)" (#35371)
This reverts commit
9188a5820ccc6dffc5763d22ee4a6cd040a4048c.
Sergey Andreenko [Thu, 23 Apr 2020 22:42:09 +0000 (15:42 -0700)]
Delete an extra new line when there is a child. (#35355)
Andy Ayers [Thu, 23 Apr 2020 21:48:16 +0000 (14:48 -0700)]
Jit: run throw helper merge phase before morph (#35255)
Now that we have pred lists before morph, we can move the throw helper
tail merge phase earlier in the phase list.
This has two benefits:
* we can now merge a few more cases, because morph can introduce unique
temps for otherwise identical calls;
* it saves some throughput, because we no longer need to morph duplicate
calls.
There is more opportunity here to reduce code size if we can find the right
heuristic in morph to decide if throw helpers should be called or tail-called,
though the overall benefit is small (~600 methods, ~2000k bytes). I left the
current heuristic in place as I couldn't come up with anything better.
Fixes #35135.
Tomáš Rylek [Thu, 23 Apr 2020 21:44:42 +0000 (23:44 +0200)]
Fix some overlooked template moves in the YML templates (#35311)
fanyang-mono [Thu, 23 Apr 2020 20:33:03 +0000 (16:33 -0400)]
Change header file name one more time
Jan Vorlicek [Thu, 23 Apr 2020 20:32:43 +0000 (22:32 +0200)]
Fix failures in unloadability tests
The assert in EEClass::Destroy is invalid after a change #1201 that has
removed ArrayTypeDesc. It was causing failures of a large portion of the
coreclr tests.
There were also three tests that were failing due to test
incompatibilities with unloadability, so I am marking them as such.
Jan Vorlicek [Thu, 23 Apr 2020 20:26:19 +0000 (22:26 +0200)]
Merge pull request #35332 from janvorli/fix-runincontext-path
Fix incorrect path of the runincontext script in Helix
fanyang-mono [Thu, 23 Apr 2020 20:23:09 +0000 (16:23 -0400)]
Change header file name
fanyang-mono [Thu, 23 Apr 2020 18:22:13 +0000 (14:22 -0400)]
Add missing header file for linux
Egor Bogatov [Thu, 23 Apr 2020 17:47:51 +0000 (20:47 +0300)]
[mono] Enable LLVM for iOS by default for AppleAppBuilder (#35338)
* Enable LLVM for iOS by default
* Update Makefile
Prashanth Govindarajan [Thu, 23 Apr 2020 17:29:24 +0000 (10:29 -0700)]
Changes triggered by the CA1834 analyzer (#35227)
* Cherry pick if needed
* Changes triggered by https://github.com/dotnet/roslyn-analyzers/pull/3481
* sq
* Revert "Cherry pick if needed"
This reverts commit
55a98c41f6d2143737ec707faf2a3cf213474c97.
* sq
Anirudh Agnihotry [Thu, 23 Apr 2020 17:21:40 +0000 (10:21 -0700)]
correctly set runWorkingDirectory (#35322)
Ryan Lucia [Thu, 23 Apr 2020 15:49:30 +0000 (11:49 -0400)]
[meta] Add embedding API function to get the default ALC (#35191)
* Formatting fixes
* Add embedding API function get the default ALC
Fan Yang [Thu, 23 Apr 2020 15:27:41 +0000 (11:27 -0400)]
Add missing header file for macOS
Steve MacLean [Thu, 23 Apr 2020 15:09:23 +0000 (11:09 -0400)]
Build coreclr targetGeneric tests separately for CI (#34790)
* Build CoreClr tests separately
* Build coreclr targetGeneric tests separately for CI
* Build coreclr targetGeneric tests separately in runtime.yml
* Distinguish generic build based on Libraries config
* Build OSX release libraries when CoreCLR changed
* Always use tar.gz compression for generic tests
* Mark all CoreCLR Interop/COM projects OsSpecific
fanyang-mono [Thu, 23 Apr 2020 14:39:52 +0000 (10:39 -0400)]
Change to platform-specific typedef approach
Maira Wenzel [Thu, 23 Apr 2020 13:52:53 +0000 (06:52 -0700)]
Update docs links to 3.1 (#35309)
Stephen Toub [Thu, 23 Apr 2020 13:51:42 +0000 (09:51 -0400)]
Fix invalid cast in StringValues.this[int] (#35302)
vivekbm [Thu, 23 Apr 2020 13:50:34 +0000 (19:20 +0530)]
Updated assert statement to include a check for Timeout in FileSystem… (#35298)
* Updated assert statement to include a check for Timeout in FileSystem.Attributes.Windows
* fixes 28831
Added the check, the earlier commit had a syntax error.
Alexander Köplinger [Thu, 23 Apr 2020 12:56:38 +0000 (14:56 +0200)]
Update Android CI build image (#35333)
Includes newest Android NDK and defines the ANDROID_NDK_ROOT environment variable which is preferred to ANDROID_NDK_HOME.
Ryan Lucia [Thu, 23 Apr 2020 12:36:16 +0000 (08:36 -0400)]
[meta] Add GCHandle embedding API v2 with pointer-sized handles (#35197)
Jo Shields [Thu, 23 Apr 2020 12:22:49 +0000 (08:22 -0400)]
Build iOS AOT compiler against LLVM, always. (#35306)
Alexander Nikolaev [Thu, 23 Apr 2020 10:53:35 +0000 (12:53 +0200)]
Timeout increased to 10 miliseconds (#35289)
Timeout increased to 10 milliseconds in Timeout_TooShort_AllPendingOperationsCanceled
Fixes #32818
David Mason [Thu, 23 Apr 2020 10:43:06 +0000 (03:43 -0700)]
Merge pull request #35049 from k15tfu/fix-coreclr-profiler-path-arm-arm64
Fix handling CoreClr profiler path for 32/64 bit flavors on ARM/ARM64
Zoltan Varga [Thu, 23 Apr 2020 10:05:13 +0000 (06:05 -0400)]
Rename the 'WebAssembly' OS to 'Browser' and the RID to 'brows… (#35323)
Jan Jahoda [Thu, 23 Apr 2020 09:15:59 +0000 (11:15 +0200)]
enable Proxy_UseEnvironmentVariableToSetSystemProxy_RequestGoesThruProxy test (#34444)
* Disable test on windows and enable on other platforms
* enable test
* Add diag logs
* enhance logging
* Add body logging
* Add more logs
* Add logs to loopback server
* add trace
* Disallow run test on WinHttpHandler and remove logs
* Clean up
* rename variable
Andy Ayers [Thu, 23 Apr 2020 08:05:57 +0000 (01:05 -0700)]
JIT: revise how the jit tracks use of generics context (#34827)
The generics context is reported by the jit specially whenever it feeds into
runtime lookups, as expansion of those lookups can expose pointers into runtime
data structures, and we don't want those data structures to be collected if
jitted code is still using them.
Sometimes uses of the context are optimized away, and reporting costs
code size and GC space, so we don't want to report the context unless there
is an actual use.
This change revises how the jit keeps track of context use -- instead of trying
to incrementally ref count uses of the generics context, we now just leverage
existing passes which do local accounting.
Initial motivation for this came from #34641 where the context use was
over-reported, but investigation showed we also some times under-report as
the context var could be cloned without changing the ref count.
So this change fixes both under and over reporting.
Closes #34641.
Santiago Fernandez Madero [Thu, 23 Apr 2020 07:35:04 +0000 (00:35 -0700)]
Re-enable Windows 7 and Windows8.1 helix queues (#35211)
Swaroop Sridhar [Thu, 23 Apr 2020 06:47:05 +0000 (23:47 -0700)]
Json-Parse: Parse with `RapidJson::kParseStopWhenDoneFlag` on all architectures (#35073)
RapidJson's `kParseStopWhenDoneFlag` indicates that parsing should stop once the root element is parsed, and should not throw an error for any further content.
This flag is useful when the input stream doesn't always have a null-terminator --
ex: an input `bytestream` (rather than a `stringstream`), files embeded within the single file bundle.
The limitation of using this flag is that any actual random text after the root element is silently ignored.
Currently, RapidJson is invoked with `kParseStopWhenDoneFlag` on Windows, but not on Unix.
This caused `kParseErrorDocumentRootNotSingular` failure on Unix when parsing json files from single-file bundles.
This change fixes this problem by passing `kParseStopWhenDoneFlag` on all platforms.
This also makes the host behavior consistent across platforms.
Tarek Mahmoud Sayed [Thu, 23 Apr 2020 03:57:13 +0000 (20:57 -0700)]
System.Diagnostics Tracing APIs (#35220)
* System.Diagnostics Tracing APIs
* address the feedback
AlFas [Thu, 23 Apr 2020 00:53:07 +0000 (03:53 +0300)]
Optimize VectorX.Clamp according to proposed change (#34896)
* Optimize Vector4.Clamp according to proposed change
* Apply clamp optimizations to all vector types
Maoni Stephens [Thu, 23 Apr 2020 00:42:51 +0000 (17:42 -0700)]
more code cleanup (#35276)
mostly for gc_low/gc_high usage.
there is one functional change which is there's an incorrect assert in plan_phase which is not true when mark_list is used
Egor Bogatov [Wed, 22 Apr 2020 21:07:00 +0000 (00:07 +0300)]
[mono] Bundle all tests to *.app for iOS as part of -subset Libs.Tests (#35283)
* Build *.app for iOS as part of Libs.Tests subset
* Add `-test` support
* Reduce *.app size (from 45 to 32 mb)
Mitchell Hwang [Wed, 22 Apr 2020 21:00:47 +0000 (17:00 -0400)]
Mdhwang/reduce mobile checks (#35105)
* [eng] Add TargetsMobile Property to Subsets.props
* Replace TargetOS mobile conditions with TargetsMobile Property
* [libraries] Remove leftover condition`
Co-authored-by: Mitchell Hwang <mihw@microsoft.com>
Nathan Ricci [Wed, 22 Apr 2020 20:06:26 +0000 (16:06 -0400)]
Implemented cmd version of excludemonofailures parameter. (#35292)
Carol Eidt [Wed, 22 Apr 2020 19:25:39 +0000 (12:25 -0700)]
Fix SuperPmi MCS tool (#35290)
It currently errors out if it finds a method without `CORINFO_FLG_STATIC`, `CORINFO_FLG_DONT_INLINE` or `CORINFO_FLG_CONSTRUCTOR`. Also, it only prints the first attribute it encounters.
It's unclear to me how this ever worked, but in any case it isn't useful to fail to generate a map or IL dump.
Brian Sullivan [Wed, 22 Apr 2020 18:42:22 +0000 (11:42 -0700)]
GCPOLL and Natural loop fixes (#34837)
* Fixes for GCPoll and COMPLUS_GCPollType=3
* This is a combination of 2 commits.
Fix for a rare case where fgReorderBlocks splits the blocks for a natural loop
* Address Code review feedback from Aaron
Egor Chesakov [Wed, 22 Apr 2020 18:01:23 +0000 (11:01 -0700)]
[Arm64] Implement ASIMD Extract Insert ExtractVector64 ExtractVector128 (#35030)
* Implements Extract, Insert, ExtractVector64 and ExtractVector128 intrinsics.
* Implements a way to generate a fallback mechanism for intrinsics accepting an immediate operand when the operand is not constant.
* Renames NoContainment flag to SupportsContainment on Arm64 (presumably, there should be fewer intrinsics supporting containment analysis so it makes more sense to have NoContainment as default)
* Removes ival column from hwintrinsiclistarm64.h table and the corresponding field in HWIntrinsicInfo struct.
Tanner Gooding [Wed, 22 Apr 2020 17:21:52 +0000 (10:21 -0700)]
Remove the explicit IEquatable implementation from the IntPtr/UIntPtr reference API (#35256)
Sergey Andreenko [Wed, 22 Apr 2020 16:56:27 +0000 (09:56 -0700)]
Fix store/load float LCL_FIELD with unaligned offsets on arm32. (#34990)
* Fix arm32 access to unaligned float fields.
* Add an additional test for the issue.
* Reenable the test.
* We don't need to require 8 bytes alignment for double, 4 is enough.
* Add comments.
* Move `buildInternalRegisterUses` after we define all of them.
* Extract `IsOffsetMisaligned`.
* Fix for the `IND float(ADD byref(LCL_VAR byref, CNT_INT 1))`.
Alexander Nikolaev [Wed, 22 Apr 2020 16:07:42 +0000 (18:07 +0200)]
Ping timeout in SendPingWithIPAddress test increased to 10 seconds (#35286)
Ping timeout in SendPingWithIPAddress test increased to 10 seconds to prevent failures.