Konstantin Baladurin [Thu, 5 Oct 2017 10:07:31 +0000 (13:07 +0300)]
[SOS] Fix address types inconsistency (dotnet/coreclr#14188)
GetObjFieldOffset function expects that cdaObj and cdaMT arguments
have CLRDATA_ADDRESS type (sign-extended) but in some cases we
use TADDR instead of CLRDATA_ADDRESS that isn't sign-extended.
Due to it some SOS commands (for example DumpRuntimeTypes) don't
work on x86 and ARM32.
Commit migrated from https://github.com/dotnet/coreclr/commit/
076a61ef2eb3baf69182139f36b948f104e3b740
Konstantin Baladurin [Thu, 5 Oct 2017 08:31:44 +0000 (11:31 +0300)]
[x86/Linux][SOS] Fix clrstack command of lldb sosplugin on x86 (dotnet/coreclr#13973)
* [x86/Linux][SOS] Add support for x86 in GetContextFromFrame
It's need for 'clrstack -f' command of SOS plugin on x86.
* [x86/Linux] Fix RtlpGetFunctionEndAddress function
We should use PTR_UNWIND_INFO instead of PUNWIND_INFO for pointer to
UNWIND_INFO structure because it's pointer from other process and
we need to use DAC to read data using it.
* [x86/Linux][SOS] Define DEBUG_STACK_CONTEXT for x86
It's needed for 'clrstack -f' command in libsosplugin.
* [x86/Linux] Fix undefined references in libmscordbi.so on x86
Asm block like following:
__asm fnsave currentFPUState
where currentFPUState is structure works with MSVC but leads to
undefined reference currentFPUState in the binary with other
compilers. So rewrite such asm blocks for them.
This patch fixes error "Unable to load 'libmscordbi.so'" during
execution of 'clrstack -f' command of SOS plugin on x86.
* [x86/Linux] Fix calling convention inconsistency
WINAPI and STDAPI are defined as __cdecl but in some cases functions
with these attributes are called using stdcall calling convention.
It leads to crashes during execution of 'clrstack -i' command of
SOS plugin on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de4daccc1ea52ddc1ae8ac9e48cde603c507b868
mikedn [Thu, 5 Oct 2017 05:04:26 +0000 (08:04 +0300)]
Fix condition flags reuse optimization (dotnet/coreclr#14323)
This optimization is not valid for unsigned LT/LE/GT/GE relops. Using the Carry flag this way indicates that the operation overflowed, not that the result is less than 0, that's impossible for unsigned integers.
This is also not valid for signed LT/LE/GT/GE relops due to integer overflow.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0baa73f54eb0f7eba1364e207c02afa984760cb
Sergey Andreenko [Thu, 5 Oct 2017 04:34:26 +0000 (21:34 -0700)]
fgDebugCheckFlags should use OperMayThrow for all nodes. (dotnet/coreclr#14330)
GT_CATCH_ARG should not be marled as MayThrow.
Commit migrated from https://github.com/dotnet/coreclr/commit/
be23e23f76b37059db4756bd77f6feeb2eef2731
Bruce Forstall [Wed, 4 Oct 2017 23:29:46 +0000 (16:29 -0700)]
Tweaks for arm/arm64 altjit CI jobs (dotnet/coreclr#14306)
1. Make trigger phrase for default job include "Build And Test". Otherwise,
triggering a stress mode also causes the default job to be triggered.
2. Change the SetStressModes.bat creation command to be a single Jenkins
executed command, not multiple separate commands.
3. To aid debugging, display the resulting SetStressModes.bat script so it
gets captured in the run output log.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fafd08ca7db1b5535f2d472a2ed2d4a86abc26f9
Chris Rummel [Wed, 4 Oct 2017 22:02:48 +0000 (17:02 -0500)]
Merge pull request dotnet/coreclr#14328 from crummel/cmakeDocUpdate
Update official version of CMake.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff41d13691fd0e224d8632b683b731ffa7935820
Michelle McDaniel [Wed, 4 Oct 2017 21:50:47 +0000 (14:50 -0700)]
Merge pull request dotnet/coreclr#14315 from adiaaida/addPerfPipeline
Change name of perf-pipelinejobs to perf_pipelinejobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
58ea417e8a58706a448786f7fa606cdb22b8b6da
Chris Rummel [Wed, 4 Oct 2017 21:43:10 +0000 (16:43 -0500)]
Update official version of CMake.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6e921755d37877e399729713c771cf3d2fb3907
Bruce Forstall [Wed, 4 Oct 2017 21:09:03 +0000 (14:09 -0700)]
Merge pull request dotnet/coreclr#14307 from fiigii/removeavxflag
[RyuJIT] Remove FEATURE_AVX_SUPPORT flag
Commit migrated from https://github.com/dotnet/coreclr/commit/
76dcdad7c77705e99b4077d81cfd8f22c3d01711
Brian Sullivan [Wed, 4 Oct 2017 20:52:18 +0000 (13:52 -0700)]
Merge pull request dotnet/coreclr#14294 from sdmaclea/PR-ARM64-EMIT-Exclusives
[Arm64] Add LD/ST exclusive emitters
Commit migrated from https://github.com/dotnet/coreclr/commit/
b14731d7de804a1d895ceaca43c94e37d5e79780
Brian Sullivan [Wed, 4 Oct 2017 20:51:50 +0000 (13:51 -0700)]
Merge pull request dotnet/coreclr#14318 from sdmaclea/PR-Fix-jump-bind-typo
[Arm64] Fix emitJumpDistBind typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
e2e373f2b1b96dde833a905d03bf21143820b3fe
Brian Sullivan [Wed, 4 Oct 2017 20:51:10 +0000 (13:51 -0700)]
Merge pull request dotnet/coreclr#14293 from sdmaclea/PR-ARM64-SMUL-DIS
[Arm64] Fix smul[lh] disassembly
Commit migrated from https://github.com/dotnet/coreclr/commit/
90fba838752eaec0ba2ff3dfc74985a8ad9b10de
Jan Kotas [Wed, 4 Oct 2017 15:39:18 +0000 (08:39 -0700)]
Move String.Searching.cs to shared CoreLib partition (dotnet/corertdotnet/coreclr#4673)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
238907f69662dda53dee0afd9848756a5bb790e9
Brian Sullivan [Wed, 4 Oct 2017 19:18:02 +0000 (12:18 -0700)]
Merge pull request dotnet/coreclr#14325 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2de0bce49beeaf1bc6fcedd006114f4c8df7566a
Brian Sullivan [Wed, 4 Oct 2017 17:15:26 +0000 (10:15 -0700)]
Allow X86 Hardware intrinsics for non-Legacy 32-bit x86
Unit tests exisist for this functionality on x86 CoreCLR
[tfs-changeset: 1677287]
Commit migrated from https://github.com/dotnet/coreclr/commit/
44228205d9ce0c25d6f11638c17cfe07b1d7baab
Steve MacLean [Sat, 23 Sep 2017 05:10:20 +0000 (01:10 -0400)]
[Arm64] Fix emitJumpDistBind typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
406d2d6924e3df776ec4a57da0115d3514d81ff7
Steve MacLean [Tue, 3 Oct 2017 20:23:35 +0000 (16:23 -0400)]
[Arm64] Fix IF_LS_3D emitter
Commit migrated from https://github.com/dotnet/coreclr/commit/
fba51b04114bd0a8265455e32a33fdcb087124e2
Jan Kotas [Tue, 3 Oct 2017 23:25:20 +0000 (16:25 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#4663 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
65738239e7a50615d0fc50dcbe5b1b6086f96ef2
Stephen Toub [Wed, 4 Oct 2017 02:14:26 +0000 (22:14 -0400)]
Merge pull request dotnet/coreclr#14298 from stephentoub/stringconcat_char
Special-case T==char in string.Concat(IEnumerable<T>)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e67311def9f8eaf2dfad73df5090a63eb34c7f53
Stephen Toub [Wed, 4 Oct 2017 02:13:53 +0000 (22:13 -0400)]
Make CancellationTokenRegistration.Token public (dotnet/coreclr#14310)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f006e03151b32b87045718b3011a920fda93dba
Jan Vorlicek [Wed, 4 Oct 2017 01:35:12 +0000 (03:35 +0200)]
Fix broken ARM64 build (dotnet/coreclr#14313)
The std::max was being passed arguments of different types (int and DWORD).
Commit migrated from https://github.com/dotnet/coreclr/commit/
10f5a84bfd5a38000e34f8ed75150110bb9440de
Fei Peng [Tue, 3 Oct 2017 23:37:56 +0000 (16:37 -0700)]
remove FEATURE_AVX_SUPPORT flag
Commit migrated from https://github.com/dotnet/coreclr/commit/
2fcfb32883e14bffab0511274d4bad25eb8301f9
Tomas Weinfurt [Tue, 3 Oct 2017 23:42:14 +0000 (16:42 -0700)]
Few build changes to support Freebsd (dotnet/coreclr#14121)
* also look for python27
* add more locations to search for lldb.h so it just work on FreeBSD
* add adm64 to ARCH selection. This is mostly cosmetic to avoild warning on FreeBSD
* add support for -osgroup=XXX - this is mostly for conistency. -OSGroup=FreeBSD is similar to freebsdmscorlib in build.cmd
* fix typo adm->amd
* add back fi removed by mistake
* add __HostDistroRid for FreeBSD
* adress fedback from review: make python lookup consistent - starting with most specific version. uddate warning message about lldb.h and remove composite flag
* feedback from review: type and small change on OSGroup syntax
* few more minor fixes
Commit migrated from https://github.com/dotnet/coreclr/commit/
858f5e0658a63c39eaf14c34a2146a34950c387f
Michelle McDaniel [Tue, 3 Oct 2017 22:55:38 +0000 (15:55 -0700)]
Change name of perf-pipelinejobs to perf_pipelinejobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e4352c7a753ce06d679fa1a1f752e900a66b296
Jose Perez Rodriguez [Tue, 3 Oct 2017 22:21:52 +0000 (15:21 -0700)]
Update Buildtools and Roslyn (dotnet/coreclr#14228)
* Update Buildtools and Roslyn
* Fixing importing of the roslyn files on msbuild 14.0
* Correctly looking for the latest VS Installation
Commit migrated from https://github.com/dotnet/coreclr/commit/
aae414026671e3dc1ccf0f308d351ac04cc746a4
Brian Sullivan [Tue, 3 Oct 2017 21:58:17 +0000 (14:58 -0700)]
Fix for x86 JIT build break
[tfs-changeset: 1677224]
Commit migrated from https://github.com/dotnet/coreclr/commit/
f87c34ccfc93a35407ce15468ee490779ff8e6c0
Michelle McDaniel [Tue, 3 Oct 2017 21:53:56 +0000 (14:53 -0700)]
Merge pull request dotnet/coreclr#14312 from adiaaida/addPerfPipeline
Add empty perf pipeline job
Commit migrated from https://github.com/dotnet/coreclr/commit/
3716918ee67ea2e8d8271c9a214159e56687f043
Bruce Forstall [Tue, 3 Oct 2017 21:06:59 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#14295 from BruceForstall/FixArm64FastTailcallGSCookie
Put JIT64 compat assert under `_TARGET_AMD64_` ifdef
Commit migrated from https://github.com/dotnet/coreclr/commit/
790406c39e1ce3e0df8f557ae853caa2d7728c11
Michelle McDaniel [Tue, 3 Oct 2017 21:00:41 +0000 (14:00 -0700)]
Add empty perf pipeline job
This is step one of adding the pipeline job for performance runs. In
this change, we add perf-pipelinejobs.groovy, which defines what Jenkins
will see in the UI. perf-pipeline.groovy is basically an empty job, so
we can test the actual perf-pipeline work after this is checked in,
which is step two.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b19210d68ac8905c9017f8719010dd900b54c127
Stephen Toub [Tue, 3 Oct 2017 20:59:31 +0000 (16:59 -0400)]
Optimize Memory<T> to ReadOnlyMemory<T> cast (dotnet/coreclr#14309)
They have the same layout; we can just use Unsafe.As. In a microbenchmark that just repeatedly reads from a `Memory<byte>` field and writes it to a `ReadOnlyMemory<byte>` field, this doubles throughput.
Commit migrated from https://github.com/dotnet/coreclr/commit/
895a755d090ff04ed2e043e851dadc1c30f0cb35
Sergey Andreenko [Tue, 3 Oct 2017 20:38:02 +0000 (13:38 -0700)]
Fix IsSafeToContained. (dotnet/coreclr#14268)
When AliasSet adds a node, it should also add all its nodes that are
executed inside it (marked as contained).
Commit migrated from https://github.com/dotnet/coreclr/commit/
32bb7e16d5b741c12ed2388d44b5d736ae0ab240
Andy Ayers [Tue, 3 Oct 2017 20:29:00 +0000 (13:29 -0700)]
JIT: run type equality optimizations earlier (dotnet/coreclr#14244)
Refactor the type equality optimizations embedded in morph so that they can
also be invoked earlier, in particular, during importation. This allows the
importer to short-circut importing blocks that are provably unreachable. For
instance in generic methods with type specialization (via equality) the jit
will now selectively import just the applicable regions of the method. In some
cases this means the jit may avoid importing EH regions and so remove EH from
a specialized method all together.
Also, generalize the handle compare pattern to look through the handle indirs
that can arise when prejitting.
Running the type opts early also improves jit throughput a little.
Mark the embedded handle indirs as nonfaulting. Would also like to mark
them as invariant, but CSE gets overly enthusiastic and we see bad diffs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aadf2b0e2230d716b7c9b822ff7cd4f90364e9e0
t-jekor [Wed, 5 Jul 2017 17:44:15 +0000 (10:44 -0700)]
Enable CLR Thread Pool via a MSBuild flag (default enabled on Unix)
This PR completes, adds tests for, and enables the CLR Thread Pool on Unix. It also adds Windows implementations for the low level primitives used in the CLR Thread Pool.
The thread pool is enabled by setting the MSBuild property FeaturePortableThreadPool to true, which is the default on Unix.
Supersedes dotnet/coreclr#4039.
Rebased and squashed replacement for original PR dotnet/coreclr#4124.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e0b592dfafe7735d7eef23198b772a771817d5c
Jan Vorlicek [Tue, 3 Oct 2017 20:09:43 +0000 (22:09 +0200)]
Fix build with latest Xcode on OSX (dotnet/coreclr#14282)
* Fix build with latest Xcode on OSX
The latest Xcode 9 cannot successfully build CoreCLR PAL. There are
several issues. First, it complains that min / max macros cannot be defined
in C++ code, since they would collide with the std::min and std::max
functions. Second, some of the headers that PAL includes pull in declarations
of several template classes that we explicitly define in PAL and also
the new operator declaration.
To fix that, I have undefined the min and max macros for PAL and replaced
their usage by the std::min / max functions. I have also removed the manual
declaration of the colliding template classes and new operator and added
inclusion of the proper C++ headers instead.
The PAL was including non-pal safemath.h and to make this change compatible
with it, I have added definition of USE_STL that makes safemath.h include
type_trait from STL instead of our local trimmed copy.
I have also removed some dead code that I have discovered during the process.
Fixes dotnet/coreclr#14279
* Fix build on ARM32 and very recent GLIBCXX
Commit migrated from https://github.com/dotnet/coreclr/commit/
08d39ddf02c81c99bd49c19b808c855235cbabdc
Carol Eidt [Tue, 3 Oct 2017 19:24:49 +0000 (12:24 -0700)]
Merge pull request dotnet/coreclr#14292 from sdmaclea/PR-ARM64-Unreached
[Arm64] Fix TODO-Cleanup add unreached
Commit migrated from https://github.com/dotnet/coreclr/commit/
4cfd557c2d1e80123d5a37aaea00636ddcc7be49
Carol Eidt [Tue, 3 Oct 2017 19:07:20 +0000 (12:07 -0700)]
Merge pull request dotnet/coreclr#14027 from mikedn/simd-eq-opt
Simplify some relop/jtrue related optimizations
Commit migrated from https://github.com/dotnet/coreclr/commit/
a27c269770c0ecd5ad2ea9e7159fe64ae24d702a
Steve MacLean [Mon, 2 Oct 2017 22:30:01 +0000 (18:30 -0400)]
[Arm64] Fix smul[lh] disassembly
Commit migrated from https://github.com/dotnet/coreclr/commit/
70165e7e97ec395c648835773d79653737e9029b
Konstantin Baladurin [Tue, 3 Oct 2017 18:28:06 +0000 (21:28 +0300)]
[SOS] Use addresses without sign extension in lldb plugin (dotnet/coreclr#14009)
lldb doesn't expect sign-extended addresses so we need to convert
them before using with lldb API.
This patch allows to use SOS plugin for core files in lldb on 32-bit
platforms and also fixes output of the 'clrstack -f' command.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ad0b6a18fe24864ff11760e9b313a0d6dbe9d3b
Stephen Toub [Tue, 3 Oct 2017 15:29:06 +0000 (11:29 -0400)]
Special-case T==char in string.Concat(IEnumerable<T>)
This allows string.Concat to be used as an efficient mechanism for creating a `string` from an `IEnumerable<char>`. The JIT specializes the implementation for char vs non-char, so there's minimal impact on the non-char case, and for the char case, we a) avoid creating a string for each individual char, and b) use StringBuilder's fast path for adding individual chars. This can result in a massive allocation savings for long enumerations (for <= 1 char, there's no difference, but each character after that is an allocation saved), and for more than a few characters can yield up to a 2x increase in throughput.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5236ffd6679b3380327fd43cbc4fdfca208a0edd
Konstantin Baladurin [Tue, 3 Oct 2017 11:08:06 +0000 (14:08 +0300)]
[x86/Linux] Fix regdisplay initialization in case of WIN64EXCEPTIONS (dotnet/coreclr#14296)
Method Debugger::IsThreadAtSafePlaceWorker for x86 sets values only
for ControlPC and PCTAddr fields of REGDISPLAY but there is assert
in StackFrameIterator::Init that checks that field pCurrentContext
is not NULL if WIN64EXCEPTIONS is defined.
This patch uses FillRegDisplay function to correctly initialize
regdisplay in case of WIN64EXCEPTIONS.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8eb9adbe7f069638c1457b458c2c5a569eaaabf8
Bruce Forstall [Tue, 3 Oct 2017 03:03:00 +0000 (20:03 -0700)]
Put JIT64 compat assert under `_TARGET_AMD64_` ifdef
Fixes dotnet/coreclr#14205
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8f72d4e07bbed9beab7ac16f9744d425631a340
Sergey Andreenko [Tue, 3 Oct 2017 02:09:01 +0000 (19:09 -0700)]
delete the old workaround. (dotnet/coreclr#14288)
gcc is not supported.
Commit migrated from https://github.com/dotnet/coreclr/commit/
71f15df5a6d2c003f3c132b07a103a159d3831b5
Steve MacLean [Mon, 2 Oct 2017 22:19:29 +0000 (18:19 -0400)]
[Arm64] Add LD/ST exclusive emitters
Commit migrated from https://github.com/dotnet/coreclr/commit/
375107fade072f81e011c16e8a7ac68b58ccdd03
Bruce Forstall [Mon, 2 Oct 2017 23:29:45 +0000 (16:29 -0700)]
Merge pull request dotnet/coreclr#14220 from wateret/ryu-arm-bitcast-cleanup
[RyuJIT/arm32] Code cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
70b3c9e5dd35d898562e980d1e5b3349cc75d13e
Steve MacLean [Mon, 2 Oct 2017 22:41:07 +0000 (18:41 -0400)]
[Arm64] Fix TODO-Cleanup add unreached
Commit migrated from https://github.com/dotnet/coreclr/commit/
029da7011f300faf17e955b490def2832bc6df91
Hanjoung Lee [Mon, 2 Oct 2017 23:22:48 +0000 (08:22 +0900)]
Improve runtest.sh concurrency (dotnet/coreclr#14036)
* Imporove runtest.sh concurrency
`runtest.sh` runs next tests immediately after any of child processes is done
* Fix runtest.sh getting number of processors
For linux, check if `nproc` or `getconf` exists
when getting number of processors.
* Add tests that fail with OOM to unsupported list
Add several tests that consumes a lot of memory to unsupported test list(arm32).
This change is temporary until we properly handle these test with memory issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5643bfeb4b507a1d70465ddcf245a5866d331b38
Carol Eidt [Mon, 2 Oct 2017 20:44:10 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#14274 from fiigii/vexencoding
[RyuJIT] Fix VEX.vvvv for cvtss2sd and cvtsd2ss
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd7493440cefe9cdfb3648de99178e208f8df5df
Sean Gillespie [Mon, 2 Oct 2017 20:27:31 +0000 (13:27 -0700)]
Fix a jump over variable initialization (dotnet/coreclr#14286)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c9e96e1c2c484e7c80bf7f7a7765e6650cbdf73
Viktor Hofer [Mon, 2 Oct 2017 19:54:19 +0000 (21:54 +0200)]
Merge pull request dotnet/coreclr#14181 from ViktorHofer/MutexCodeCleanup
Mutex code cleanup and removal of unused types
Commit migrated from https://github.com/dotnet/coreclr/commit/
97e0093e0941e7d5650d3f705bae17f1041c839f
Stephen Toub [Mon, 2 Oct 2017 19:17:58 +0000 (15:17 -0400)]
Workaround GetSystemTimePreciseAsFileTime inaccuracies (dotnet/coreclr#14283)
* Workaround GetSystemTimePreciseAsFileTime inaccuracies
On misconfigured systems, GetSystemTimePreciseAsFileTime may drift quickly from GetSystemTimeAsFileTime. We want to use the former, though. As a workaround/heuristic, when checking whether we have GetSystemTimePreciseAsFileTime, invoke both and ensure they're "close", falling back to GetSystemTimeAsFileTime if it seems like the precise variant has run away.
* Update comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e8bc684c6e15591708d49a773183fb6cd9eda34
José Rivero [Mon, 2 Oct 2017 16:53:20 +0000 (09:53 -0700)]
Small bug fixes on "perf.groovy" (dotnet/coreclr#14259)
- `submission-metadata` option is `--user-email`, not `--user`
- We need to escape user input. On batch, " -> ""
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5d08755c552961640df581ff532e87d187a4be3
tvass83 [Mon, 2 Oct 2017 13:27:48 +0000 (15:27 +0200)]
The !DumpArray sos command emits invalid DML for array elements (dotnet/coreclr#13855)
Element Methodtable is reported correctly but for individual elements, the generated DML uses the MT of the array, not the element, thus giving incorrect results
Only value types are affected
0:007> !DumpArray /d
02b16574
Name:Â Â Â Â Â Â Â Â WindowsFormsApplication2_SOS_bug.Test[]
MethodTable:
011c82ec
EEClass:Â Â Â Â Â
011c8290
Size:Â Â Â Â Â Â Â Â 412(0x19c) bytes
Array:Â Â Â Â Â Â Â Rank 1, Number of elements 100, Type VALUETYPE
Element Methodtable:
011c824c
[0]
02b1657c => here is the problem
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb2064e5d8b621dad56db25ad7b1af9909b4b4a2
Mike Danes [Sun, 1 Oct 2017 10:53:42 +0000 (13:53 +0300)]
Move JCMP transform to LowerJTrue
Unlike many other relop transforms we do this one is only triggerred by the presence of a conditional branch (JTRUE) so it makes more sense to do it when lowering JTRUE nodes, avoids unnecessary calls to TryGetUse.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5402ec55b132188d9a04f30af9e814695409f913
Mike Danes [Fri, 29 Sep 2017 21:34:07 +0000 (00:34 +0300)]
Extend flag reuse optimization to all relops
Commit migrated from https://github.com/dotnet/coreclr/commit/
848fd7427f4abc718ece9a7d74deb7ea70720c3b
Mike Danes [Sun, 17 Sep 2017 21:26:58 +0000 (00:26 +0300)]
Reimplement compare flags reuse using SETCC/JCC
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1f8cd25e0b79bfdf4e3b7a595fa22bbf7bdae26
Mike Danes [Sun, 17 Sep 2017 09:49:10 +0000 (12:49 +0300)]
Simplify SIMD EQ/NE optimization
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b637a639e8b8972b0a17322cecb50bf0d99b7c6
Ahson Ahmed Khan [Sat, 30 Sep 2017 01:56:42 +0000 (18:56 -0700)]
Adding a patch to fix coreclr build for VS 15.5 (using older SDKs). (dotnet/coreclr#14272)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c90a41bb6b9b5c5cc7f8f29a9d06aa2f9d0e51fd
Fei Peng [Sat, 30 Sep 2017 00:35:34 +0000 (17:35 -0700)]
Fix VEX.vvvv for cvtss2sd and cvtsd2ss
Commit migrated from https://github.com/dotnet/coreclr/commit/
806de466073c81d0ae67829cc146a2b0ba1b7fab
Sergey [Fri, 29 Sep 2017 23:16:44 +0000 (02:16 +0300)]
StompWriteBarrier initialization path refactoring (dotnet/coreclr#14105)
* refactored arm, arm64, amd64 and x86 to signal about icache flush and ee restarts
* refactored gc init stage to stomp write barrier (hence flush icache) only once
* review fixes, care taken of icache invalidation during StompResize
* fixed heap boundaries initialization bug introduced after refactoring gc.cpp
* stylistic review fixe
* global variable rename
* global variable rename once more
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b10f0eb85d8e8ccdcf9b5e38e5dd372e241e24e
Mike McLaughlin [Fri, 29 Sep 2017 22:54:48 +0000 (15:54 -0700)]
Update build clang/llvm/lldb 3.9 (dotnet/coreclr#14096)
Update build scripts, docs and build pipeline docker images to clang/llvm/lldb 3.9
Commit migrated from https://github.com/dotnet/coreclr/commit/
32c46737c396afa05ab748fbcc243de7512c11ec
Borislav Ivanov [Fri, 29 Sep 2017 22:52:46 +0000 (01:52 +0300)]
Fix spelling errors (dotnet/coreclr#14218)
Fix some spelling errors and capitalization.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ed2739e1a9c6f621f800ba0ffd3a28797149a1b
Mike McLaughlin [Fri, 29 Sep 2017 22:50:10 +0000 (15:50 -0700)]
Add info on loading core dumps in lldb. (dotnet/coreclr#13955)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5dd0b008a62233d6d296268e931295a4f971ce44
Fei Peng [Sun, 24 Sep 2017 17:54:56 +0000 (10:54 -0700)]
Enable hardware intrinsic in debug and reflection
Commit migrated from https://github.com/dotnet/coreclr/commit/
03c5c252281325e5a7b94cec6a198946f903b359
Fei Peng [Fri, 15 Sep 2017 20:01:13 +0000 (13:01 -0700)]
Implement IsSuppoored for all ISA classes
Commit migrated from https://github.com/dotnet/coreclr/commit/
4252e77681840228d95318e920d649bb5b27ea82
Matt Galbraith [Fri, 29 Sep 2017 20:54:11 +0000 (13:54 -0700)]
Merge pull request dotnet/coreclr#14265 from MattGal/build_def_updates
Build definition publishing behavior tweaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
77eb81c4c5a72017b9fd95811e3e92adcb5a9d75
Matt Galbraith [Fri, 29 Sep 2017 20:04:55 +0000 (13:04 -0700)]
Build definition publishing behavior tweaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b9cf9e4cddf46e5ea37f93c8b8c43d3410c9878
Hyung-Kyu Choi [Fri, 29 Sep 2017 19:01:16 +0000 (04:01 +0900)]
[RyuJIT/ARM32] hotfix for a regression (dotnet/coreclr#14252)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
4082dee53d266770a769b50b396f36a06dbcc52f
Konstantin Baladurin [Fri, 29 Sep 2017 17:15:35 +0000 (20:15 +0300)]
[x86/Linux] Fix CopyREGDISPLAY for WIN64EXCEPTIONS (dotnet/coreclr#14254)
When WIN64EXCEPTIONS is defined, fields pCurrentContextPointers,
pCallerContextPointers, pCurrentContext and pCallerContext of the
REGDISPLAY are used. So we need to fix their values after coping.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2eed20ce511fa25085742d4aaffc29a3939e84dd
Konstantin Baladurin [Fri, 29 Sep 2017 14:03:17 +0000 (17:03 +0300)]
[x86/Linux][SOS] Fix DumpStack command output on x86 (dotnet/coreclr#14189)
On x86 DumpStack command doesn't print symbol information for
caller and callee. This patch fixes it and make output the same
as on AMD64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8a49ac3abce30092f51e397136098f9cdd9ba5f
Steve MacLean [Fri, 29 Sep 2017 12:10:32 +0000 (08:10 -0400)]
Allow cross machine re-crossgen (dotnet/coreclr#14241)
Commit migrated from https://github.com/dotnet/coreclr/commit/
581a8d93840212355fc467b3620b74b267df806e
Konstantin Baladurin [Fri, 29 Sep 2017 08:08:01 +0000 (11:08 +0300)]
[x86/Linux] Fix assert in HelperMethodFrame::UpdateRegDisplay (dotnet/coreclr#14235)
In some cases during execution of the SOS command 'clrstack -i'
portability assert in HelperMethodFrame::UpdateRegDisplay occurs.
This patch removes this assert and adds corresponding implementation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b49593f5ca1b3168a4ff947cbfc3d52a97671cb
Ahson Ahmed Khan [Fri, 29 Sep 2017 03:05:35 +0000 (20:05 -0700)]
Fixing Retain to return MemoryHandle with correct PinnedPointer (dotnet/coreclr#14248)
* Fixing Retain to return MemoryHandle with correct PinnedPointer.
* Make MemoryHandle AddOffset internal.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eab3a973346bf4bc5ddffc5201f862141a96b000
Roman Artemev [Fri, 29 Sep 2017 02:30:36 +0000 (19:30 -0700)]
Merge pull request dotnet/coreclr#14247 from rartemev/issue_13420
Fixed difference between produced code in CHK and REL modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
591983b2b475f9d2a08e29b5640d6a70b124d816
Kristian Hellang [Fri, 29 Sep 2017 01:12:24 +0000 (03:12 +0200)]
Added CopyToAsync overload using default buffer size (dotnet/coreclr#14219)
* Added CopyToAsync overload using default buffer size
* Address feedback
* Added comment about overrides and argument validation
* Renamed helper method to GetCopyBufferSize
To convey that this method should only be used for
getting a buffer size to be passed to CopyTo{Async}.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b78107d55e4e53805630099f3aa875e6a1273959
Roman Artemev [Fri, 29 Sep 2017 00:22:08 +0000 (17:22 -0700)]
Fixed differenece between produced code in CHK and REL modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
2cb0faedbe72e05c8e9620c74b54a22eecf4ac2a
Sergey Andreenko [Thu, 28 Sep 2017 23:16:06 +0000 (16:16 -0700)]
ignore GT_ARGPLACE before gtUseNum check. (dotnet/coreclr#14233)
Commit migrated from https://github.com/dotnet/coreclr/commit/
322b440079db0e61fdd9aba3d95891a1d3d00d0d
Sergey Andreenko [Thu, 28 Sep 2017 17:37:15 +0000 (10:37 -0700)]
Add the capability to force JIT options on the SPMI command line. (dotnet/coreclr#14209)
expand the grammar for jit{,2}option to -jitoption [force] key=value
Commit migrated from https://github.com/dotnet/coreclr/commit/
212a6baa708f40e25860581557b3dda717b709d9
Konstantin Baladurin [Thu, 28 Sep 2017 16:26:39 +0000 (19:26 +0300)]
[x86/Linux] Fix typo in SetDebuggerREGDISPLAYFromREGDISPLAY (dotnet/coreclr#14221)
Fix typo in SetDebuggerREGDISPLAYFromREGDISPLAY: Esi -> Eax.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a17ae10d45db4731071e9a450178933b6d9d1f5
Carol Eidt [Thu, 28 Sep 2017 16:00:16 +0000 (09:00 -0700)]
Merge pull request dotnet/coreclr#14225 from fiigii/falsedependency
[RyuJIT] Fix bad VEX encoding to avoid false register dependency
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8b5f537bcb234d1df53445e13f187cadb186c37
Andy Ayers [Thu, 28 Sep 2017 14:56:24 +0000 (07:56 -0700)]
JIT: have gtClone handle long constants (dotnet/coreclr#14201)
The `Enum.HasFlag` opt needs to clone the enum values, and they
can be long constants. Make sure `gtClone` handles this case.
Closes dotnet/coreclr#14149.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec160a4bed52ac7c6aff3a87c0846c1da228936a
Bruce Forstall [Thu, 28 Sep 2017 05:16:27 +0000 (22:16 -0700)]
Merge pull request dotnet/coreclr#14232 from BruceForstall/Fix14196
Fix issue with HFA altjit api
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dcf8488e71c79c879bb0212bc2211e35e211321
Fei Peng [Wed, 27 Sep 2017 17:33:18 +0000 (10:33 -0700)]
fix bad VEX.vvvv to avoid false register dependency
Commit migrated from https://github.com/dotnet/coreclr/commit/
57c40213c0bdce1babcaefb1e66ef4f2b106e58d
Brian Sullivan [Thu, 28 Sep 2017 00:28:42 +0000 (17:28 -0700)]
Merge pull request dotnet/coreclr#14192 from sdmaclea/PR-ARM64-JCMP
[Arm64] Add GT_JCMP node
Commit migrated from https://github.com/dotnet/coreclr/commit/
00bce3384795a4f6fc56f5fa9a0bbdac3c1e892f
Hanjoung Lee [Wed, 27 Sep 2017 11:04:03 +0000 (20:04 +0900)]
[RyuJIT/arm32] Code cleanup
- Add an assertion for double type arg regs for armel
- Merge two if statements that have same body
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8c8f0041c680c1dbdf82321a6f987e57e93b85f
Viktor Hofer [Wed, 27 Sep 2017 23:10:40 +0000 (01:10 +0200)]
Merge pull request dotnet/coreclr#14231 from fiigii/fixintrinsic
fix bugs from dotnet/coreclr#14164
Commit migrated from https://github.com/dotnet/coreclr/commit/
d113b5fd56d49ff7ed3cb9b34cc122676026d240
William Godbe [Wed, 27 Sep 2017 23:07:07 +0000 (16:07 -0700)]
Merge pull request dotnet/coreclr#14234 from dotnet/ConditionLoc
Move Condition location in dotnet-trusted-publish
Commit migrated from https://github.com/dotnet/coreclr/commit/
d450f23430dad8af47264f02bf8987be38fc2377
William Godbe [Wed, 27 Sep 2017 23:03:35 +0000 (16:03 -0700)]
Move Condition location in dotnet-trusted-publish
Commit migrated from https://github.com/dotnet/coreclr/commit/
377dfa1ca07959f460705c7831edf24e46ba3b33
Viktor Hofer [Wed, 27 Sep 2017 22:52:49 +0000 (00:52 +0200)]
nit pr feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
6626baf81d9eb4fe27225c1593a457f8ec1745b4
Bruce Forstall [Wed, 27 Sep 2017 21:42:04 +0000 (14:42 -0700)]
Fix issue with HFA altjit api
One case in the Interop\ArrayMarshalling\ByValArray\MarshalArrayByValTest\MarshalArrayByValTest.cmd
test marshals an array of strings as members of a struct. The !FEATURE_HFA
code for IsHFA() needs to check for value type before calling CheckForHFA(),
which will assert if it is not a value type.
Fixes dotnet/coreclr#14196.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83124c7aaf7f4236e24f4c4fde3863f1736f7d47
Steve MacLean [Wed, 27 Sep 2017 21:16:51 +0000 (17:16 -0400)]
[Arm64] Respond to feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
932b8b5cdd0fda242dfd183599a7e022bc2b66e3
Fei Peng [Wed, 27 Sep 2017 21:28:07 +0000 (14:28 -0700)]
fix bug from dotnet/coreclr#14164
Commit migrated from https://github.com/dotnet/coreclr/commit/
8592fa1f3386cc9646154d16dadd0f8133debdf5
Ahson Ahmed Khan [Wed, 27 Sep 2017 21:21:28 +0000 (14:21 -0700)]
Adding {RO}Memory<T> debugger view (dotnet/coreclr#14130)
* Adding memory debugger view and fixing ToArray impl.
* Addressing PR feedback and adding span debugger display string.
* Adding link to specific VSTS instance.
* Removing redundant info in comments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e8fd361f3df5911d46778ba79697e2ec66845aa
William Godbe [Wed, 27 Sep 2017 21:14:40 +0000 (14:14 -0700)]
Merge pull request dotnet/coreclr#14230 from dotnet/CondInjection
Condition Injection on SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f455e83b431c093a0281a8de69333f2eba1f463
William Godbe [Wed, 27 Sep 2017 21:13:27 +0000 (14:13 -0700)]
Condition Injection on SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbec18efc6f99144499c6dd6f6d5e7511bc2f37d
William Godbe [Wed, 27 Sep 2017 20:44:39 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#14229 from dotnet/PB_Fix
Change PB_ConfigurationGroup to ConfigurationGroup
Commit migrated from https://github.com/dotnet/coreclr/commit/
0dc72a58d49ef7b05093c141972de60f7d658412
William Godbe [Wed, 27 Sep 2017 20:44:07 +0000 (13:44 -0700)]
Update DotNet-Trusted-Publish.json
Commit migrated from https://github.com/dotnet/coreclr/commit/
d013e3ba9e02ca192e8781614b80be224cefd37d
Jan Kotas [Tue, 26 Sep 2017 00:17:20 +0000 (17:17 -0700)]
Fix modf and fmod casing for consistency
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ade034c829a38a656cbe52a96fbfc98275bbc46
Sergey Andreenko [Wed, 27 Sep 2017 19:00:33 +0000 (12:00 -0700)]
[Jit] fix DevDiv_499435 (dotnet/coreclr#14179)
fix DevDiv_499435
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb2f5e780f7e0c12afb65261790fe84b2f02462e
William Godbe [Wed, 27 Sep 2017 18:26:16 +0000 (11:26 -0700)]
Merge pull request dotnet/coreclr#14226 from dotnet/SymbolPkgInject
Conditionally Inject signed symbol packages on SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
f363e64c5f72f30b47d205c342f256f7cc615a01
William Godbe [Wed, 27 Sep 2017 18:12:04 +0000 (11:12 -0700)]
Conditionally Inject signed symbol packages on SignType
Commit migrated from https://github.com/dotnet/coreclr/commit/
074e63ef162618153140a754845ea435bc82a017