Andy Ayers [Thu, 16 Jun 2016 05:53:47 +0000 (22:53 -0700)]
Merge pull request dotnet/coreclr#5819 from AndyAyersMS/InlineTestsV1
Inliner: simple performance tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5a0338ddefc9551f3f573b4950ab046f58d9464
Brian Sullivan [Thu, 16 Jun 2016 01:10:01 +0000 (18:10 -0700)]
Merge pull request dotnet/coreclr#5794 from briansull/vm-retbuf
Fixes for two JIT helpers that should not use the x8 RetBuf argument on ARM64
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ec70e119cca0cf317e1d64a3efd2bb9021e6d80
Brian Sullivan [Mon, 13 Jun 2016 21:06:14 +0000 (14:06 -0700)]
Fixes for two JIT helpers that should not use the x8 RetBuf argument on ARM64
Fixes these two JIT helpers" CORINFO_HELP_GETFIELDSTRUCT and CORINFO_HELP_UNBOX_NULLABLE
We no longer set GTF_CALL_M_RETBUFFARG for the two special Jit helpers
We insert the extra byref argument in the x0 position for these two JIT helpers
Commit migrated from https://github.com/dotnet/coreclr/commit/
987536accfc50a689b914f343d79fb3588cc552b
William Godbe [Wed, 15 Jun 2016 22:57:56 +0000 (15:57 -0700)]
Merge pull request dotnet/coreclr#5820 from wtgodbe/groovyR2R
Update crossgen strings for coreclr coverage tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
65786f04d36e9886c4e1b004e5d233eb708fa0b9
wtgodbe [Wed, 15 Jun 2016 22:54:33 +0000 (15:54 -0700)]
Update crossgen strings for coreclr coverage tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
e071b691843ae71b81855a8704862871dbb9975d
Bruce Forstall [Wed, 15 Jun 2016 22:54:22 +0000 (15:54 -0700)]
Merge pull request dotnet/coreclr#5815 from BruceForstall/RemoveAmd64Legacy
Remove AMD64 code from legacy code path
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a28e845d94df0f3d95903e9cfd77251d67b061e
John Chen [Wed, 15 Jun 2016 22:29:56 +0000 (15:29 -0700)]
Merge pull request dotnet/coreclr#5814 from JohnChen0/r2rtest
Modify CrossGen test script to work around cmd.exe bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3806248c80471c70d5fb80b0f4676bda2cc49f0
Andy Ayers [Fri, 10 Jun 2016 21:58:11 +0000 (14:58 -0700)]
Inliner: simple performance tests
Tests that demonstrate that constant arguments passed to callees can
lead to inlining performance wins. All numeric types are tested, as
well as strings.
Tests are generally written as positive/negative pairs with calls to
the same inlinee. This exposes the call site sensitivity. Performance
of the positive test should be better than the negative test.
The overall benchmarking approach used here is something that we might
consider adopting for other small-scale codegen performance tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b34b726c3644ca494be54f90bbb190905e52e4e
Mike McLaughlin [Wed, 15 Jun 2016 22:03:57 +0000 (15:03 -0700)]
Fix exception stacktrace when ulimit is hit OSX. (dotnet/coreclr#5802)
* Fix exception stacktrace when ulimit is hit OSX.
Issue dotnet/coreclr#5782.
Wrap the everything in try/catch replacing the existing try/finally
and removed the recursion protection thread var.
* Restore recursion protection.
Commit migrated from https://github.com/dotnet/coreclr/commit/
93a9d70bfa87193d29b69b3242f5cc588f417f0d
Jarret Shook [Wed, 15 Jun 2016 21:38:29 +0000 (14:38 -0700)]
Merge pull request dotnet/coreclr#5786 from prajwal-aithal/devel/arm-ci-cross-build-fix
ARM-CI: Convert Linux ARM emulator CI check to cross build (fixes PR dotnet/coreclr#5680)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab4cc73d46fd733fb3976b4fe53d8837257cc948
Bruce Forstall [Wed, 15 Jun 2016 19:44:19 +0000 (12:44 -0700)]
Remove AMD64 code from legacy code path
There were some AMD64 #ifdefs and code in the legacy code path from an
ancient AMD64 porting effort. They are unused, and were confusing to me
when searching the code base, so I removed them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f03d7f5655f4f0d1f3d6be6f66965a2f5e6c477d
James Ko [Wed, 15 Jun 2016 19:15:12 +0000 (15:15 -0400)]
Update SpecializeComparer for enums (dotnet/coreclr#5805)
Fixes dotnet/coreclr#5751
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3b183e7b4b384792370fae56dcb702afbfcb2a9
Ivan Baravy [Wed, 15 Jun 2016 19:14:52 +0000 (23:14 +0400)]
Fix sos.DumpIL on LP64 systems with s/long/LONG/g (dotnet/coreclr#5810)
sos.DumpIL command used readData<long> to disassemble CIL,
this failed on LP64 systems like Linux where long is 8 bytes.
This commit tries to fix dotnet/coreclr#5457.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc273bb498c51720e7199ea44d15ee6b1bed07d4
Maoni Stephens [Wed, 15 Jun 2016 18:13:02 +0000 (11:13 -0700)]
Merge pull request dotnet/coreclr#5807 from Maoni0/obj_addr
Need to filter addresses not in the heap range in NextObj
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8813ee80bc00ccf46cc781de5d2f5f807813319
John Chen (CLR) [Wed, 15 Jun 2016 18:11:37 +0000 (11:11 -0700)]
Modify CrossGen test script to work around cmd.exe bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
d33d62e74cd8577420160685190e5c1eabfed9bb
Rahul Kumar [Wed, 15 Jun 2016 17:44:16 +0000 (10:44 -0700)]
Merge pull request dotnet/coreclr#5682 from lemmaa/fix-error-index-must-be-an-integer-in-range
[ARM64/Linux] Fix `error: index must be an integer in range.`
Commit migrated from https://github.com/dotnet/coreclr/commit/
25b1e6a9eb3cac4abadaf1a65d7a75448cc7597e
Evgeny Pavlov [Wed, 15 Jun 2016 16:23:30 +0000 (19:23 +0300)]
Initial support of breakpoint setting by source file + line on Linux using portable pdb reader (dotnet/coreclr#5688)
* Initial support of breakpoint setting by source + line on Linux
* Fix macro redefinition error in OSX build
* Fix after review from Mike McLaughlin
Commit migrated from https://github.com/dotnet/coreclr/commit/
859307b4787bbacbe28d2efe1d54c49177525562
Sung-Jae Lee [Fri, 10 Jun 2016 07:33:17 +0000 (16:33 +0900)]
[ARM64/Linux] Fix `error: index must be an integer in range.`
- Fix invalid varible name `*X19_X28' to '*X19_X29'
- Remove code for capturing `fp` status.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b2ce833f869cbc8abd5a586b671eb03e8948185
Maoni0 [Tue, 14 Jun 2016 02:28:03 +0000 (19:28 -0700)]
Need to filter addresses not in the heap range in the NextObj verification function.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8cbe2aef8b3c11709c287f344871602d8731f37
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
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 (fixes PR dotnet/coreclr#5680)
* Previously used emulated build took a lot of time leading to timeout errors
* Changing this CI check to build using cross build
* Resolves CI issues caused by previous identical PR dotnet/coreclr#5680
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c74d309b22080e58d76a1eb7f9ea0c8262fc135b
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