1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Commit graph

103617 commits

Author SHA1 Message Date
Mike McLaughlin
2fb35f9c13
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
2020-04-24 22:29:16 -07:00
Krzysztof Wicher
916c23aa3f apply another batch of feedback 2020-04-24 19:08:24 -07:00
Stephen Toub
6db7579aae
Fix typo in ManagedWebSocket comment 2020-04-24 21:09:26 -04:00
Bruce Forstall
201c3cea68
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
2020-04-24 17:35:32 -07:00
Aaron Robinson
0e37eebb78
Remove the Obsolete attribute from the various types that support COM events. (#35412)
Update tests to remove the suppression.
2020-04-24 17:24:42 -07:00
Levi Broderick
90cc6dff11
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
2020-04-24 16:45:21 -07:00
Bruce Forstall
8dc13298a8
Re-enable Windows arm32 testing of JIT stress modes (#34146) 2020-04-24 16:10:53 -07:00
Jan Vorlicek
3e87ca5f8d Fix OSX debug / checked build symbols
The strip command we invoke was stripping even the information that
is necessary for the debugger to find the separate .dwarf files,
so these symbol files had to be loaded manually into lldb. With
this fix, lldb loads them automatically.
2020-04-25 00:00:46 +02:00
Swaroop Sridhar
bfa10f1956
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.
2020-04-24 14:49:21 -07:00
Krzysztof Wicher
0336c667ae apply review feedback 2020-04-24 14:00:41 -07:00
Andy Ayers
af36c6d6cd
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.
2020-04-24 12:20:13 -07:00
Noah Falk
a8476a150a
Merge pull request #35234 from noahfalk/nopgoopt
Add build argument to suppress PGO
2020-04-24 12:13:32 -07:00
Eugene Rozenfeld
07f9134f21
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
2020-04-24 11:46:32 -07:00
Santiago Fernandez Madero
7f956090eb
Fix rolling builds (#35416) 2020-04-24 11:33:38 -07:00
Jan Vorlicek
67fd25d354 Enable stack overflow stack trace reporting on OSX
When the stack overflow stack trace logging to console was enabled recently,
it was not done for OSX. This change rectifies it.
2020-04-24 20:27:57 +02:00
Sven Boemer
ae9ddaf12b
Pick up renamed Microsoft.NET.ILLink.Tasks package (#35214) 2020-04-24 18:17:25 +00:00
Tanner Gooding
3736247219
Update the x86 hwintrinsic list to match the arm64 layout (#35364)
* Update the x86 hwintrinsic list to match the arm64 layout

* Applying formatting patch
2020-04-24 11:16:17 -07:00
Marek Safar
ed1b8aa3c5
Don't re-initialize static fields in Console (#35409)
the compiler is not capable removing the initialization
2020-04-24 14:14:15 -04:00
Stephen Toub
f73ceeeb18
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
2020-04-24 14:12:47 -04:00
Egor Bogatov
89d08de5d2
Implement BinaryPrimitives.ReverseEndianness for arm64 using rev (#34617)
* Implement GT_BSWAP for arm64

* Add GT_BSWAP16

* use TARGET_ARM64 in codegenarmarch.cpp
2020-04-24 10:35:36 -07:00
Tomáš Rylek
5959364086
Add runtimeFlavor parameter to build-test-job.yml (#35377) 2020-04-24 18:35:28 +02:00
Layomi Akinrinade
832267e7d8
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
2020-04-24 09:25:42 -07:00
Alexander Nikolaev
78127522e6
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
2020-04-24 18:21:19 +02:00
Adeel Mujahid
87706aeb49
Make C-lib math functions introspection more robust (#35325)
* Make atan2 introspection more robust

* Use volatile and variables for all math.h checks
2020-04-24 09:11:56 -07:00
Jan Vorlicek
08285b16f8
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.
2020-04-24 08:39:34 -07:00
Fan Yang
ede936d155
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>
2020-04-24 11:35:58 -04:00
Tom Deseyn
7c5114e141
Build warnings (#35404)
* Fix cmake warning about unmatched endif argument

* crossgen-corelib: fix empty mkdir warning
2020-04-24 08:33:42 -07:00
monojenkins
c74ea5ac1e
[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>
2020-04-24 17:16:04 +02:00
Jan Vorlicek
d12a038f19
Merge pull request #35403 from janvorli/update-unloadability-doc
Update unloadability doc based on recent changes
2020-04-24 16:47:02 +02:00
Nathan Ricci
64a95836ac
Removed unecessary download of mono product build. (#35287) 2020-04-24 10:36:54 -04:00
Jan Vorlicek
714692c322 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.
2020-04-24 14:56:29 +02:00
Fan Yang
0eadf6eca9
Update src/mono/mono/utils/mono-time.h
Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>
2020-04-24 08:18:51 -04:00
monojenkins
1ef04f8a08
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`.
2020-04-24 12:52:31 +02:00
Adeel
0dd3769c0c Fix PAL test build on non-Linux Unix platforms 2020-04-24 13:38:08 +03:00
Kenneth Pouncey
9af1c5e4b0
[wasm] Rename the browser targets to TargetsBrowser (#35390)
- The change also makes sure that the `TargetsBrowser` is used consistently.
   - example TargetsWebAssembly and TargetsWASM
2020-04-24 11:37:37 +02:00
Jan Vorlicek
a1aca9d003
Merge pull request #35363 from janvorli/fix-unloadability-tests
Fix failures in unloadability tests
2020-04-24 10:09:06 +02:00
monojenkins
e0a27ecc47
[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>
2020-04-24 09:47:09 +02:00
Zoltan Varga
4034228a3d
Add build configuration to generate runtime packs for WebAssem… (#34936) 2020-04-24 09:35:54 +02:00
Jan Kotas
b4439ca1fd
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.
2020-04-23 21:03:08 -07:00
fanyang-mono
f8d34f613b Fix failures on macOS 2020-04-23 23:20:14 -04:00
Aaron Robinson
7bb617ea6e
Fix nethost.h header file when consuming as a static lib. (#35373) 2020-04-23 19:53:07 -07:00
Andrew Au
6c57759a41
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
2020-04-23 19:30:44 -07:00
Steve MacLean
cce6883ec1
Revert "Build coreclr targetGeneric tests separately for CI (#34790)" (#35371)
This reverts commit 9188a5820c.
2020-04-24 01:15:05 +02:00
Sergey Andreenko
f781875451
Delete an extra new line when there is a child. (#35355) 2020-04-23 15:42:09 -07:00
Andy Ayers
b8283098f6
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.
2020-04-23 14:48:16 -07:00
Tomáš Rylek
19d26fc6c3
Fix some overlooked template moves in the YML templates (#35311) 2020-04-23 23:44:42 +02:00
fanyang-mono
27fb9438a7 Change header file name one more time 2020-04-23 16:33:03 -04:00
Jan Vorlicek
09c54dc15c 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.
2020-04-23 22:32:43 +02:00
Jan Vorlicek
a4ae12a83d
Merge pull request #35332 from janvorli/fix-runincontext-path
Fix incorrect path of the runincontext script in Helix
2020-04-23 22:26:19 +02:00
fanyang-mono
fbe4611d9a Change header file name 2020-04-23 16:23:09 -04:00