Jürgen Hötzel [Mon, 30 May 2016 09:45:49 +0000 (11:45 +0200)]
Don't use libstdc++ wrappers for stdlib.h (dotnet/coreclr#5304)
This prevents #undef of min/max macros. Refs dotnet/coreclr#5006.
Commit migrated from https://github.com/dotnet/coreclr/commit/
41912e3adb789b62f4cb46acffe915b6f1ab0e1e
Russ Keldorph [Mon, 30 May 2016 06:34:08 +0000 (23:34 -0700)]
Merge pull request dotnet/coreclr#5093 from wateret/fix-returnstruct-arm-softfp
Fix Assert Error "Unexpected size when returning struct by value" on …
Commit migrated from https://github.com/dotnet/coreclr/commit/
59ac176ee9abf0f649abf13bb56bde52f46c45ca
Sergiy Kuryata [Sun, 29 May 2016 20:52:53 +0000 (13:52 -0700)]
Merge pull request dotnet/coreclr#5307 from ellismg/fix-rhel-build
Fix RHEL 7 Build
Commit migrated from https://github.com/dotnet/coreclr/commit/
5cfb2954419a0e4cf7d223958a99b0d97b45c082
Matt Ellis [Sun, 29 May 2016 06:33:20 +0000 (23:33 -0700)]
Fix RHEL 7 Build
There were two issues:
- $__BuildArch is not defined in init-tools.sh, so we would always
download the ubuntu version of the CLI, since our check for
`rhel.7.2-x64` would never fire.
- There was a small RHEL specific bug in BuildTools itself that
manifested when we actually were able to download the CLI and try to
restore the runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3b44b0823bbf53383161e7f4530226ce4954ac6
Jose Perez Rodriguez [Sat, 28 May 2016 19:44:45 +0000 (12:44 -0700)]
Merge pull request dotnet/coreclr#5290 from joperezr/AddingCommitHashToManagedLibraries
Adding commit hash to all built binaries.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c00a5f9f425a295e3b80e7e71acbcff1ff15120
John Chen [Sat, 28 May 2016 17:34:22 +0000 (10:34 -0700)]
Ensure Ready-to-Run module is activated in generics dictionary lookup (dotnet/coreclr#5288)
Under certain conditions, a Ready-to-Run module is not yet fully
activated when its contents are used. This can cause asserts in
debug build. It can also cause module constructor to be run too late.
Commit migrated from https://github.com/dotnet/coreclr/commit/
80b11809300d2b762a5ce09bf5a69d9f7003d06b
Matt Ellis [Sat, 28 May 2016 08:46:09 +0000 (01:46 -0700)]
Merge pull request dotnet/coreclr#5299 from CarolEidt/FixArm64
Fix a build break due to PR dotnet/coreclr#5101
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aa7ce273f03d242fddfbe134aa6d0144045e2da
Aditya Mandaleeka [Sat, 28 May 2016 05:52:36 +0000 (22:52 -0700)]
Merge pull request dotnet/coreclr#5295 from adityamandaleeka/noexcept_nothrow_new
Add noexcept specifier to some non-throwing new operators
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0bcc5bdec1abf608849260652c8ada30fdf597d
James Ko [Sat, 28 May 2016 05:49:35 +0000 (01:49 -0400)]
Remove the dnvm-based installation instructions from the docs (dotnet/coreclr#5271)
* Replace DNX docs with a link to the official .NET website
* Group Get/Learn About .NET Core into one section
Commit migrated from https://github.com/dotnet/coreclr/commit/
599c127d925e6ddbbf7e78167b8ba5e8f50bc016
Rama krishnan Raghupathy [Sat, 28 May 2016 05:08:11 +0000 (22:08 -0700)]
Merge pull request dotnet/coreclr#5236 from leemgs/upstream-buildtest.cmd-help-update
Documentation: Adding flag descriptions of unit test scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
af69dd5dda4f715a236225dd687f236857a1f4c0
Mike McLaughlin [Sat, 28 May 2016 03:03:32 +0000 (20:03 -0700)]
Fix the named semaphore leak on OSX (and Linux) (dotnet/coreclr#5269)
* Change the dbgshim launch handshake back.
The debugger side now creates the name semaphores like before and the transport pipe
existence determines that coreclr is ready.
Changed when the transport pipes are created: synchronously on the main thread.
Correctly set and check the HAVE_PROCFS_* defines.
* Code review feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ac6af932fe2a3f4b285b6dcc79010caf807ea9d
Hanjoung Lee [Thu, 12 May 2016 05:09:31 +0000 (14:09 +0900)]
Fix Assert Error "Unexpected size when returning struct by value" on arm-softfp
For only arm-softfp there is an assert error when returning struct as value.
Fixes dotnet/coreclr#4924
Signed-off-by: Hanjoung Lee hanjoung.lee@samsung.com
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1561522076fa1121ce9388f629da66841f15dd0
Geunsik Lim [Sat, 28 May 2016 01:25:35 +0000 (10:25 +0900)]
Documentation: Adding flag descriptions of unit test scripts
Let's append the meaning of the 'priority' and 'gcstresslevel' flag.
The additional description of the 'priority' flag is derived from
./coreclr/tests/dir.props. And, that of the 'gcstresslevel' flag is
derived from ./coreclr/src/gc/sample/gcenv.h.
ver2:
Moved 'gcstresslevel' flag from ./tests/buildtest.cmd to ./tests/runtest.*.
ver1:
Added 'priority' and 'gcstresslevel' flag in ./tests/buildtest.cmd
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
38640b47ce6e95dbcdf5ed9ddc3b8e18182d949b
Carol Eidt [Sat, 28 May 2016 01:20:11 +0000 (18:20 -0700)]
Fix a build break due to PR dotnet/coreclr#5101
The declaration, definition and uses of eeGetMethodFullName
didn't match.
Commit migrated from https://github.com/dotnet/coreclr/commit/
91ec3b8392eb1962b2d01a844cb2c0bf9ecd7ffd
Brian Sullivan [Sat, 28 May 2016 01:19:52 +0000 (18:19 -0700)]
Merge pull request dotnet/coreclr#5263 from briansull/avoid-x8
Avoid using register x8 as it will be used as the RetBuf argument in the future
Commit migrated from https://github.com/dotnet/coreclr/commit/
7711017de7e9f5d42a0db7fd46f7072a64460913
Pat Gavlin [Sat, 28 May 2016 01:01:04 +0000 (18:01 -0700)]
Merge pull request dotnet/coreclr#5277 from pgavlin/gentree
Remove a redundant recursive call to `gtSetEvalOrder`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7703f93bba45c8347a9f7b813e214fe7d8c1fc73
Sergiy Kuryata [Sat, 28 May 2016 00:33:43 +0000 (17:33 -0700)]
Merge pull request dotnet/coreclr#5257 from Priya91/failingtest
Disable failing test to enable corefx runs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e7feae57000c4d4e98337d00dd4fd0dec6bf145
Rama krishnan Raghupathy [Fri, 27 May 2016 23:23:56 +0000 (16:23 -0700)]
Merge pull request dotnet/coreclr#5261 from ramarag/gcstress
Refactoring the way GC Stress logic is used while running tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d2dac1e8fe32ca9125cd29a42342ae6b0f64848
Brian Sullivan [Thu, 26 May 2016 22:49:57 +0000 (15:49 -0700)]
Avoid using register x8 as it will be used as the RetBuf argument in the future
Placed usage of REG_SPILL_CHOICE under LEGACY_BACKEND and removed them for RyuJit only targets
Moved REG_R8 for ARM64 to later in the REG_VAR_ORDER
Change the definition of REG_PINVOKE_ registers to avoid using REG_R8
Change the definition of REG_TMP_0 and REG_TMP_1 to avoid using REG_R8
the REG_TMP defines are only used in one place: CodeGen::genEmitGSCookieCheck
Commit migrated from https://github.com/dotnet/coreclr/commit/
95f4e6c3a2954be99ae090eb264daf2ee757005b
Carol Eidt [Fri, 27 May 2016 22:35:27 +0000 (15:35 -0700)]
Merge pull request dotnet/coreclr#5101 from CarolEidt/FixIssue2554
Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.
Commit migrated from https://github.com/dotnet/coreclr/commit/
24bdde815c23584cdba6c5835977dbf568e74703
Fadi Hanna [Fri, 27 May 2016 22:25:33 +0000 (15:25 -0700)]
Excluding Weak-GCReferences tests from GC stress runs (dotnet/coreclr#5289)
Commit migrated from https://github.com/dotnet/coreclr/commit/
28fe0dc39d1081a1fd5ff83b7b705aeb2e868d71
Jose Perez Rodriguez [Fri, 27 May 2016 21:24:57 +0000 (14:24 -0700)]
Adding commit hash to all built binaries.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1b55782add73bc175d050569f67cef87909ed54
David Mason [Fri, 27 May 2016 20:15:32 +0000 (13:15 -0700)]
Merge pull request dotnet/coreclr#5266 from vancem/EventSoruceComplexTypeFix
EventSource Events that use complex types do not get logged (silently…
Commit migrated from https://github.com/dotnet/coreclr/commit/
819d4b7d31848edae50d4d5e237b83db29138900
Russ Keldorph [Fri, 27 May 2016 20:15:14 +0000 (13:15 -0700)]
Merge pull request dotnet/coreclr#5279 from RussKeldorph/unix_stress
Fix environment settings for Unix JIT stress scenarios
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a30381de10b8063ec0648bf3dcbb22cbd1899c7
Russ Keldorph [Fri, 27 May 2016 17:43:35 +0000 (10:43 -0700)]
Fix environment settings for Unix JIT stress scenarios
The environment settings necessary to run tests in these modes were being
dropped. They need to be tunneled through properly in a couple of places.
Fixes dotnet/coreclr#5278
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0d6ce3b32f591b91d57a409b3640cc3d760d520
Jan Vorlicek [Fri, 27 May 2016 19:19:31 +0000 (21:19 +0200)]
Fix GCStress 0xC on Unix (dotnet/coreclr#5276)
This change fixes GCStress 0xC on Unix that was not working due to the way that
we check that a specific IP is in managed code. To make that check safe,
a precondition checking that the thread is in cooperative GC mode was added
some time ago. But that causes a problem with the GCStress 0xC and PInvoke
stubs. The PInvoke stub switches to preemptive mode at some point and when
the code beyond that point is instrumented and the corresponding hardware
exception occurs, the exception address is not evaluated as being in managed
code and so the exception terminates the application.
This fix excludes the safety check of GC mode when we are running with GC stress
mode 8 or 4 (or both -> 0xc).
Commit migrated from https://github.com/dotnet/coreclr/commit/
20f7d04e477d2d2901c7e76a78e060b8d34ed1c1
Matt Ellis [Fri, 27 May 2016 18:03:11 +0000 (11:03 -0700)]
Merge pull request dotnet/coreclr#5225 from ellismg/add-additional-packages
Add Fedora, OpenSuse and Ubuntu 16.04 packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e73ba95a266ac513ebef607107c5facd0825741
Carol Eidt [Fri, 27 May 2016 17:45:45 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#5260 from CarolEidt/Fix5116
Recognize Vector<T> constructors for small ints
Commit migrated from https://github.com/dotnet/coreclr/commit/
21c1348875ff738c82bec14c6950c30ec2736d5c
Carol Eidt [Tue, 17 May 2016 23:48:15 +0000 (16:48 -0700)]
Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.
Although COMPlus_JitFuncInfoLogFile was enabled as a "RETAIL" variable, it
was only opening the file (and not writing to it) in non-DEBUG.
In order to use it, we need to also enable eeGetMethodFullName in release,
which in turn requires type names.
Also, _wfsopen() is not supported in the PAL layer.
However, it appears to work fine without the sharing option, on both Windows
and Linux.
Add a utility class to use the log file to check whether a method has been compiled.
Use it to test that the SIMD intrinsics are not compiled when they are enabled.
Add dir.props to the SIMD test directory to set the COMPlus_JitFuncInfoLogFile
environment variable, and to delete the log file before each test.
Fix dotnet/coreclr#2554
Commit migrated from https://github.com/dotnet/coreclr/commit/
41057591615c9ed32567de5936bf72de29c5118c
Pat Gavlin [Fri, 27 May 2016 17:43:09 +0000 (10:43 -0700)]
Remove another redundant call to gtSetEvalOrder.
The handling for GT_BOX exhibited the same pattern as that of GT_OBJ.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c94b20b5cd81f139857869e4e5719912ed7a624
Mike McLaughlin [Fri, 27 May 2016 17:13:02 +0000 (10:13 -0700)]
Fix System.Diagnostics.StackTrace symbol issue (dotnet/coreclr#5265)
* Fix System.Diagnostics.StackTrace symbol issue
* Code review feedback.
* Code review feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
58e2c726f154e881deaf7e77ab3d57b240cc3ac8
Kyungwoo Lee [Fri, 27 May 2016 17:03:34 +0000 (10:03 -0700)]
Merge pull request dotnet/coreclr#5249 from kyulee1/divzero
ARM64: Fix Liveness update for Division By Zero
Commit migrated from https://github.com/dotnet/coreclr/commit/
c840c4f4a01b553c61a8d64713b485eedbc61840
Dmitri-Botcharnikov [Fri, 27 May 2016 16:53:10 +0000 (20:53 +0400)]
Fix sos ClrStack print of GC frames for ARM/Linux (dotnet/coreclr#5178)
Fix issue dotnet/coreclr#5037
Commit migrated from https://github.com/dotnet/coreclr/commit/
29333fab30bb15139b8ed8c09a56d994ba8e3e6f
Brian Sullivan [Fri, 27 May 2016 13:16:18 +0000 (06:16 -0700)]
Merge pull request dotnet/coreclr#5270 from briansull/issue-5264
Proposed fix for dotnet/coreclr#5264
Commit migrated from https://github.com/dotnet/coreclr/commit/
30093e31092cd2fd0e2d570c2184dcb6bf0c0e71
Mike McLaughlin [Fri, 27 May 2016 08:48:12 +0000 (01:48 -0700)]
Fix debuggertests failures OSX. (dotnet/coreclr#5267)
The change that triggered the failures was going to a separate JIT module with its own PAL. The reason is a problem in the OSX exception forwarding a single-step exception: to forward/chain an exception to the next PAL the exception we restore the registers at the point of the exception and retry the it. For all the hardware exceptions this is fine, but for single-step the register state is after the instruction has been stepped so when it is retried and chained to the next PAL another instruction is stepped so the debugger gets notified an instruction after where it wanted. Chaining the single-step exception on Linux doesn’t have this problem because we just basically “jump” to the next PAL/signal handler.
The fix is too only “hook” single-step/breakpoint exceptions in the coreclr module/PAL (yet another PAL_INITIALIZE flag) and not in the JIT module (or any other non-coreclr PALs).
Commit migrated from https://github.com/dotnet/coreclr/commit/
200ab604ac909928e96de6af7525cee231a370c3
chunseoklee [Fri, 27 May 2016 06:06:46 +0000 (15:06 +0900)]
Fix for clrstack after bpmd (dotnet/coreclr#5051)
related issue : dotnet/coreclr#4672 dotnet/coreclr#5037
Commit migrated from https://github.com/dotnet/coreclr/commit/
b07c9c9a6542800b50900fccbaa4aa3afc90b616
John Chen [Fri, 27 May 2016 05:31:43 +0000 (22:31 -0700)]
Merge pull request dotnet/coreclr#5262 from JohnChen0/issue5201
Fix generic non-virtual method call in Ready-to-Run images
Commit migrated from https://github.com/dotnet/coreclr/commit/
1dd9f547f2c680625cd60e4e6f4d7bc74b424581
JohnChen0 [Thu, 26 May 2016 22:07:00 +0000 (15:07 -0700)]
Fix generic non-virtual method call in Ready-to-Run images
Issue dotnet/coreclr#5201 revealed a bug in the Ready-to-Run implementation.
This bug can cause the runtime to dispatch a method call to the
wrong target when all the following conditions are met:
* A shared generic method in a Ready-to-Run module calls a method
in a shared generic class.
* The target is a non-virtual instance method, but is called through
callvirt instruction (as C# compiler normally does).
* The target is in a different module.
* The target method is defined in a base class, while the actual
object instance is of a derived class.
This commit fixes this bug by changing a virtual call to a regular
call when the target is non-virtual.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fd217d564b743f995426de7bd642166e0a84849
Kyungwoo Lee [Wed, 25 May 2016 15:38:59 +0000 (08:38 -0700)]
ARM64: Fix Liveness update for Division By Zero
We've missed updating liveness when converting division by zero to a
throw. This fixes an assertion failure in `assert(!varDsc->lvIsRegCandidate());` in
codegenarm64.cpp/L1903.
genConsumeOperands() is factored out of genCodeForBinary(). The call sites
appropriately invoke genConsumeOperands() to update liveness.
Commit migrated from https://github.com/dotnet/coreclr/commit/
38880b77b12bd7a1edb302ac444c207e7445a739
Jarret Shook [Fri, 27 May 2016 04:09:08 +0000 (21:09 -0700)]
Merge pull request dotnet/coreclr#5238 from prajwal-aithal/devel/arm-ci-fix
ARM-CI: fixing umount bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6bfca9beffc188814e05490f48f643e574a1e39
AlexGhiondea [Fri, 27 May 2016 02:27:26 +0000 (19:27 -0700)]
Merge pull request dotnet/coreclr#5217 from AlexGhiondea/updateTargetingPack
Include System.Private.CoreLib in the targeting pack next to the mscorlib facade
Commit migrated from https://github.com/dotnet/coreclr/commit/
93e51c67abc6f79394fd9bcff7e49bde8da624f0
Brian Sullivan [Fri, 27 May 2016 01:52:09 +0000 (18:52 -0700)]
Proposed fix for dotnet/coreclr#5264
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f5dc5cfc2b94b8e6bb0cf763c57d2bf2dfd1342
Matt Ellis [Wed, 25 May 2016 19:37:23 +0000 (12:37 -0700)]
Add Fedora, OpenSuse and Ubuntu 16.04 packages
- Add packages for Fedora 23 and OpenSuse 13.2
- Move the package authoring for Ubuntu into versioned folders
- Update our selection logic for what to produce to be based on an
actual RID instead of just a distro name, since that's now not enough
with us building for two Ubuntu versions
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba385ce8b44e2018579cf3a52e34c3980a82b5c4
Vance Morrison [Fri, 27 May 2016 00:15:14 +0000 (17:15 -0700)]
EventSource Events that use complex types do not get logged (silently ignored)
When complex types were added to EventSource (in V4.6) there was a latent bug where if the event had specified keywords
the event would not be emitted to TraceEvent-style ETW controlers (e.g. PerfVIew). Basically there was confusion
between a session bitmask (where the bits were 0, 1, 2, and 3), and the ETW keywords bitmask (which the 'ToEventKeywords()
morphs them to a Keywords Bitmask.)
This bug has existed foa a while, but we are now using both of those features (keywords and complex types), in the
DiagnosticEventSource and when we started to really use it we found the problem.
You will see in lines 1221 and 1242 is another code path that was already fixed, but we missed the cose path at 1977 and 1998.
This needs to be back-ported to the Desktop framework as well.
Commit migrated from https://github.com/dotnet/coreclr/commit/
42e6d1acf462c91ef8fa99b0953bee8ffd608240
Kyungwoo Lee [Fri, 27 May 2016 00:08:33 +0000 (17:08 -0700)]
Merge pull request dotnet/coreclr#5256 from kyulee1/testupdate
ARM64: A few Test List Update
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e40c4dbfd67fa996fb6cea9842a433b8976e1ed
Aditya Mandaleeka [Fri, 27 May 2016 00:04:08 +0000 (17:04 -0700)]
Add noexcept to some non-throwing new overloads.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d79118c669933813d65be95784143cbb93726bca
Rama Krishnan Raghupathy [Thu, 26 May 2016 18:37:18 +0000 (11:37 -0700)]
Fxing the case of COMPlus_GCStress
Removing Build dependency for GC Stress
Commit migrated from https://github.com/dotnet/coreclr/commit/
a97eacb1813191e07b2f9b12b58ecb4ec72bb653
Gaurav Khanna [Thu, 26 May 2016 23:48:35 +0000 (16:48 -0700)]
Merge pull request dotnet/coreclr#5144 from gkhanna79/RelaxALC2
Enable overriding TPA assemblies
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2f9a4dd588a1a9e6349c8bc4f0694e0d1130ab6
Pat Gavlin [Thu, 26 May 2016 23:03:34 +0000 (16:03 -0700)]
Remove a redundant recursive call to `gtSetEvalOrder`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8aeb642e5a5204846e7275804c1fa86d69d38a7b
Carol Eidt [Thu, 26 May 2016 22:53:14 +0000 (15:53 -0700)]
Recognize Vector<T> constructors for small ints
Fix dotnet/coreclr#5116
Commit migrated from https://github.com/dotnet/coreclr/commit/
a755577a23db6b33c87791495cab7f9d3d1faf00
Andy Ayers [Thu, 26 May 2016 21:16:52 +0000 (14:16 -0700)]
Merge pull request dotnet/coreclr#5239 from AndyAyersMS/TrackCallOffsets
Track call offsets
Commit migrated from https://github.com/dotnet/coreclr/commit/
02eada1015063befd713e1bd60685f3a8bb38184
Lakshmi Priya Sekar [Thu, 26 May 2016 20:47:17 +0000 (13:47 -0700)]
Disable failing test to enable corefx runs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
68250932480d6dd14663f319a5cbdd7da40c9433
Kyungwoo Lee [Thu, 26 May 2016 20:42:58 +0000 (13:42 -0700)]
ARM64: A few Test List Update
CircleInConvex seems to pass after HFA work is merged.
test147911 is about getting hardwared EH (division by zero) which is not
triggered by our arm64 box. So, I exclude it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a453d31ce04c6f2db1c6bba785249038b72c9899
Gaurav Khanna [Thu, 26 May 2016 20:22:11 +0000 (13:22 -0700)]
Merge pull request dotnet/coreclr#5230 from gkhanna79/FixWinMD
WinMD Adapter should only lookup mscorlib in WinMD references
Commit migrated from https://github.com/dotnet/coreclr/commit/
857dc0b1aacc52822b623c8668a047d46d217307
Matt Mitchell [Thu, 26 May 2016 20:10:23 +0000 (13:10 -0700)]
Merge pull request dotnet/coreclr#5252 from mmitche/skip-archiving-tests-for-stressmodes
Skip archiving windows test data
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8cd4e479335414df8cd59380485769a72a66c93
Matt Mitchell [Thu, 26 May 2016 20:03:11 +0000 (13:03 -0700)]
Skip archiving windows test data
We don't need it for downstream stress builds on non-Windows platforms (they use the plain build)
Commit migrated from https://github.com/dotnet/coreclr/commit/
de8f2d8e93317ac22c14a51706ef2edc074d76d7
Joel Hendrix [Thu, 26 May 2016 19:26:19 +0000 (12:26 -0700)]
Merge pull request dotnet/coreclr#5203 from jhendrixMSFT/master
Add retry logic when downloading the CLI from Azure blob storage.
Commit migrated from https://github.com/dotnet/coreclr/commit/
64973a2ee9be8817e8c73d872013e422acae14a0
Lubomir Litchev [Thu, 26 May 2016 18:14:52 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#5235 from LLITCHEV/r2r-jitstress-only-checked
Don't do r2r-jitstress jobs for non Checked configurations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b671a720e48e5a1e5c5fe839bb6d959460f6c82e
Brian Sullivan [Thu, 26 May 2016 17:33:59 +0000 (10:33 -0700)]
Merge pull request dotnet/coreclr#5196 from briansull/arm64-hfa-args
ARM64: ABI - Passing HFA struct arguments in floating point registers
Commit migrated from https://github.com/dotnet/coreclr/commit/
185a23ebc2b54873d00a91e5ef069e6571c8e356
Koundinya Veluri [Thu, 26 May 2016 17:11:49 +0000 (10:11 -0700)]
Merge pull request dotnet/coreclr#5206 from kouvel/ShmCreateDirectoryFix
Fix shm directory creation for named mutexes
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c568d02f781b6f78abd1970dbee7e1e10700847
Joel Hendrix [Thu, 26 May 2016 17:01:38 +0000 (10:01 -0700)]
Add retry logic when downloading the CLI from Azure blob storage.
Downloading from Azure can transiently fail for a number of reasons. Add
some retry logic when downloading to avoid transient failures. For *nix
variants add a retry value when using curl (wget retries by default).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2fab93aebd5365ea3716a4a4d3b87d6047698e09
Lubomir Litchev [Thu, 26 May 2016 03:27:50 +0000 (20:27 -0700)]
Don't do r2r-jitstress jobs for non Checked configurations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6dcc70e2572a354e8de201ac3dff37f53825b9f0
Jarret Shook [Thu, 26 May 2016 15:24:41 +0000 (08:24 -0700)]
Merge pull request dotnet/coreclr#5231 from jashook/build_fix
arm32 build fix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7823f314a3b846c9f04f63653d8f1a1cd5d0a269
Geunsik Lim [Thu, 26 May 2016 08:22:19 +0000 (17:22 +0900)]
Typo Fix: from preemtive GC to preemptive GC (dotnet/coreclr#5237)
This is just to fix typo.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
68b7bfa4df2d08019c3b320d6fbc4a85838f0d47
Geunsik Lim [Thu, 26 May 2016 08:21:39 +0000 (17:21 +0900)]
Linux/ARM: Regression fix in release build since "UNW_ARM_UNWIND_METHOD=6" (dotnet/coreclr#5126)
> https://github.com/dotnet/coreclr/pull/3502/
> Fix Stack Unwind Behavior of Libunwind-ARM
We have been getting the 300+ failures(in ./JIT/ directory) in release-build
mode whenever we have always run CoreCLR unit-test since
https://github.com/myungjoo/coreclr/commit/dotnet/coreclr@
35b5df6888f1574e6ef9313c6bc8522d1817573d.
(Reference - https://wiki.linaro.org/KenWerner/Sandbox/libunwind#overhead_of_the_ARM_specific_unwind-tables)
With recent fixes on stack unwindings, it appears that we no more send ambiguous
requests to libunwind-arm.(Checked by @myungjoo, with cases of dotnet/coreclr#3462)
From now on, let's remove the unwind environment variable (e.g., UNW_ARM_UNWIND_METHOD=6)
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
CC: Ben Pye <@benpye>
CC: Jan Kotas <@jkotas>
CC: Matt Mitchell <@mmitche>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3351bfc78dccbc161ab055883cdb6b7bb3df3c67
Sean Gillespie [Thu, 26 May 2016 05:29:42 +0000 (22:29 -0700)]
Merge pull request dotnet/coreclr#5227 from swgillespie/timeout-increase
Increase the timeout of long GC tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
460fd870c1cd077c1ba9c49fe99148d86f62c80a
Prajwal A N [Thu, 26 May 2016 05:21:18 +0000 (14:21 +0900)]
ARM-CI: fixing umount bug
* Previous PR dotnet/coreclr#5209 did not check if rootfs is mounted before unmounting
* Build fails due to failed command
* Fixing this by unmounting only if rootfs is already mounted
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c971a4545728ce5ebf85fdb39a10a00d2e6541c9
Brian Sullivan [Tue, 24 May 2016 21:03:49 +0000 (14:03 -0700)]
Enable HFA support for passing arguments on ARM64
Fixes dotnet/coreclr#4946 ARM64: ABI - Passing HFA struct arguments in floating point registers
We are now passing 24 additional HFA tests and have one test regression
Previously HFA support was enabled on ARM32 using #ifdef _TARGET_ARM_
Now HFA support is enabled for both platform using #ifdef FEATURE_HFA
Note that FEATURE_HFA is a VM defined and enable only for platforms that have HFA support
The VM is responsible for determining if a stuct is a HFA or not
The JIT Calls this method CorInfoType CEEInfo::getHFAType(CORINFO_CLASS_HANDLE hClass) to identify HFA types
Note that when using an AltJit targeting Arm32 or Arm64 we will never see an HFA type
In CodegenArm64.cpp
Method genPutArgStk
Implement passing of HFA structs on the stack
Refactored to handle both 16-byte structs and HFA struct
Track GC types for the 16-byte structs or he floating point types for HFA's
Use ldp when we have a 16-byte struct with no GC pointers
Added asserts to check that we never write past the end of the outgoing arg area
In CodegenCommon.cpp
Method genFnPrologCalleRegArgs
Implement the homing of incoming HDF variables
These are currently homed into a stack based struct as we did for ARM32
Use floating point types and registers when handling HFAs
Added asserts to check that we never write past the end of the stack based struct
Added Dump method for fgArgTabEntry to display how arguments will be passed
Added GetNextSlotNum for fgArgInfo which returns what stack offset we would use for the next stack base argument
Fixed tree dump so that it can print multireg struct arguments
In Morph.cpp
Method ArgsComplete
We currently chose to spill odd sized structs (11,13,14,15 bytes in size) into a GT_LCL_VAR temp so that we don't
need to use more than two instructions to pass a GT_OBJ struct. (Since we cannot read beyond the end of a GT_OBJ struct)
Method fgMorpgArgs
Handle HFAs for multireg and stack arguments
In this method 'size' is the number of registers used when passing an argument in registers
or the number of TARGET_POINTER_SIZE stack slots when passing them on the stack
For HFA this means that 'size' can change if we can't pass them using registers.
Use new Dump method to print out how each argument is passed (what register or what stack slot)
Method fgMorphMultiregStuctArg
Implement the expansion of multireg HFA arguments into GT_LISTs
Refactored to handle both 16-byte structs and HFA struct
Track GC types for the 16-byte structs or he floating point types for HFA's
Changes from code review feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2efe59bec6e0b70b2ede2dc0301a790d465e6a4
Pat Gavlin [Thu, 26 May 2016 03:17:38 +0000 (20:17 -0700)]
Merge pull request dotnet/coreclr#5207 from pgavlin/gh5202
Limit the exports of libclrjit.{so,dylib}.
Commit migrated from https://github.com/dotnet/coreclr/commit/
90bfb614bf3dc933f33878cff542ba20435369fa
Aditya Mandaleeka [Thu, 26 May 2016 01:34:51 +0000 (18:34 -0700)]
Merge pull request dotnet/coreclr#5220 from adityamandaleeka/force_gc_concurrent
Check CLRConfig value explicitly to determine whether concurrent GC was forced
Commit migrated from https://github.com/dotnet/coreclr/commit/
230aa6adb070c9c5ba7ae5b7ea2f1fdc96efed7f
Andy Ayers [Wed, 25 May 2016 18:14:02 +0000 (11:14 -0700)]
Inliner: enable minimal xml mode
Allow production of minimal inline xml, which only contains entries
for methods with inlines. Enabled if `JitInlineDumpXml = 2`.
Since the default for inline replay is noinline, replaying minimal
versus full xml should give the same result.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a48a63f48edc033be423c3dc1de983017954d87d
Andy Ayers [Tue, 24 May 2016 18:12:14 +0000 (11:12 -0700)]
Inliner: use offset in xml replay
Replay needs the ability to distinguish among multiple calls to the same
callee. The IL offset of the call site can be used for this, so start
checking for it during replay.
Note there is subsequent follow-up work to ensure that we actually track
offsets for calls.
Refactor the way the ReplayPolicy gets notified of the current inline
context (and the IL offset of the call). Instead of trying to pass
this information as arguments to the factory method that creates
policies, add special notifications for this information that only the
ReplayPolicy will act upon.
Commit migrated from https://github.com/dotnet/coreclr/commit/
be9d889b084099797dfcf019b2820433558dbec9
Andy Ayers [Tue, 24 May 2016 18:49:15 +0000 (11:49 -0700)]
JIT: Track IL offset of all calls
The jit normally only does sparse IL offset tracking. This makes it
difficult for the jit to consistently describe call sites, especially in
cases where there are multiple calls in a statement or calls from inlined
methods.
Because the current IL tracking is intimately tied up with debug
emission, we can't simply start tracking offsets more broadly. This
change introduces a separate `gtRawILOffset` field for calls. The
new field currently only exists in debug and inline data builds.
Since `impImportCall` was the only caller of `impCurILOffset`, I
refactored the code to have callers pass the raw offset so it could
be recorded on the call. `impImportCall` converts this raw offset to
the reportable IL offset as befre. I've also updated the banner comment
to the new style and fixed a few small CC violations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
78b78103b0a155bc3abbb4b6878390959062ef8c
Andy Ayers [Thu, 26 May 2016 01:15:14 +0000 (18:15 -0700)]
Merge pull request dotnet/coreclr#5187 from AndyAyersMS/InlineXmlData
Inliner: integrate data into inline Xml
Commit migrated from https://github.com/dotnet/coreclr/commit/
049961ad651dda73a2578f37df5b1d5e88345d0a
AlexGhiondea [Wed, 25 May 2016 23:07:26 +0000 (16:07 -0700)]
Merge pull request dotnet/coreclr#5216 from AlexGhiondea/restorePackageVersion
Restore the package version to 1.0.2 for the CoreCLR package
Commit migrated from https://github.com/dotnet/coreclr/commit/
31778913d14810c710e88c343cb401eddb994f55
Matt Mitchell [Wed, 25 May 2016 22:55:28 +0000 (15:55 -0700)]
Merge pull request dotnet/coreclr#5209 from prajwal-aithal/devel/arm-ci-fix
ARM-CI: Mount Linux ARM emulator rootfs during each build
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfdb63b96c1361be281910847066c505d22ee5d3
Jarret Shook [Wed, 25 May 2016 22:46:46 +0000 (15:46 -0700)]
arm32 build fix.
Add an #else statement so that an unreachable return statement is not inserted.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae88d1daea78dd696391ac16c381963229f48ac4
Gaurav Khanna [Wed, 25 May 2016 22:42:20 +0000 (15:42 -0700)]
WinMD Adapter should only lookup mscorlib in WinMD references
Commit migrated from https://github.com/dotnet/coreclr/commit/
57c5bd38021e154e0949c204b759208541d56f39
Russ Keldorph [Wed, 25 May 2016 22:32:17 +0000 (15:32 -0700)]
Merge pull request dotnet/coreclr#5219 from ellismg/improve-corefx-copy-logic
Fix runtest.sh issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
0473063987e041201dd0c3ef91f983d1f978b7ba
Sean Gillespie [Wed, 25 May 2016 22:20:45 +0000 (15:20 -0700)]
Increase the timeout of long GC tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac9238e28be14234cd0c64bf9e492fa34ce7a30f
Tarek Mahmoud Sayed [Wed, 25 May 2016 22:09:12 +0000 (15:09 -0700)]
Merge pull request dotnet/coreclr#5221 from tarekgh/UpgradeUnixBuildToUnicode8
Upgrade Linux build to use Unicode 8.0
Commit migrated from https://github.com/dotnet/coreclr/commit/
8eb31f2e602d699ce47e8dee2b5b81dce6bebba2
Aditya Mandaleeka [Wed, 25 May 2016 21:45:38 +0000 (14:45 -0700)]
Remove CORECLR_CONCURRENT_GC from Unix coreruncommon.
Commit migrated from https://github.com/dotnet/coreclr/commit/
18fb747a7bc519d874c85d36eccfe1aaf4f18ab6
Matt Ellis [Wed, 25 May 2016 17:25:49 +0000 (10:25 -0700)]
Be more explict when picking up libs from CoreFx
There's no contract in the CoreFx build layout that enforces an assembly
is only in one location in the resulting binaries folder. Different
projects may have different versions of dependent assemblies SxS with them
in their output folder.
To work around this, update the copy logic to use the folder name to
determine what assembly to copy from it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcda7c5bbd829b76319a99394186ae9a90df4b51
William Godbe [Wed, 25 May 2016 20:25:05 +0000 (13:25 -0700)]
Merge pull request dotnet/coreclr#5224 from wtgodbe/runtestFix
Add missing quote in new runtest.cmd arg
Commit migrated from https://github.com/dotnet/coreclr/commit/
619b60a1093536d469ee70ea4eac473e46fc59f1
wtgodbe [Wed, 25 May 2016 20:14:50 +0000 (13:14 -0700)]
Add missing quote in new runtest.cmd arg
Commit migrated from https://github.com/dotnet/coreclr/commit/
935accb4e58e51f583538d5377223dfafee53abe
Pat Gavlin [Tue, 24 May 2016 23:00:37 +0000 (16:00 -0700)]
Limit the exports of libclrjit.{so,dylib}.
Properly set the necessary linker options to limit libclrjit's exports
on *nix platforms. This change also includes some minor cleanup to the
JIT's various CMake list files.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ea0ad01345fccfbb7eb07da64f91cddb150b82c
Tarekm Mahmoud Sayed [Wed, 25 May 2016 17:57:21 +0000 (10:57 -0700)]
Upgrade Linux build to use Unicode 8.0
We have done this upgrade for Windows awhile ago. the change here is to do the same for Linux
The fix should take care with the issue https://github.com/dotnet/corefx/issues/7351
Commit migrated from https://github.com/dotnet/coreclr/commit/
38fa1f937d081f0f3ad423f83652fbc259823675
Aditya Mandaleeka [Wed, 25 May 2016 17:32:18 +0000 (10:32 -0700)]
Explicitly check CLRConfig value to determine whether concurrent GC was forced.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e15606ec53f2686d198a2edec9b6a8b9907c7ec8
Alex Ghiondea [Tue, 24 May 2016 18:43:30 +0000 (11:43 -0700)]
Include System.Private.CoreLib in the targeting pack next to the mscorlib facade.
Commit migrated from https://github.com/dotnet/coreclr/commit/
780a7da70ee42797f97a5d27444cac144db0de83
Alex Ghiondea [Wed, 25 May 2016 17:14:00 +0000 (10:14 -0700)]
Restore the package version to 1.0.2 for the ILAsm/ILDAsm packages.
This change also updates the reference to the CoreCLR package to 1.0.2. (the updated version).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ce24072ac115753b1e726e311f73722b5d6a6b7
Michelle McDaniel [Wed, 25 May 2016 16:29:26 +0000 (09:29 -0700)]
Merge pull request dotnet/coreclr#5184 from adiaaida/x86LongCallImp
Enable FEATURE_MULTIREG_RET for x86 RyuJIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
d316b89adcb622f28b3ba85eddeff345b289c423
Alex Ghiondea [Wed, 25 May 2016 16:26:06 +0000 (09:26 -0700)]
Restore the package version to 1.0.2 for the CoreCLR package
This will ensure the package version is consistent with our other packages.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c198453765fb25d72bcd9e568e642a40eeecbba
Michelle McDaniel [Thu, 19 May 2016 16:55:09 +0000 (09:55 -0700)]
Enable FEATURE_MULTIREG_RET for x86 RyuJIT
This change enables the following:
1) Enable FEATURE_MULTIREG_RET for x86 RyuJIT, which is used for calls
with long return types.
2) Enable ReturnTypeDesc for x86 RyuJIT to describe the return types for
longs. Included in this is setting up the correct number of return
registers for longs on x86, and setting up the correct registers for long
returns. This is required for enabling impFixupCallLongReturn. Add Reset
function for ReturnTypeDesc for future work to reset ReturnTypeDesc to the
defaults.
3) Enabling HasMultiRegRetVal for longs on x86.
4) Enabling impFixupCallLongReturn and impAssignStructClassToVar for x86
longs. Sets up the call's ReturnTypeDesc and sets lvIsMultiRegArgOrRet for
long's tmp. Rename impAssignStructClassToVar to
impAssignMultiRegTypeToVar.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6fb5ce9128b1a2d1b4d5b05cff4c011b98f2f5f7
Koundinya Veluri [Tue, 24 May 2016 21:16:57 +0000 (14:16 -0700)]
Fix shm directory creation for named mutexes
- Creating a directory involves mkdir and chmod. Due to this, there could be a race where one process running as one user creates the directory but does not update permissions for all uses to have access, and at that point another process tries to use the directory.
- Fixed by creating a temp directory using mkdtemp(), chmod to set appropriate permissions for all users, and rename the directory. This is only done when a global lock is not held during the directory creation operation (applies only to /tmp/.dotnet and /tmp/.dotnet/shm).
- Tested manually by adding sleeps at the race points with a second process running as a different user, to make sure it works in any order.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f668a73f4e8dbd819e1d59fe27f23aa6ce229232
Prajwal A N [Wed, 25 May 2016 14:22:57 +0000 (23:22 +0900)]
arm-softfp: make toolchain.cmake consistent among different arm archs (dotnet/coreclr#5210)
Fixes dotnet/coreclr#5177
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
046085a7bbc924739773576da20951efff194adb
Sergiy Kuryata [Wed, 25 May 2016 05:20:33 +0000 (22:20 -0700)]
Merge pull request dotnet/coreclr#5208 from sergiy-k/runtestoverlay
Update runtest.sh to accommodate a change in CoreFX
Commit migrated from https://github.com/dotnet/coreclr/commit/
e172a238e2400fd8b8d1b96678bacbc43a2d033b
Prajwal A N [Wed, 25 May 2016 03:25:55 +0000 (12:25 +0900)]
ARM-CI: added a fix to mount Linux ARM emulator rootfs during each build
* Previous PR dotnet/coreclr#4141 assumed that the rootfs is mounted
throughout the lifespan of the CI machine
* Changing this to mount and unmount everytime a build is triggered
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
148abd190e7630865c925f1273693a7f97a384e8
Sergiy Kuryata [Wed, 25 May 2016 02:41:58 +0000 (19:41 -0700)]
Update runtests.sh to accommodate a change in CoreFX that broke creation of CoreOverlay on Unix platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
a19e82fe9e7ae44136ce7eee5892de7471533d6b
Jonghyun Park [Wed, 25 May 2016 02:23:51 +0000 (11:23 +0900)]
[ARM/Linux] Fix incorrect return marshaling in PInvoke stub (dotnet/coreclr#5010)
* Revises compMethodReturnsMultiRegRetType for ARM
For ARM, the current implementation of 'compMethodReturnsMultiRegRetType'
always returns false.
Unfortunately, this behavior is inconsistent with JIT importer. JIT impoter
attempts to merge various return statements as one statement via inserting
an assignment statement just before each return statement if there are more
than 4 returns.
If the method of interest has a return value, then JIT importer
introduces a local temporary variable, and use it to return value.
Due to the above implementation, JIT importer never generates a return
variable, which results in assertion violation insider JIT morph, which
is discussed in dotnet/coreclr#5009.
This commit attempts to fix dotnet/coreclr#5009 via implementing 'compMethodReturnsMultiRegRetType'
for ARM.
* Uses compRetNativeType instead of compRetType
* Fix typo '_TARGET_ARM' as '_TARGET_ARM_'
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcc8495653c03b8ba4bb61fbd4828cac90789c4e
Manu [Wed, 25 May 2016 02:21:23 +0000 (11:21 +0900)]
Support the CORE_LIBRARIES environment variable on Unix (dotnet/coreclr#5112)
Mimic the Windows behavior by adding to the search path of native dlls
the content of the CORE_LIBRARIES environment variable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
31031a3e21e6cbe227b99d9febcfaa554a8774d1