Mike Danes [Wed, 15 Jun 2016 18:06:36 +0000 (21:06 +0300)]
Remove useless gtSetFlags calls
For xarch `gtSetFlags` returns true and that makes `genIntToIntCast` use an `and` instruction instead of `mov`/`movzx`. This serves no purpose as no code ever calls `gtRequestSetFlags` on cast nodes nor does `GT_JTRUE` expects a cast node as its operand.
`gtSetFlags` seems to be a leftover from the legacy codegen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
845d34814cbe4f0f8cd342d04bd47fc7ef1c79b2
Maoni Stephens [Wed, 15 Jun 2016 00:38:55 +0000 (17:38 -0700)]
Merge pull request dotnet/coreclr#5773 from Maoni0/grow_card_2
Making the fix of runtime suspension check complete
Commit migrated from https://github.com/dotnet/coreclr/commit/
488c377745cd2cbdfac711d2199dfeefeb24c5f1
Jan Kotas [Wed, 15 Jun 2016 00:33:12 +0000 (17:33 -0700)]
Merge pull request dotnet/coreclr#5803 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ea104961f899c3b092bf958fa21a7e07e493c09
Maoni0 [Mon, 13 Jun 2016 21:57:12 +0000 (14:57 -0700)]
My last fix of checking whether the runtime was suspended was incomplete.
I needed to check at the 3 other places. Before the software write watch
implementation, this check was in the write barrier code itself and was
doing the right thing. So I am just using the same thing (ie, IsGCThread)
to check whether the runtime is suspended.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1aeb18e104cf02439c948ab5f20cf4bc8a27b03
Jan Kotas [Tue, 14 Jun 2016 22:48:53 +0000 (15:48 -0700)]
Fix full framework build break
[tfs-changeset: 1612754]
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b01b5fb1c61b62ab0bf4f9e9fb33f55cfa85a08
William Godbe [Tue, 14 Jun 2016 21:18:36 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#5798 from wtgodbe/remCovr
Remove unecessary coverage arg passed to coreclr test run
Commit migrated from https://github.com/dotnet/coreclr/commit/
7516e0cce43f41ffef1f3d6c4eaaef3265a76dbe
wtgodbe [Tue, 14 Jun 2016 21:06:45 +0000 (14:06 -0700)]
Remove unecessary coverage arg passed to coreclr test run
Commit migrated from https://github.com/dotnet/coreclr/commit/
8442c3e1881315d207404e1e3e99840b15fc4e9f
Peter Jas [Tue, 14 Jun 2016 20:56:27 +0000 (23:56 +0300)]
Add missing inttypes header for musl-libc (dotnet/coreclr#5729)
Also replaced the usages of `__unit64_t` and `__int64_t` with
`uint64_t` and `int64_t` respectively.
Commit migrated from https://github.com/dotnet/coreclr/commit/
453b4e92c5f37e0ca88f6e32e5cc10c124fd678d
Sean Gillespie [Tue, 14 Jun 2016 19:59:10 +0000 (12:59 -0700)]
Merge pull request dotnet/coreclr#5791 from swgillespie/bash-bracket
Fix bracket spacing in runtest script
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea91d468a7f6f2aa9306e9215dfd2686835c978b
Jan Kotas [Tue, 14 Jun 2016 19:21:45 +0000 (12:21 -0700)]
Fix incorrect buffer limits in Module.FullyQualifiedName QCall (dotnet/coreclr#5753)
Commit migrated from https://github.com/dotnet/coreclr/commit/
45c827a17a746c5caba200594021ddb38743a711
Wes Haggard [Tue, 14 Jun 2016 18:33:21 +0000 (11:33 -0700)]
Merge pull request dotnet/coreclr#5695 from AlexGhiondea/DefaultToLatest
Default to latest behavior when a TFM is not specified
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c92c1d4c67a149faafd5d79536b0e15fed60fba
William Godbe [Tue, 14 Jun 2016 17:49:02 +0000 (10:49 -0700)]
Merge pull request dotnet/coreclr#5792 from wtgodbe/groovyQuote
Remove extra quote from runtest arg in coverage job
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb9faf936f1c390acc41df122fe250a8a2af51c9
wtgodbe [Tue, 14 Jun 2016 17:45:49 +0000 (10:45 -0700)]
Remove extra quote from runtest arg in coverage job
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca511a4b87db7792d4040ea61850348caa114744
Sean Gillespie [Tue, 14 Jun 2016 17:40:21 +0000 (10:40 -0700)]
Fix bracket spacing in runtest script
Commit migrated from https://github.com/dotnet/coreclr/commit/
c93aaa4970c35bf1b70d23a4e28323fa3b353be8
Kyungwoo Lee [Tue, 14 Jun 2016 17:00:20 +0000 (10:00 -0700)]
Merge pull request dotnet/coreclr#5789 from kyulee1/fixgchole
ARM64: Fix a GC hole for Indirect Branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
44ad10cdc8bb87814c049f1cc51bab73048424fb
Wes Haggard [Tue, 14 Jun 2016 15:48:40 +0000 (08:48 -0700)]
Merge pull request dotnet/coreclr#5787 from dotnet-bot/UpdateDependencies20160614051831
Updating External dependencies to rc4-24214-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
723196a772320381c0d2117c5fa9177ee0b38224
Kyungwoo Lee [Tue, 14 Jun 2016 14:50:40 +0000 (07:50 -0700)]
ARM64: Fix a GC hole for Indirect Branch
`br reg` was handled like a regular call under `IF_BR_1B` resulting in
`emitOutputCall` which updates GC vars/regs.
This is only true when this branch is used for a tail-call.
We used the same logic for indirect jump for switch expansion, which is
incorrect.
The fix is to correct instruction category so that such indirect jump is
handled same as an normal instruction under `IF_BR_1A`.
This fixes a part of https://github.com/dotnet/coreclr/issues/4877.
The failing point from the description is now passed, but still another
consistency failure far later on after tests are discovered/started.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8975060bd5ef7ab2b0bd9f4b34d89cba1130a6b3
Peter Jas [Tue, 14 Jun 2016 12:19:40 +0000 (15:19 +0300)]
Link libintl in case of Alpine (dotnet/coreclr#5731)
This delta detects Alpine Linux by using `uname -v` (kernel version)
and add the `libintl` in the linker list. This is because `gettext` is
not part of (per-installed in) Alpine Linux but available via the
package manager. To build CoreCLR, `gettext-dev` is one unlisted
per-requisite.
Commit migrated from https://github.com/dotnet/coreclr/commit/
11a5971485bf7acad656b9ba9f8514e121da4bf1
dotnet-bot [Tue, 14 Jun 2016 05:18:31 +0000 (05:18 +0000)]
Updating External dependencies to rc4-24214-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
c19e26f614bd29daec59129b5edca349f81f732d
Jan Kotas [Tue, 14 Jun 2016 02:33:53 +0000 (19:33 -0700)]
Refactor MethodTable::ContainsStackPtr (dotnet/coreclr#5754)
- Rename ContainsStackPtr to IsByRefLike. It is the term used for this kind of types in ECMA spec.
- Change the check to be based on flag instead of hard coded list of types
- Remove redundant unused method of the same name on EEClass
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f7d8276e65059a37001aaa5ce9af7e82249f4a0
Jan Vorlicek [Mon, 13 Jun 2016 23:11:09 +0000 (01:11 +0200)]
Fix PAL executable allocator locking (dotnet/coreclr#5770)
We call the ExecutableAllocator from two places in PAL. One is the
VirtualAlloc when the allocation type contains MEM_RESERVE_EXECUTABLE.
The other is MAPMapPEFile.
While the former is called inside of the virtual_critsec critical section,
the latter doesn't take that critical section and so in some race cases,
we were returning the same address twice - once for VirtualAlloc and
once for MAPMapPEFile. That resulted in strange memory corruption cases.
The fix is to use the same critical section for the MAPMapPEFile too.
I am also reverting the change in the virtual commit that was made when
we have thought that the culprit might be in the mprotect.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3676dd03e21501c7565c8b402a21d4f5a1428c6
Kshama Pawar [Mon, 13 Jun 2016 22:48:02 +0000 (15:48 -0700)]
Merge pull request dotnet/coreclr#5702 from mjsabby/master
Add Profiling APIs that fail on non-Windows OS
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0e2f7ebec30be026153fac8f14999e92b196df0
Jarret Shook [Mon, 13 Jun 2016 20:23:57 +0000 (13:23 -0700)]
Merge pull request dotnet/coreclr#5766 from dotnet/revert-5680-devel/arm-ci-cross-build
Revert "ARM-CI: Convert Linux ARM emulator CI check to cross build"
Commit migrated from https://github.com/dotnet/coreclr/commit/
15643e98e3e17e13cfa3876cebbc5ad5c1091435
Matt Mitchell [Mon, 13 Jun 2016 20:20:46 +0000 (13:20 -0700)]
Revert "ARM-CI: Convert Linux ARM emulator CI check to cross build"
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf7c58c9b5ef79f38b941b94e1178189dfeb91e3
William Godbe [Mon, 13 Jun 2016 20:08:10 +0000 (13:08 -0700)]
Merge pull request dotnet/coreclr#5764 from wtgodbe/coverage
Update coverage test to have correct configuration for coreFX tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
492d7243969f18bd2369880bddcb12c6e0cae8ed
Sean Gillespie [Mon, 13 Jun 2016 20:04:37 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#5762 from swgillespie/ci-longgc
Pass --long-gc and --gcsimulator to long GC and GCSimulator CI jobs, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f0e956dda5b2463afdf81bd57932e07e4b1268b
wtgodbe [Mon, 13 Jun 2016 20:03:46 +0000 (13:03 -0700)]
Update coverage test to have correct configuration for coreFX tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea38b376f0a1b2d4afc6e145374a53e594810504
Jan Kotas [Mon, 13 Jun 2016 19:46:15 +0000 (12:46 -0700)]
Delete bad assert (dotnet/coreclr#5757)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e31c3264304b1401476b7a1eca35dd32cf983640
William Godbe [Mon, 13 Jun 2016 18:37:38 +0000 (11:37 -0700)]
Merge pull request dotnet/coreclr#5713 from wtgodbe/mutex
Keep mutex alive to avoid race condition in openmutexpos4 test
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ffd7279f2242be6d4b27d1fdb3f04d5947bf1d1
Jan Kotas [Mon, 13 Jun 2016 18:01:02 +0000 (11:01 -0700)]
Delete unnecessary cruft from internal mscorlib reference assembly (dotnet/coreclr#5756)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac9b3352573bfbc72dc6b01200825f3b0cb34a94
Sean Gillespie [Mon, 13 Jun 2016 17:36:12 +0000 (10:36 -0700)]
Pass --long-gc and --gcsimulator to long GC and GCSimulator CI jobs, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
f522b5087d98ac18817c88212fd6d5fd10eda68b
wtgodbe [Fri, 10 Jun 2016 22:57:07 +0000 (15:57 -0700)]
Keep mutex alive to avoid race condition in openmutexpos4 test
Commit migrated from https://github.com/dotnet/coreclr/commit/
616afb6d1f67062b012e988383df7e1b0032aefe
James Ko [Mon, 13 Jun 2016 01:41:33 +0000 (21:41 -0400)]
Specialize Comparer<T> for enums to avoid boxing (dotnet/coreclr#5503)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6cd99c01e8d206ac9b33844857e98753dd61dd8
Jan Kotas [Sun, 12 Jun 2016 14:18:22 +0000 (07:18 -0700)]
Partial revert "Fix problem with virtual memory commit in OOM scenario on Linux (dotnet/coreclr#5609)" (dotnet/coreclr#5744)
dotnet/coreclr#5609 is suspect to cause intermittent crashes on OS X. Keep the fix for Linux, but revert to using the original code on OS X.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de69718b1500d1d41c450bd61ab81c9eca152ffe
Jan Kotas [Sun, 12 Jun 2016 04:27:51 +0000 (21:27 -0700)]
Undo StompWriteBarrierResize reordering (dotnet/coreclr#5740)
The recent commit introduced race by changing where StompWriteBarrierResize is called relative to other global state updates. Revert this change to fix the intermittent crashes that we are seeing because of that. We will look at fixing the theoretical problem that this reordering was trying to address in better way separately.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63d9a2e9ecffa27e15c31856868b76e2055aee87
Peter Jas [Sun, 12 Jun 2016 02:00:54 +0000 (05:00 +0300)]
Add check for gnu/lib-names.h (dotnet/coreclr#5727)
The header `<gnu/lib-names.h>` is not present on musl-libc based OSes.
Those names are not listed in any system header and this is deemed
irrelevant to have such a header in musl according to:
http://www.openwall.com/lists/musl/2013/11/09/1
Commit migrated from https://github.com/dotnet/coreclr/commit/
af687f4600df72a103b1e0bb83d2b26a1d26a499
Peter Jas [Sun, 12 Jun 2016 01:59:50 +0000 (04:59 +0300)]
Check for unavailable cache-size macro (dotnet/coreclr#5728)
In musl-libc world _SC_LEVEL1_DCACHE_SIZE is undefined.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d85c8560b06a5df27aef342a9f94fa33c2ec03b8
Jan Kotas [Sun, 12 Jun 2016 01:59:28 +0000 (18:59 -0700)]
Correct comment (dotnet/coreclr#5738)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0d17dcf18ca4e62b8cd10427d8b7c6cf5a26da1
Vance Morrison [Sat, 11 Jun 2016 19:37:08 +0000 (12:37 -0700)]
Merge pull request dotnet/coreclr#5544 from vancem/EtwSessionFix
Fix a problem where stale old, closed ETW sessions might be turned on.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e54f44cc1736cea6c636f5138c733879d4dd1c2
Peter Jas [Sat, 11 Jun 2016 18:23:03 +0000 (21:23 +0300)]
Typedef __ptrace_request for musl-libc (dotnet/coreclr#5730)
Ref: http://www.openwall.com/lists/musl/2015/10/01/3
Commit migrated from https://github.com/dotnet/coreclr/commit/
7261cf7f5e6abd89add023dbcf5c1bc9ccac67b6
Peter Jas [Sat, 11 Jun 2016 18:05:47 +0000 (21:05 +0300)]
Add check for sys/sysctl.h (dotnet/coreclr#5726)
On some operating systems `<sys/sysctl.h>`is not present yet `sysct`
function in available. One example is Alpine Linux which uses musl-libc
as opposed to GNU libc.
Ref: dotnet/corefxdotnet/coreclr#6253
Commit migrated from https://github.com/dotnet/coreclr/commit/
0eafec3e1065ba68c10f065d2713aaea0f75c160
Mukul Sabharwal [Fri, 10 Jun 2016 20:36:07 +0000 (13:36 -0700)]
Add Profiling APIs that fail on non-Windows OS
Commit migrated from https://github.com/dotnet/coreclr/commit/
5938c8da43cc179f6965f30f18d32d25c5fffd98
Jan Kotas [Sat, 11 Jun 2016 14:49:03 +0000 (07:49 -0700)]
Do not use fragile native image content when generating R2R images (dotnet/coreclr#5715)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e266aff51403794bb2bd925a7ebb1ea53b119575
Jonghyun Park [Sat, 11 Jun 2016 13:30:10 +0000 (22:30 +0900)]
Updates tryrun.cmake for ARM / ARM (softfp) (dotnet/coreclr#5673)
While fixing dotnet/coreclr#5316 (PR dotnet/coreclr#5317, PR dotnet/coreclr#5323), all the features related with PROCFS
are disabled in ARM and ARM (softfp) cross build.
As a result, the collision avodance logic in GetProcessIdDisambiguationKey is disabled,
which leads to random coreclr_initialize failures
(CLR failed to initialize itself when the previous execution of CLR with the same PID
abnormally terminates)
This commit tries to re-enable the relevant features for ARM and ARM (softfp) cross-build.
Since the ARM/Linux emulator (which is the current reference in use) supports
/proc/self/stat, /proc/self/status, /proc/self/maps, this commit re-enables
three relevant features (HAVE_PROCFS_STAT, HAVE_PROCFS_STATUS, HAVE_PROCFS_MAPS).
This commit tries to fix dotnet/coreclr#5583.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c265ae38157f8543f9100c5f076d4dfa953766c7
Justin Van Patten [Sat, 11 Jun 2016 13:07:56 +0000 (06:07 -0700)]
JapaneseCalendar: Use Registry.LocalMachine instead of RegistryKey.GetBaseKey(RegistryKey.HKEY_LOCAL_MACHINE) (dotnet/coreclr#5725)
JapaneseCalendar is the only code outside of the Registry code that
calls RegistryKey.GetBaseKey(RegistryKey.HKEY_LOCAL_MACHINE) to get a
RegistryKey instance for the local machine hive. Everywhere else uses
Registry.LocalMachine. Update JapaneseCalendar to match, which also
avoids the unnecessary RegistryKey/SafeRegistryHandle allocations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
59e0c0e5ac45986e8345043f53198f16a44191b4
Jarret Shook [Sat, 11 Jun 2016 13:07:39 +0000 (06:07 -0700)]
Merge pull request dotnet/coreclr#5680 from prajwal-aithal/devel/arm-ci-cross-build
ARM-CI: Convert Linux ARM emulator CI check to cross build
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c7ac3bc7cf532ce4d6dd75909439bd69f871de8
Justin Van Patten [Sat, 11 Jun 2016 13:06:22 +0000 (06:06 -0700)]
Remove obsolete Registry.DynData field from System.Private.CoreLib (dotnet/coreclr#5724)
Registry is internal in System.Private.CoreLib due to being pulled-in
by the dependency closure. The obsolete DynData field is only valid
on Win9X, so there's no need to allocate it and keep it around in
CoreCLR. Remove it from System.Private.CoreLib with an ifdef, along
with other references to the HKEY_DYN_DATA hive.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0af0ffb17e428a3570e1ae55bfcceb78bdc8eb93
Prajwal A N [Fri, 10 Jun 2016 06:03:16 +0000 (15:03 +0900)]
ARM-CI: Convert Linux ARM emulator CI check to cross build
* Previously used emulated build took a lot of time leading to timeout errors
* Changing this CI check to build using cross build
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
8770667916f3a87279b1871221341f6ef55755f8
Justin Van Patten [Sat, 11 Jun 2016 05:15:43 +0000 (22:15 -0700)]
Remove non-generic Stack from System.Private.CoreLib (dotnet/coreclr#5703)
The non-generic Stack class only exists internally in
System.Private.CoreLib because it is being used in the Environment
class in one place for resource lookup and therefore is being
pulled-in by the dependency closure. It can be removed by using
List<string> instead.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9af15d39772b66ebe6d15d60a8737f46a07beb49
Koundinya Veluri [Sat, 11 Jun 2016 01:43:31 +0000 (18:43 -0700)]
Merge pull request dotnet/coreclr#5707 from kouvel/BgMarkFreeObjectAdvanceFix
Fix for GC hole when using software write watch
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fe4507d7f241745b0701f76c7bed3d1a91f3ebe
Andy Ayers [Fri, 10 Jun 2016 22:04:15 +0000 (15:04 -0700)]
Merge pull request dotnet/coreclr#5692 from AndyAyersMS/DerministicCrypto
Modify Crypto benchmark so it uses a fixed random seed
Commit migrated from https://github.com/dotnet/coreclr/commit/
639803f50346e495d25b096cb49b4a06273f7c63
Jan Vorlicek [Fri, 10 Jun 2016 21:44:24 +0000 (23:44 +0200)]
Fix rethrow of managed exception from native code (dotnet/coreclr#5697)
This change fixes a problem that happens when managed exception is caught
in native code, rethrown and then caught and passed to DispatchManagedException
to be propagated further through managed code frames.
The problem is that while the exception was rethrown, it still has the
TargetFrameSp member set to the frame that has caught it and so the
DispatchManagedException thinks it is just continuing to propagate it in the
second pass instead of starting a new first pass.
The UnwindManagedExceptionPass2 then asserts, because the TargetFrameSp is
below the frame it is about to process.
The fix is to reset the TargetFrameSp to NoTargetFrameSp when the exception
is caught in native code - in PAL_EXCEPT and EX_CATCH_IMPL_EX (which catches
all exceptions).
I have also added few stress log messages for processing exception in native
frames that helped debug the issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
91037acfac26eccd3ac17e58df3c7d0d0b2f645d
Koundinya Veluri [Fri, 10 Jun 2016 20:34:43 +0000 (13:34 -0700)]
Fix for GC hole when using software write watch
Issue:
- When using software write watch, getting dirty pages is synchronized with growing the write watch table using gc_lock, as those cannot happen concurrently
- It turns out that a foreground GC can happen at that point, pausing the background GC while it tries to acquire gc_lock
- In this issue, the last object in the previously revisited page is a free object whose range spans one or more pages
- With the intent of skipping the free range, revisit_written_page() records the next object to scan immediately following the free range
- Since only 100 dirty pages are retrieved at a time, the next set of up to 100 dirty pages needs to be requested. Before that, a foreground GC begins, and the background GC pauses trying to acquire gc_lock.
- The foreground GC promotes some objects, and in the process allocates from the free range above, and completes
- One of the moved objects in that previously free range gets a reference to a new object that is not referenced from anywhere else
- The background GC resumes, determines that the moved object's page is dirty, but skips revisiting the object because the previously recorded next object from which to start scanning, already took the free range size into account before it was allocated
- The background GC does not mark through the moved object, so the newly referenced object appears to be free, and is sweeped
- Later, either verify_heap fails or the app crashes, when trying to access that referenced object
Fix:
- Similarly to what is done for the large object heap, when revisiting a page and using software write watch, don't advance last_object when the current object is a free object that spans beyond the current page or high_address
- On the next revisit, it would start scanning from the previously scanned free object (which now may be allocated or will have a smaller size) until it reaches the requested page to scan
Fixes (but not yet closing) dotnet/coreclr#5194
Commit migrated from https://github.com/dotnet/coreclr/commit/
237e9da6af703c614e0c852e7e421db46bbdfa4b
Alex Ghiondea [Sat, 4 Jun 2016 03:34:47 +0000 (20:34 -0700)]
Default to latest behavior when a TFM is not specified
Instead of requiring that a compatibility switch is set in order to get the
latest behavior for all AppContext switches that are based on TFM, have that
behavior on by default.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fa31cc398b7a6f1cceec95028a1b52408270f79
Kyungwoo Lee [Fri, 10 Jun 2016 21:21:56 +0000 (14:21 -0700)]
Merge pull request dotnet/coreclr#5691 from kyulee1/testupdate2
ARM64: Another Tests.lst Update for R2R
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6a00daeff8c7a799d3913eecd89daadbe14a2ac
Rahul Kumar [Fri, 10 Jun 2016 21:13:32 +0000 (14:13 -0700)]
Merge pull request dotnet/coreclr#5694 from rahku/sosFix
Fixes AV in sos for arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
839fb443e275b9958b3123df574ad9772aa15028
Rahul Kumar [Fri, 10 Jun 2016 18:52:59 +0000 (11:52 -0700)]
Fixes AV in sos for arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
73528790be5bf318af49ee457f6b5dad003f94db
Andy Ayers [Fri, 10 Jun 2016 18:40:36 +0000 (11:40 -0700)]
Modify Crypto benchmark so it uses a fixed random seed
Fix seed so benchmark behavior doesn't vary randomly from run to run.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d198f8926b6c5ee3fd9678394626ad3296840c3
Kyungwoo Lee [Fri, 10 Jun 2016 18:23:54 +0000 (11:23 -0700)]
ARM64: Another Tests.lst Update for R2R
Fixes https://github.com/dotnet/coreclr/issues/5638
Fixes https://github.com/dotnet/coreclr/issues/5645
doublinkstay.cmd does not repro anymore
increase time-out for DeltaBlue
Commit migrated from https://github.com/dotnet/coreclr/commit/
e07221785240f86dfe4a7188871712682c8318e3
Kyungwoo Lee [Fri, 10 Jun 2016 18:20:41 +0000 (11:20 -0700)]
Merge pull request dotnet/coreclr#5685 from kyulee1/testlst
ARM64: Update Tests.lst
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e1ad9253e8bedd910f8affa03916a2066cc4395
Sean Gillespie [Fri, 10 Jun 2016 16:58:00 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#5621 from swgillespie/buildtest-refactor
Remove need for longgc and gcsimulator tests to have their own build
Commit migrated from https://github.com/dotnet/coreclr/commit/
32c966423247fb2fc2cdc1976187da7a7f2f53f4
Sean Gillespie [Wed, 8 Jun 2016 23:04:24 +0000 (16:04 -0700)]
Remove need for longgc and gcsimulator tests to have their own build
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd82273c46047d2f9523124be646924b3605b373
Jan Kotas [Fri, 10 Jun 2016 16:20:18 +0000 (09:20 -0700)]
Merge pull request dotnet/coreclr#5684 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9d24d88092e0c7ac9d89644720afb8517767ea7
Kyungwoo Lee [Fri, 10 Jun 2016 15:01:33 +0000 (08:01 -0700)]
ARM64: Update Tests.lst
Fixes https://github.com/dotnet/coreclr/issues/5641
Commit migrated from https://github.com/dotnet/coreclr/commit/
35d9ee07860ebaf7fde5520b58ef444904bef134
Jan Kotas [Fri, 10 Jun 2016 14:29:12 +0000 (07:29 -0700)]
mscorlib/System.Private.CoreLib cleanup
Deleting files cloned for mscorlib rename - we should not need the clones anymore.
[tfs-changeset: 1611972]
Commit migrated from https://github.com/dotnet/coreclr/commit/
9044c780dde8c04e8e43dfc20dc77fea269c6f2a
Gaurav Khanna [Fri, 10 Jun 2016 06:45:23 +0000 (23:45 -0700)]
Merge pull request dotnet/coreclr#5679 from dotnet-bot/UpdateDependencies20160610051941
Updating External dependencies to rc4-24210-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
b86235477102b3cc417fa08b0687ad102ed431a9
dotnet-bot [Fri, 10 Jun 2016 05:19:41 +0000 (05:19 +0000)]
Updating External dependencies to rc4-24210-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
8540c1c7d8276d1365d399d52ec40a8ee193f1aa
Kyungwoo Lee [Fri, 10 Jun 2016 03:14:19 +0000 (20:14 -0700)]
Merge pull request dotnet/coreclr#5667 from kyulee1/testupdate
ARM64: Test Update
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ef190c28321faf9da2c1ee5e5862887b6c6cab3
Andy Ayers [Fri, 10 Jun 2016 02:55:34 +0000 (19:55 -0700)]
Merge pull request dotnet/coreclr#5670 from AndyAyersMS/ObserveCallSiteBlockWeight
Inliner: observe block weight, update schema and data
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f745a05f81f1728e050d39fa81663b8380cc49e
Kshama Pawar [Fri, 10 Jun 2016 02:29:59 +0000 (19:29 -0700)]
Merge pull request dotnet/coreclr#5656 from dotnet/kspawa-profiler-doc
Create profiling-api-status.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7895aafe7bf64e6ef516c16dea6d6e4b828657c
Swaroop Sridhar [Fri, 10 Jun 2016 00:31:08 +0000 (17:31 -0700)]
Merge pull request dotnet/coreclr#5666 from swaroop-sridhar/LR
ARM64: Don't track LR as part of NV-Context
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ff6621e235df975c4cfb6a619ba201aa3ee5b8c
Pat Gavlin [Fri, 10 Jun 2016 00:19:50 +0000 (17:19 -0700)]
Merge pull request dotnet/coreclr#5658 from pgavlin/PhaseInterface
Make Phase::{Pre,Do,Post}Phase protected.
Commit migrated from https://github.com/dotnet/coreclr/commit/
154d01259ac629be93a4c3f028373fd13a7de0a7
Andy Ayers [Fri, 10 Jun 2016 00:10:19 +0000 (17:10 -0700)]
Inliner: observe block weight, update schema and data
Add block weight as observation. At first blush I suspect this will be
useful only when the jit has IBC data, and even then only in the root
method blocks.
We'll likely need to either build up better profile estimates for the
inliner or else just try and cope without it somehow.
Dump out block weight and the per-call profitability in the observation
schema and data. Among other things this lets us cross-validate how well
the ModelPolicy predictions match the abstract GLMNET models...
Commit migrated from https://github.com/dotnet/coreclr/commit/
220aa25f96f8d308860b2656f2bb78dd04bb8c79
Pat Gavlin [Fri, 10 Jun 2016 00:11:58 +0000 (17:11 -0700)]
Merge pull request dotnet/coreclr#5649 from pgavlin/removeSplitMethodTrees
Remove `fgSplitMethodTrees`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b9b3b55f121f4f4312cae33481c82662b58c268
Andy Ayers [Fri, 10 Jun 2016 00:08:39 +0000 (17:08 -0700)]
Merge pull request dotnet/coreclr#5661 from AndyAyersMS/FirstDraftProfitablityModel
Inliner: implement profitabily side of the ModelPolicy
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2eff33c3b5131248f0b9b428b5850e0cfc568bb
Brian Sullivan [Fri, 10 Jun 2016 00:05:14 +0000 (17:05 -0700)]
Merge pull request dotnet/coreclr#5663 from briansull/legacy-cleanup
Code review cleanup items and moved some items into LEGACY_BACKEND
Commit migrated from https://github.com/dotnet/coreclr/commit/
713956f3a691026af775ebdf08f7651d682d4ed0
Russ Keldorph [Thu, 9 Jun 2016 23:57:42 +0000 (16:57 -0700)]
Merge pull request dotnet/coreclr#5652 from RussKeldorph/5555
Fix WeakReference tests depending on JIT not extending lifetimes
Commit migrated from https://github.com/dotnet/coreclr/commit/
a248e24a876058460db2581b84dbd566ba2a3980
Kshama Pawar [Thu, 9 Jun 2016 23:10:53 +0000 (16:10 -0700)]
Update profiling-api-status.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
79ec97085bd1ee0b7eed4345be0623e476f4f3f6
Kshama Pawar [Thu, 9 Jun 2016 23:05:15 +0000 (16:05 -0700)]
Update profiling-api-status.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee62e38abaa575149a20e9a37fc381f0f7422f1c
Kshama Pawar [Thu, 9 Jun 2016 22:47:35 +0000 (15:47 -0700)]
Update profiling-api-status.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
c72236d05d814b4f88240d5277f755cb81ab2bcb
Pat Gavlin [Thu, 9 Jun 2016 22:10:21 +0000 (15:10 -0700)]
Make Phase::Phase protected.
Like Phase::{Pre,Do,Post}Phase, this is an implementation detail of the top type
and should only be exposed to subclasses.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f98c72d82c431292e50d589e95f62b922a27ae4
Jarret Shook [Thu, 9 Jun 2016 22:03:53 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#5588 from jashook/disable_kar
Mark KeepAliveRecur as GCStressIncompatible
Commit migrated from https://github.com/dotnet/coreclr/commit/
e65961687e6de279aca3d839273c9e3a29a64151
Kyungwoo Lee [Thu, 9 Jun 2016 22:03:49 +0000 (15:03 -0700)]
ARM64: Test Update
Commit migrated from https://github.com/dotnet/coreclr/commit/
f913425d877de2882d8a6536584037e436485e91
Swaroop Sridhar [Thu, 9 Jun 2016 21:23:35 +0000 (14:23 -0700)]
ARM64: Don't track LR as part of NV-Context
The _pc and _sp fields actually refer to the caller's PC and SP values.
So, remove read/writes of LR in captureX19_X29 array of ARM64 MachState.
This change fixes a buffer overflow problem.
Commit migrated from https://github.com/dotnet/coreclr/commit/
40150200e231eb3d5c5eee9ee9173abf7ecb15a1
John Chen [Thu, 9 Jun 2016 21:22:00 +0000 (14:22 -0700)]
Merge pull request dotnet/coreclr#5657 from JohnChen0/r2r
Add an option to log outcome of loading Ready to Run images
Commit migrated from https://github.com/dotnet/coreclr/commit/
18e75337c6ed204333a4ac0743bfa2052b4d3802
Brian Sullivan [Thu, 9 Jun 2016 21:21:51 +0000 (14:21 -0700)]
Fix clang build
Commit migrated from https://github.com/dotnet/coreclr/commit/
853d3919a38be3fcb511b0a8d7e276c163ba3813
Andy Ayers [Wed, 8 Jun 2016 00:19:31 +0000 (17:19 -0700)]
Inliner: implement profitabily side of the ModelPolicy
First (and very preliminary) cut at a profitability model, based
on inline data modelling.
ModelPolicy heuristic is updated to use this information to decide
when to inline. The policy has two parameters: one for the local
call site weight and another for the overall size/speed tradeoff
that we find acceptable. The first parameter is temporary as we
should be able to model this weight via observations.
Size/speed tradeoff is a policy decision and is a tuning parameter.
I've set it for now to roughly match the LegacyPolicy behavior, in
aggregate, across the jit perf benchmarks.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aed87099a2f5b70676b7bacf18f696d772b862b9
Pat Gavlin [Thu, 9 Jun 2016 21:10:26 +0000 (21:10 +0000)]
Merge pull request dotnet/coreclr#5650 from pgavlin/SsaSkipDefs
Remove JIT_FEATURE_SSA_SKIP_DEFS.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0851b88a70d228ffb833b7795d18329f4383999a
Davis Goodin [Thu, 9 Jun 2016 21:05:15 +0000 (16:05 -0500)]
Merge pull request dotnet/coreclr#5651 from dotnet-bot/UpdateDependencies20160609052537
Updating External dependencies to rc4-24209-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f9a3c43bfecefd2bcfbfa15f597c02f9621f913
Gaurav Khanna [Thu, 9 Jun 2016 21:04:34 +0000 (14:04 -0700)]
Merge pull request dotnet/coreclr#5653 from gkhanna79/Fix5610JIT
Remove reference to the Arm32 JIT package since none exists.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e3a5362fb74fedbe82c8aee48b9f18039a3f85a
Kyungwoo Lee [Thu, 9 Jun 2016 20:44:52 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#5648 from kyulee1/r2rci2
ARM64: Enable R2R CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac8d2f99b2e359824206ad172861783f99dcda3c
Brian Sullivan [Thu, 9 Jun 2016 17:46:57 +0000 (10:46 -0700)]
Code review cleanup items and moved some items into LEGACY_BACKEND ifdefs
From Codereview feedback:
Use BAD_VAR_NUM in a couple places instead of (unsigned)-1
In struct InitVarDscInfo
Renamed hasRetBuf to hasRetBufArg
In struct RegState:
Moved field rsCurRegArmNum into LEGACY_BACKEND ifdef
Removed instance field RegState::rsMaxRegArgNum as it is unnecessary
Reordered the fields from largest to smallest
In struct GenTreeCall node:
Moved field gtCallRegUsedMask into LEGACY_BACKEND ifdef
Changes to genRegArgNext to work correct for X64/UNIX (where it is not currently used)
Document the behavaior when given REG_ARG_LAST
Commit migrated from https://github.com/dotnet/coreclr/commit/
15690118463f18adc6411c3c4fb839e824e61a61
John Chen (CLR) [Thu, 9 Jun 2016 15:54:37 +0000 (08:54 -0700)]
Add an option to log outcome of loading Ready to Run images
Commit migrated from https://github.com/dotnet/coreclr/commit/
61e1cd635a1b0ef92927b6c8c7910a58c740ce95
Kyungwoo Lee [Thu, 9 Jun 2016 17:10:01 +0000 (10:10 -0700)]
ARM64: Enable R2R CI
Rename "r2r" to "pri1r2r" to trigger private job.
Enable 12 hour periodic job.
Added test exclusions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ad87a83aa8ef97bd1edd4ade7c777b936111fea
Pat Gavlin [Thu, 9 Jun 2016 19:04:22 +0000 (12:04 -0700)]
Make Phase::{Pre,Do,Post}Phase protected.
These methods are implementation details of a phase and should not be a part
of its public interface.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f6dce45d4a9bda2e7040e2c60f54c9e791e3bc6
Kshama Pawar [Thu, 9 Jun 2016 18:28:04 +0000 (11:28 -0700)]
Create profiling-api-status.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef0cd3fb766e9bb7a03d0426bf4ad409f0dd19a1
Gaurav Khanna [Thu, 9 Jun 2016 17:44:46 +0000 (10:44 -0700)]
Cleanup Arm32 package references.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f09ad3cdb5683e667052294cc3c6ba9b63ac8442
Sasha Semennikov [Thu, 9 Jun 2016 17:56:57 +0000 (10:56 -0700)]
Merge pull request dotnet/coreclr#5470 from alsemenn/fix1379
Fix memory leak in issue dotnet/coreclr#1379
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce40049d1a4d94a63581694cbb3fd18222e318aa
Pat Gavlin [Thu, 9 Jun 2016 17:19:46 +0000 (10:19 -0700)]
Remove `fgSplitMethodTrees`.
This code attempted to split trees that contained multiple calls
that returned floating-point values when targeting ARM. This code
was clearly incorrect--no attempt is made to obey the original tree
ordering (or indeed any valid ordering--and it was in fact disabled
in JIT32. Remove it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
833b0129d18dd1e275154c87a0ce3b1863473354
Russ Keldorph [Thu, 9 Jun 2016 17:36:44 +0000 (10:36 -0700)]
Fix WeakReference tests depending on JIT not extending lifetimes
Target and IsAlive_neg are failing in some cases when JIT optimization is
disabled because the JIT (legally) generates code that holds a reference
to an object longer than expected. Instead of forcing optimization on for
these tests, I'm using the pattern of moving the problematic object
reference to a non-inlined helper method.
Fixes dotnet/coreclr#5555
Commit migrated from https://github.com/dotnet/coreclr/commit/
e784d4d1c82adea07d6e5e118b1ae6624c7e0d8b