Sean Gillespie [Fri, 17 Mar 2017 00:18:28 +0000 (17:18 -0700)]
[Local GC] Break EE dependency on GC's generation table and alloc lock in single-proc scenarios (dotnet/coreclr#10065)
* Remove usage of the generation table from the EE by introducing an
EE-owned GC alloc context used for allocations on single-proc machines.
* Move the GC alloc lock to the EE side of the interface
* Repair the Windows ARM build
* Move the decision to use per-thread alloc contexts to the EE
* Rename the lock used by StartNoGCRegion and EndNoGCRegion to be more indicative of what it is protecting
* Address code review feedback 2 (enumerate the global alloc context as a part of GCToEEInterface)
* Code review feedback (3)
* Address code review feedback (move some GC-internal globals to gcimpl.h and gc.cpp)
* g_global_alloc_lock is a dword, not a qword - fixes a deadlock
* Move GlobalAllocLock to gchelpers.cpp and switch to preemptive mode when spinning
* Repair the Windows x86 build
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b827b5a82f8c6f8a9ed760ee127938dea5a7ea4
Pat Gavlin [Fri, 17 Mar 2017 00:08:05 +0000 (17:08 -0700)]
Merge pull request dotnet/coreclr#10240 from pgavlin/fixerrorlevel
Fix test failure detection when dumps are enabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
54368dad5842089ed7b6a444fa50116d2c0a0b09
Pat Gavlin [Thu, 16 Mar 2017 23:37:16 +0000 (16:37 -0700)]
Fix test failure detection when dumps are enabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
03bce7880d867b85e39616cf5d0f13e9850167c5
Swaroop Sridhar [Thu, 16 Mar 2017 23:12:46 +0000 (16:12 -0700)]
Add a lab job for Coreclr testing via ILLINK (dotnet/coreclr#10200)
This commit adds a job that:
1) Clones https://github.com/mono/linker
2) Builds the linker for netcoreapp2.0
3) Builds CoreCLR and tests using the IlLinker built above
The job is run daily, and can be reqested from PRs as necessary.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a49486160e8b822609dae192ad5606bfc5c4ec05
Daniel Podder [Thu, 16 Mar 2017 21:37:07 +0000 (14:37 -0700)]
Add IBC support to managed build (dotnet/coreclr#10180)
Add a new build switch, `ibcinstrument`, that adds `/Tuning` on the `crossgen`
command line when building System.Private.CoreLib and its peers. Automatically
consume IBC optdata during builds when these conditions are met:
1. `ibcinstrument` is *not* passed to the build,
2. optdata is available
3. ibcmerge is available
Note that `optdata` will not yet be restored with this change; once packages for
master are made available, a new package reference will still need to be added.
This PR attempts to unblock manually testing IBC, as well as surrounding
CI/infrastructure work.
To help produce an IBC-optimized build using manually generated profile data,
run the newly added `tests/scripts/optdata/bootstrap.py` script. It will
configure the build to consume IBC data from a path automatically, and print out
that path where profile data can be copied.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b64c03493a4b7e4336f0dabbdf4ed980f0d109c
Buyduck [Thu, 16 Mar 2017 20:24:17 +0000 (23:24 +0300)]
Removed check for the maximum quantity of arguments (dotnet/coreclr#10232)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1087c7acbc4dc1bc4556af629a67ea606a96713
dotnet bot [Thu, 16 Mar 2017 20:16:01 +0000 (13:16 -0700)]
Update CoreClr to beta-25116-01 (dotnet/coreclr#10163)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4ae90091d5dfad544bcca2d20188055392dd815
Atsushi Kanamori [Thu, 16 Mar 2017 19:27:56 +0000 (12:27 -0700)]
Fixing more file-class correspondence violations. (dotnet/coreclr#10231)
* Cloned files.
* Reduce each file to its namesake class.
* Cleanup
* Fix build break.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3cd6bc2cde83c5e9a87253cd5fe7ed8aaafbde3
Pat Gavlin [Thu, 16 Mar 2017 18:49:26 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#10214 from pgavlin/TimeoutCrashDumps
Take crash dumps for timed-out tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d02d3bc5cab6ea40c4c431cbbcc7e14a5332835
Pat Gavlin [Thu, 16 Mar 2017 00:28:42 +0000 (17:28 -0700)]
Take crash dumps for timed-out tests.
This change updates the test infrastructure to collect crash dumps for
tests that time out. We've been seeing a number of tests that only time
out in CI (e.g. dotnet/coreclr#10076); hopefully this will help us root-cause the
timeouts.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f30002fc917cdacd4d0565f05ded920ab17f830
Stephen Toub [Thu, 16 Mar 2017 16:46:19 +0000 (12:46 -0400)]
Merge pull request dotnet/coreclr#10164 from stephentoub/fs_pipe_crash
Ignore FileStream.FlushWriteBuffer failures during finalization
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d8e1382eea401386890bc38065fa9b8ef76141e
Jan Kotas [Thu, 16 Mar 2017 14:32:12 +0000 (07:32 -0700)]
Delete mscorlib facade (dotnet/coreclr#10157)
Fixes dotnet/coreclr#7607
Commit migrated from https://github.com/dotnet/coreclr/commit/
84aab5f59d023849b9ccdc290e698e4a61ac75a2
Eric Erhardt [Thu, 16 Mar 2017 12:45:32 +0000 (07:45 -0500)]
Merge pull request dotnet/coreclr#10177 from eerhardt/TZPosixNames
Support bracket enclosed names in TZ POSIX rules
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f4861922d1761bfcb339d2474fd1b414cec8004
Rahul Kumar [Thu, 16 Mar 2017 07:51:50 +0000 (00:51 -0700)]
Hide types which are now public in corefx (dotnet/coreclr#10142)
Commit migrated from https://github.com/dotnet/coreclr/commit/
14207f4d68ec9d16ad88b424bc60c452a30742aa
Yuriy Solodkyy [Thu, 16 Mar 2017 04:55:53 +0000 (21:55 -0700)]
Minor fix to address ?: VC conformance improvement. (dotnet/coreclr#10208)
Visual C++ has made some conformance changes to conditional operator
that will be available under /permissive- and which make the inference of
result type of the conditional operator in these 2 places ambiguous. This
happens because the class type in one of the arguments provides both: the
constructor from and the conversion operator to T - LCWSTR here.
Commit migrated from https://github.com/dotnet/coreclr/commit/
67f40646d76d914ab7f099df25768c73c4f55bad
Matt Mitchell [Thu, 16 Mar 2017 04:55:25 +0000 (21:55 -0700)]
Temporarily disable flaky sleep test (dotnet/coreclr#10221)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a10391e57742487dd2458213d61c35f31139a4c
Stephen Toub [Thu, 16 Mar 2017 04:55:11 +0000 (00:55 -0400)]
Fix Convert.FromBase64CharArray with empty array (dotnet/coreclr#10224)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9870e4edc898d24fb5d066b08d1472a03e4c75c5
Evgeny Pavlov [Thu, 16 Mar 2017 04:30:37 +0000 (07:30 +0300)]
[x86/Linux] Fix NativeCallableTest (dotnet/coreclr#10060)
* [x86/Linux] Fix NativeCallableTest
* Move m_cbActualArgSize adjustment outside if statement
* [x86/Linux] Adjust m_cbActualArgSize in case pStubMD == NULL
* [x86/Linux] Move m_cbActualArgSize calculation to #else part of '#ifdef _TARGET_X86_'
* [x86/Linux] Remove redundant computations, add comments for m_cbActualArgSize meaning
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f3aa999a842cfa4bf83415e88ea7fb1650ab5bf
Eric Erhardt [Thu, 16 Mar 2017 04:25:55 +0000 (23:25 -0500)]
Merge pull request dotnet/coreclr#10168 from eerhardt/PortablePDBs
Make portable PDBs on Unix instead of no symbols at all.
Commit migrated from https://github.com/dotnet/coreclr/commit/
debcfa9e83bb9d5896f922fd8682241dec79d5e7
Rahul Kumar [Thu, 16 Mar 2017 04:11:22 +0000 (21:11 -0700)]
Enable use of Volatile<T> on arm64 to get correct memory consistency (dotnet/coreclr#10212)
Commit migrated from https://github.com/dotnet/coreclr/commit/
271431af41f9a1a3287bb936e847ac6d8e2fb887
Jonghyun Park [Thu, 16 Mar 2017 04:05:56 +0000 (13:05 +0900)]
Clean up fcall.h (dotnet/coreclr#10158)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd95a2e99450f892e56d9703cc71ddd682421e62
Jonghyun Park [Thu, 16 Mar 2017 04:05:30 +0000 (13:05 +0900)]
Reorder stack arguments on reverse P/Invoke (dotnet/coreclr#10217)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e55c985fb2c833b332581680f050bf7ebaa98f5f
Hanjoung Lee [Thu, 16 Mar 2017 03:29:34 +0000 (12:29 +0900)]
[x86/Linux] Fix IL_STUB_PInvoke with RetBuf (dotnet/coreclr#10144)
* [x86/Linux] Fix IL_STUB_PInvoke with RetBuf
Fix calling convention and IL_STUB_PInvoke for native functions
which was problematic for native functions that has
a RetBuf argument(struct size <= 8) on x86/Linux.
Fix dotnet/coreclr#10027
Commit migrated from https://github.com/dotnet/coreclr/commit/
9422f47c5de802d877c08f9f5118471b375239b1
William Godbe [Thu, 16 Mar 2017 01:16:25 +0000 (18:16 -0700)]
Merge pull request dotnet/coreclr#10218 from dotnet/revert-10213-buildType
Revert "Add BuildType to helixpublish.proj"
Commit migrated from https://github.com/dotnet/coreclr/commit/
60a73101ad8becbec2ad7d00b6451d135becc074
William Godbe [Thu, 16 Mar 2017 01:16:06 +0000 (18:16 -0700)]
Merge pull request dotnet/coreclr#10219 from dotnet/revert-10210-distroRid
Revert "Make user specify RID for publishing test native bins into"
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a81735ec7c6397f99f91c838ff9ec588283ef57
William Godbe [Thu, 16 Mar 2017 01:15:56 +0000 (18:15 -0700)]
Revert "Make user specify RID for publishing test native bins into"
Commit migrated from https://github.com/dotnet/coreclr/commit/
42bf84445b9edbfd7a22e15936cf7ea8b13a3f16
William Godbe [Thu, 16 Mar 2017 01:15:28 +0000 (18:15 -0700)]
Revert "Add BuildType to helixpublish.proj"
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec6111af130c265276d0b0bd77bed359c6f6d554
Rahul Kumar [Thu, 16 Mar 2017 00:46:48 +0000 (17:46 -0700)]
Merge pull request dotnet/coreclr#9876 from sdmaclea/PR-ARM64-ForeignThreadExceptionsNative
[Arm64] Enable building ForeignThreadExceptionsNative
Commit migrated from https://github.com/dotnet/coreclr/commit/
02c8cc90b9cfb2ab6b111b4e0c4f1a6d17e5d4a1
Rion Williams [Thu, 16 Mar 2017 00:38:04 +0000 (19:38 -0500)]
Fix ToTitleCase Functionality for Dutch Cultures (dotnet/coreclr#10195)
* Add Methods to Handle Dutch Titlecasing
Added the `IsDutchCulture` and `IsIjAtCurrentPosition` methods to handle
resolving a special-case for Dutch titlecasing, which should properly
capitalize any instances of "IJ" at the beginning of a titlecased word.
* Moved `IsDutchCase()` Call Into Local Variable
Moved the check for Dutch culture outside of the title-loop to avoid unnecessary evaluations.
* Performance Changes and Improvements to Dutch Titlecasing
Removed `IsDutchCulture()` method in favor of an inline approach relying
on the `StartsWith()` method; Remove the `IsIjAtCurrentPosition()`
method in favor of another inline approach to improve performance.
* Minor Formatting Change
Added space for `isDutchCulture` line, as it managed to disappear somewhere along the way.
Commit migrated from https://github.com/dotnet/coreclr/commit/
50232d6448e63ccd04fa9e92199292621b049d5c
William Godbe [Thu, 16 Mar 2017 00:27:03 +0000 (17:27 -0700)]
Merge pull request dotnet/coreclr#10213 from wtgodbe/buildType
Add BuildType to helixpublish.proj
Commit migrated from https://github.com/dotnet/coreclr/commit/
1af419659034d9297b95240e889e4571ccefa710
wtgodbe [Thu, 16 Mar 2017 00:26:47 +0000 (17:26 -0700)]
Add BuildType to helixpublish.proj
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4f1d88974ca533d6dcf604e2a7c4f560388b500
Matt Mitchell [Thu, 16 Mar 2017 00:06:54 +0000 (17:06 -0700)]
Change CoreCLR to use Sierra (dotnet/coreclr#10173)
* Switch to full 10.12
* Disable query performance counter test
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf90ab4abff1b5e1a2780b0e7ed2ae8c5826e597
William Godbe [Wed, 15 Mar 2017 23:06:35 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#10210 from wtgodbe/distroRid
Make user specify RID for publishing test native bins into
Commit migrated from https://github.com/dotnet/coreclr/commit/
4065f0fd553025f3bf028b5a3018c026909473be
William Godbe [Wed, 15 Mar 2017 23:04:47 +0000 (16:04 -0700)]
Merge pull request dotnet/coreclr#10206 from wtgodbe/MultiQueue
Add support for Multiqueing jobs in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ed7bf42bd604ea136ca9c03d9fedcad86be4864
Atsushi Kanamori [Wed, 15 Mar 2017 22:52:05 +0000 (15:52 -0700)]
Migrate MethodBase.cs over to the shared partition. (dotnet/coreclr#10202)
* Replace each member with CoreRt prose.
* Lightup IsConstructedGenericMethod
* Copy over CoreRt MethodBase.cs (this is now just a reordering)
* Move MethodBase.cs verbative over to shared partition.
* AAAAND.... it looks like this exercise exposed a bug in CoreRt.
* Resolved merge conflict
Commit migrated from https://github.com/dotnet/coreclr/commit/
450ac8f965586c7b28488b6af16855a383da6278
wtgodbe [Wed, 15 Mar 2017 22:49:20 +0000 (15:49 -0700)]
Make user specify RID for publishing test native bins into
Commit migrated from https://github.com/dotnet/coreclr/commit/
2758c911699794e791779682f2383f5d230f62e1
Alex Perovich [Wed, 15 Mar 2017 22:42:02 +0000 (17:42 -0500)]
Move System.Convert code to shared partition (dotnet/coreclr#10178)
* Move System.Convert code to shared partition
* Use ReferenceEquals for type equality
Commit migrated from https://github.com/dotnet/coreclr/commit/
65ca581afb6ad852e4533fcbaaa2f02269d8c2df
wtgodbe [Wed, 15 Mar 2017 21:39:41 +0000 (14:39 -0700)]
Add support for Multiqueing jobs in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
d229d0021869b1fafaeb51c512300925f7d3c5e5
William Godbe [Wed, 15 Mar 2017 21:35:19 +0000 (14:35 -0700)]
Merge pull request dotnet/coreclr#10196 from wtgodbe/fixHelix
Build Targeting Pack after restoring packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9149fd4af753c9862710bf9aed35b508a95501c
Atsushi Kanamori [Wed, 15 Mar 2017 19:55:21 +0000 (12:55 -0700)]
Prepare MethodBase.cs for migration to shared partition. (dotnet/coreclr#10194)
* Clone the files w/out changes.
* Distill each file to its intended subset.
* Minimize usings.
* Renamed to *.CoreClr.cs - extended free car wash to fix the nits.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb54ecde215f4aa705151f66e8b3b593ca0b3772
wtgodbe [Wed, 15 Mar 2017 19:05:21 +0000 (12:05 -0700)]
Build Targeting Pack after restoring packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee8d950930e6efc8568ddafe4fd5c925ce1b1145
Bruce Forstall [Wed, 15 Mar 2017 18:01:56 +0000 (11:01 -0700)]
Merge pull request dotnet/coreclr#10166 from alpencolt/ryu-arm-arr-tests
Added Array tests to CodeGenBringUpTests
Commit migrated from https://github.com/dotnet/coreclr/commit/
4abd845c8908fad3a8e92a403471c61701fa76da
Swaroop Sridhar [Wed, 15 Mar 2017 17:40:25 +0000 (10:40 -0700)]
Add support for testing via ILLINK
Add support for testing via ILLINK
This commit has the following changes:
1) Setup the testing infrastructure to run the CoreCLR tests after linking through ILLinker
`runtest.cmd /link <path-to-illink.exe>`
2) The linker is taken as an argument for runtest.cmd, typically the corebuild of
https://github.com/mono/linker
3) Tests are run by linking the test binaries and all libraries except `System.Private.Corelib.dll`
4) For tests that use reflection, setup Reflection roots in source directories as `<test>.reflect.xml`
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f8ba1a8bd20ce2330b8d733f1e51959470fdd8f
Eric Erhardt [Tue, 14 Mar 2017 17:49:43 +0000 (12:49 -0500)]
Support bracket enclosed names in TZ POSIX rules
The POSIX time zone rules at the end of a tzfile have been updated to allow digits, plus signs and minus signs in the time zone names by enclosing the name in `<` and `>` characters. TimeZoneInfo's parsing logic was written using an older version of the spec, so it didn't have support for this format.
Fix https://github.com/dotnet/corefx/issues/16962
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bcc0d5d9e8870bfb579c069c2d5b4dd3b4b3b1e
Atsushi Kanamori [Wed, 15 Mar 2017 13:40:24 +0000 (06:40 -0700)]
Replace MemberInfo.cs with the CoreRt version and move to shared partition. (dotnet/coreclr#10167)
* Move file verbatim.
* Port over CoreRT style sans reordering.
* Final replacement with CoreRt file.
Commit migrated from https://github.com/dotnet/coreclr/commit/
44df0f37ce9e4e4ea63718ba0b4e74d53970037a
Alexander Soldatov [Tue, 14 Mar 2017 13:34:39 +0000 (16:34 +0300)]
Added Array tests to CodeGenBringUpTests
Commit migrated from https://github.com/dotnet/coreclr/commit/
f734e77607bdf9b39049216948fc6ce243c69852
Bruce Forstall [Wed, 15 Mar 2017 04:27:57 +0000 (21:27 -0700)]
Merge pull request dotnet/coreclr#10145 from hqueue/arm/ryujit/shiftrotate_decomposed_long
[Ryujit/ARM32] Support shift and rotate for decomposed long
Commit migrated from https://github.com/dotnet/coreclr/commit/
19e1cd299da301d1b2cb18ae8479595dbfc7224c
Andy Ayers [Wed, 15 Mar 2017 02:45:10 +0000 (19:45 -0700)]
JIT: preliminaries to improve types (dotnet/coreclr#10172)
Refactor the logic in `impDevirtualizeCall` so that the part that determines
the type of a tree for ref types is now a new utility method that can be called
elsewhere.
Update the utility to examine calls more closely. For inline candidates that
return shared types, try and use the context to get to the unshared version of the
type. For calls that are not inline candidates, look at the type in the signature
available to the jit w/o context.
Call the utility when we've created a temp for an inlinee's argument and the
argument is not modified in the inlinee body. If we already thought we knew the
type of the temp exactly, ensure that this new information agrees.
Rework the logic in `impDevirtualizeCall` in anticipation of interface call
devirtualization. Update the diagnostic stream to indicate the kind of call
devirtualized and the primary reason why devirtualization happened.
Avoid fetching class and method names unless they're going to be used. Likewise
try not to fetch attributes if we already have them on hand.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ea5447c9b090e621aed9e20a580178e97dabf8f
Stephen Toub [Tue, 14 Mar 2017 23:59:24 +0000 (19:59 -0400)]
Merge pull request dotnet/coreclr#9276 from benaadams/sealed-encodings
Support Encoding devirtualization
Commit migrated from https://github.com/dotnet/coreclr/commit/
b178cb3fa54304cde31c15696b9262dcb4b655b1
Jarret Shook [Tue, 14 Mar 2017 23:27:28 +0000 (16:27 -0700)]
Merge pull request dotnet/coreclr#10152 from jashook/assert_pcodes_pcodesstart_lt_256
[Arm64] Always add UWC_END
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fc0f7caa16111c2775e2eb156ddb6ae7f9a7172
Bruce Forstall [Tue, 14 Mar 2017 23:07:35 +0000 (16:07 -0700)]
Merge pull request dotnet/coreclr#10023 from parjong/fix/clr_abi
Update CLR ABI PSPSym Section
Commit migrated from https://github.com/dotnet/coreclr/commit/
d003d3c0efe81330768d68289b19dd3ca0758880
Pat Gavlin [Tue, 14 Mar 2017 21:12:56 +0000 (14:12 -0700)]
Merge pull request dotnet/coreclr#10171 from pgavlin/TestWrapperTimeouts
Do not wait on std{out,err} when a test times out.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b51e55be675b4b823f7a969f25f9ad024953da0
William Godbe [Tue, 14 Mar 2017 20:49:08 +0000 (13:49 -0700)]
Merge pull request dotnet/coreclr#10176 from wtgodbe/BuildToolsAgain
Update Buildtools Version
Commit migrated from https://github.com/dotnet/coreclr/commit/
67572c23bdcfaec4379f442da2bdc66d0b80c972
William Godbe [Tue, 14 Mar 2017 20:48:46 +0000 (13:48 -0700)]
Merge pull request dotnet/coreclr#10175 from wtgodbe/NonWindowsTargetingPack
Copy Targeting Pack files into Core_Root for Non-Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8fbad1e47e045735b4f32a08bb1b6857a4acc0a
Tarek Mahmoud Sayed [Tue, 14 Mar 2017 19:12:04 +0000 (12:12 -0700)]
Fix tz rules (dotnet/coreclr#10169)
* Fix the TZ Rule data on Linux
On Linux when the caller ask for the TZ adjustment rules we convert the internal stored rule data from UTC to local time. we used to TZI.Convert which is wrong because calculating the start the daylight start time should always not include the daylight delta because we didn't start the daylight saving yet. and calculating the end of daylight should always include the daylight delta because we were in the daylight saving period.
The fix here is manually calculating the start and end of the daylight saving inside the rule
* Revert the comment change
* Add a comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2b5d5a707e3bb037df847e17b4e55e19fd5bfa8
wtgodbe [Tue, 14 Mar 2017 19:10:29 +0000 (12:10 -0700)]
Update Buildtools Version
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6c544ca264d89c8a4e538512feb24bb7d7a928
wtgodbe [Tue, 14 Mar 2017 19:01:57 +0000 (12:01 -0700)]
Copy Targeting Pack files into Core_Root for Non-Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ce7b16f8447f0cd5d42a132b7f76b9e534d5759
Pat Gavlin [Tue, 14 Mar 2017 17:05:26 +0000 (10:05 -0700)]
Do not wait on std{out,err} when a test times out.
The test wrapper currently waits on each of the process, stdout copy,
and stderr copy in turn. This makes it difficult to determine whether
or not the test did in fact time out, as the time in which it may
write to its output streams is effectively twice or thrice the
time used to determine success or failure (i.e. the process wait
timeout). This can cause situations like what we've seen in dotnet/coreclr#10076,
where the harness reports that the process timed out but the test's
output indicates a successful run.
This change only waits on stdout/stderr if the process completes within
the time allotted; otherwise it cancels the copies and promptly reports
the timeout.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd7a88958776655867a4af3184dfef317f33839d
jashook [Mon, 13 Mar 2017 23:15:10 +0000 (16:15 -0700)]
Fix dotnet/coreclr#9457
To optimize code size we only added a UWC_END code if the last code in
uecMem does not equal UWC_END. However, the uec codes are variable sized
and allow any value to follow the code. Therefore, the value has the
small possibility to equal the value of UWC_END (0x4e on arm64
and 0xFF on arm32). Which incorrectly leaves the unwind array
unterminated.
Commit migrated from https://github.com/dotnet/coreclr/commit/
43a3f8ed85b210fe5b1a4d56f1b887ad835f2f24
Eric Erhardt [Tue, 14 Mar 2017 15:34:08 +0000 (10:34 -0500)]
Make portable PDBs on Unix instead of no symbols at all.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6fe59540e65d0fd7a1577dba1a1959cd2e81d9e0
Stephen Toub [Tue, 14 Mar 2017 12:30:24 +0000 (08:30 -0400)]
Ignore FileStream.FlushWriteBuffer failures during finalization
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b01f961ae369b4a61f0dc30bc647bdc7ea2d3b0
Gaurav Khanna [Tue, 14 Mar 2017 04:56:44 +0000 (21:56 -0700)]
Merge pull request dotnet/coreclr#10147 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c52a9f7a3019d408cd03aef9e5fb33263cb047ba
Gaurav Khanna [Tue, 14 Mar 2017 04:56:31 +0000 (21:56 -0700)]
Merge pull request dotnet/coreclr#9853 from hqueue/arm/ci_legs
[ARM/CI] Add manual triggering CI for arm and armel
Commit migrated from https://github.com/dotnet/coreclr/commit/
50cae4eb584e5b5f5676c4c6e4d8a0016def5780
Xiangyang (Mark) Guo [Tue, 14 Mar 2017 03:23:32 +0000 (20:23 -0700)]
Optimize Span.Clear() on AMD64 (dotnet/coreclr#10110)
* optimize Span.Clear() by using initblk
Commit migrated from https://github.com/dotnet/coreclr/commit/
235ce580101714056aae84091cd4437d48de81ea
dotnet-bot [Tue, 14 Mar 2017 02:18:16 +0000 (02:18 +0000)]
Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6e19b5d6ea97e0573fbfae31cdeb3757e0374bb
Bruce Forstall [Tue, 14 Mar 2017 02:06:40 +0000 (19:06 -0700)]
Merge pull request dotnet/coreclr#10155 from BruceForstall/CallMorphDoc
Add documentation on RyuJIT call morphing
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe98261c0fef181197380d0b42c482eb6eddcf94
Aditya Mandaleeka [Tue, 14 Mar 2017 01:53:34 +0000 (18:53 -0700)]
Merge pull request dotnet/coreclr#10153 from adityamandaleeka/remove_stress_thread
Remove STRESS_THREAD
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ca9cec2d982162ab4f43d1136d0c67de57387cc
Aditya Mandaleeka [Tue, 14 Mar 2017 01:42:57 +0000 (18:42 -0700)]
Merge pull request dotnet/coreclr#10073 from adityamandaleeka/handle_types_to_enum_1
Replace HNDTYPE defines with enum
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f18c89f25cccbd21e794942aeb5fbada458bb62
Bruce Forstall [Tue, 14 Mar 2017 01:33:43 +0000 (18:33 -0700)]
Add documentation on RyuJIT call morphing
Commit migrated from https://github.com/dotnet/coreclr/commit/
f37256b161d199cb0ddef1a56c7faef5270773aa
Bruce Forstall [Tue, 14 Mar 2017 01:33:06 +0000 (18:33 -0700)]
Improve LIR dumping (dotnet/coreclr#10140)
1. Use the LIR node dumper to display nodes to be generated by
codegen, since we're in LIR form at that point. Add a new
"prefix message" argument to allow "Generating: " to prefix all
such lines.
2. Fix off-by-one error in LIR dump due to `#ifdef` versus `#if`.
3. Remove extra trailing line for each LIR node. This interfered
with dotnet/coreclr#1. But I always thought it was unnecessarily verbose; I don't
believe there is any ambiguity without that extra space.
4. Add dTreeLIR()/cTreeLIR() functions for use in the debugger.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d749d34e8f028580d923d8514e4926e16234551
William Godbe [Tue, 14 Mar 2017 01:26:46 +0000 (18:26 -0700)]
Merge pull request dotnet/coreclr#10074 from wtgodbe/ProjectJson
Pick up new CoreFX packages and abandon old ones
Commit migrated from https://github.com/dotnet/coreclr/commit/
70bbb200aea5a32e084e6e3fd5c377bbae603f9a
Mike McLaughlin [Tue, 14 Mar 2017 01:17:43 +0000 (18:17 -0700)]
System.Diagnostics.Debugger.Break() should NOT be inlined. (dotnet/coreclr#10151)
Breaks debugger tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a195276187c149f52ba9c7fa36a6940693a17a59
Bruce Forstall [Tue, 14 Mar 2017 00:42:39 +0000 (17:42 -0700)]
Add changes to emitMaxStackDepth and fgPtrArgCntMax to JitDump (dotnet/coreclr#10130)
It is useful to see when these are changing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b23d6a2c2decb9f3cfebc04483557138096dfdd0
Bruce Forstall [Tue, 14 Mar 2017 00:42:08 +0000 (17:42 -0700)]
Convert GenTree* to GenTreeCall* as much as possible (dotnet/coreclr#10132)
This simplifies reading the code, and improves the debugging experience.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f505c9347fdff8f8156d0340aed50f7a78fc4b60
Brian Sullivan [Tue, 14 Mar 2017 00:22:00 +0000 (17:22 -0700)]
Merge pull request dotnet/coreclr#10113 from briansull/ibc-readytorun
Support for IBC profiling for ReadyToRun images
Commit migrated from https://github.com/dotnet/coreclr/commit/
df5b866ef21706e37d94dcb5d99a1516de6c951b
Aditya Mandaleeka [Thu, 9 Mar 2017 02:40:12 +0000 (18:40 -0800)]
Replace HNDTYPE defines with enum in gcinterface header.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e1e0b7c8f4d5ef1602ab6947a597559effbe60f
Aditya Mandaleeka [Mon, 13 Mar 2017 23:17:24 +0000 (16:17 -0700)]
Remove STRESS_THREAD.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec723a53d7a098cf5b5455f3a248bc1d3269a954
Bruce Forstall [Mon, 13 Mar 2017 23:32:15 +0000 (16:32 -0700)]
Build Linux altjit for x86 and amd64 (dotnet/coreclr#10120)
Enable Windows hosted, Linux target amd64 altjit
With this change, we build a JIT that runs on Windows amd64
and targets Linux amd64, as an altjit named linuxnonjit.dll.
This is useful for debugging, or generating asm code or diffs.
You can even easily create Windows/non-Windows asm diffs
(either to compare the asm, or compare the generated code size).
For this to work, the JIT-EE interface method
getSystemVAmd64PassStructInRegisterDescriptor() was changed
to always be built in, by defining `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
in all AMD64 builds. The `_ITF` suffix indicates that this is
functionality specific to implementing the JIT-EE interface
contract. There were many places in the VM that used this
interchangeably with `FEATURE_UNIX_AMD64_STRUCT_PASSING`. Now,
`FEATURE_UNIX_AMD64_STRUCT_PASSING` means code in the VM needed
to implement this feature, but not required to implement the
JIT-EE interface contract. In particular, MethodTables compute
and cache the "eightbyte" info of structs when loading a type.
This is not done when only `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
is set, to avoid altering MethodTable behavior on non-Unix
AMD64 builds. Instead, if `getSystemVAmd64PassStructInRegisterDescriptor()`
is called on a non-Unix build (by the altjit), the `ClassifyEightBytes()`
function is called, and nothing is cached. Hopefully (though it was
hard for me to guarantee by observation), calling `ClassifyEightBytes()`
does not have any side effects on MethodTables. It doesn't really matter,
since if called for altjit, we don't care too much about running.
The previously used `PLATFORM_UNIX` define is now insufficient.
I introduced the `#define` macros `_HOST_UNIX_` to indicate the
JIT being built will run on Unix, and `_TARGET_UNIX_` to indicate
the JIT is generating code targeting Unix. Some things were
converted to use the `UNIX_AMD64_ABI` define, which makes more
sense.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad8afe4f8c9537e8652ae35b301366d737bc1e04
Bruce Forstall [Mon, 13 Mar 2017 23:17:18 +0000 (16:17 -0700)]
Merge pull request dotnet/coreclr#10129 from BruceForstall/AdjustStackLevel
Move adjustments to genStackLevel into functions
Commit migrated from https://github.com/dotnet/coreclr/commit/
814a105864c35ca992ed1b332d72d9e6869519df
William Godbe [Mon, 13 Mar 2017 23:13:00 +0000 (16:13 -0700)]
Merge pull request dotnet/coreclr#10150 from wtgodbe/SupplementalPayload
Re-insert Supplemental Payload into Helix payload
Commit migrated from https://github.com/dotnet/coreclr/commit/
256f3052058b22a60b99e23807902b8f0f41cd72
wtgodbe [Wed, 22 Feb 2017 20:35:27 +0000 (12:35 -0800)]
Pick up new CoreFX packages and abandon old ones
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fc26e331934ea3e920103de8cb4161d2ff0ba6e
wtgodbe [Mon, 13 Mar 2017 21:51:39 +0000 (14:51 -0700)]
Re-insert Supplemental Payload into Helix payload
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f73c041fb78a4c246bf098e82dea2496d401599
Pat Gavlin [Mon, 13 Mar 2017 19:59:49 +0000 (12:59 -0700)]
Merge pull request dotnet/coreclr#10072 from pgavlin/gh10022
Fix some cross-thread memory accesses in a JIT test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
705e9a47a85efaee5a482065fd9d3f6c822b0152
Brian Sullivan [Wed, 8 Mar 2017 02:58:11 +0000 (18:58 -0800)]
Work for IBC profiling with ReadyToRun images
Incremented ReadyToRun version to 2.2
Implemented caching for IsInstrumented using IS_INSTRUMENTED_UNSET
Added method Module::InitializeForProfiling()
Added full support for method profile counts in ReadyToRun image
Commit migrated from https://github.com/dotnet/coreclr/commit/
c67474bd34847bf5ceff3d49f29eb4b778848748
Tanner Gooding [Mon, 13 Mar 2017 19:08:20 +0000 (12:08 -0700)]
Merge pull request dotnet/coreclr#10092 from tannergooding/vs2017
Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`
Commit migrated from https://github.com/dotnet/coreclr/commit/
98c0edfa07dc47e2ae4c7d785d3dd122f430bfc8
Rich Lander [Mon, 13 Mar 2017 18:35:35 +0000 (11:35 -0700)]
Add 3PN entry (dotnet/coreclr#10146)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdc2827faacb9b38a90db2cb8c8bcd676ac8aae1
Michelle McDaniel [Mon, 13 Mar 2017 18:09:48 +0000 (11:09 -0700)]
Merge pull request dotnet/coreclr#10090 from adiaaida/crossgenAllAssemblies
Crossgen all assemblies for throughput perf
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b9c179030d0e2e7cfe8aa24274fbbb499e03374
Bruce Forstall [Mon, 13 Mar 2017 16:38:39 +0000 (09:38 -0700)]
Merge pull request dotnet/coreclr#10083 from hqueue/arm/ryujit/decomposed_long_fix
[Ryujit/ARM32] Fix wrong comparion
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9bff47a29d03c03b45127668f5b45d2d7e9c7a7
Jarret Shook [Mon, 13 Mar 2017 16:26:16 +0000 (09:26 -0700)]
Merge pull request dotnet/coreclr#10095 from jashook/update_arm64_exclusions
Update arm64 exclusions
Commit migrated from https://github.com/dotnet/coreclr/commit/
5eda8bfc201a1dafd5d7b936ad474bebb57087ed
Gaurav Khanna [Mon, 13 Mar 2017 16:18:51 +0000 (09:18 -0700)]
Merge pull request dotnet/coreclr#10125 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25113-01 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
59b0ae6d0e5b0b46d3272b3d3f3db2e84ee1dba7
Tanner Gooding [Fri, 10 Mar 2017 18:11:23 +0000 (10:11 -0800)]
Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`
Commit migrated from https://github.com/dotnet/coreclr/commit/
c713242ef368e5fea00584e1de17993503be4127
Hyung-Kyu Choi [Mon, 13 Mar 2017 13:24:00 +0000 (22:24 +0900)]
[Ryujit/ARM32] Support shift and rotate for decomposed long
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea3b0538ae876d19f1aa9c6d2fb1357870800909
Joseph Tremoulet [Mon, 13 Mar 2017 14:15:18 +0000 (10:15 -0400)]
Merge pull request dotnet/coreclr#10067 from mikedn/oak-no-throw-equals
Fix AssertionDsc::Equals OAK_NO_THROW's handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f2da3a10a7bbb9f3fdb0550b9302eb0c703271f
Atsushi Kanamori [Mon, 13 Mar 2017 13:58:28 +0000 (06:58 -0700)]
Merge pull request dotnet/coreclr#10105 from JonHanna/corefx16566
Rename Type.IsSzArray to Type.IsSZArray and make public.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3c327d6ab65e2b4e1ecc473af2921cb0e8413c4
Jonghyun Park [Mon, 13 Mar 2017 11:47:08 +0000 (20:47 +0900)]
Use VSD_STUB_CAN_THROW_AV instead of explicit _TARGET_XXX_ (dotnet/coreclr#10143)
Commit migrated from https://github.com/dotnet/coreclr/commit/
537a4529758d44352bcd02657e42c49385f3950f
Jonghyun Park [Mon, 13 Mar 2017 11:44:06 +0000 (20:44 +0900)]
Use GetDoubleArrayToLargeObjectHeapThreshold when FEATURE_DOUBLE_ALIGNMENT_HINT is on (dotnet/coreclr#10136)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4797035df287ee02ac46e9e2c93c2db5a62dbee7
dotnet-bot [Mon, 13 Mar 2017 09:02:02 +0000 (09:02 +0000)]
Update CoreClr to beta-25113-01
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d7ec57a3b08bd5b24026ddf69ee20df446cc2a2
Bruce Forstall [Mon, 13 Mar 2017 05:31:44 +0000 (22:31 -0700)]
Merge pull request dotnet/coreclr#10134 from seanshpark/fixtypo
Fix typo in Compiler::gtHasRef()
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b9612783149447a353ac2b0934ccff3b1f73641
Jan Kotas [Mon, 13 Mar 2017 04:06:26 +0000 (21:06 -0700)]
Improve encoding performance (dotnet/coreclr#10124)
Commit migrated from https://github.com/dotnet/coreclr/commit/
425969612573ac02e9cddd8ac87126fcbe4efba0
SaeHie Park [Mon, 13 Mar 2017 03:09:56 +0000 (12:09 +0900)]
Fix typo in Compiler::gtHasRef()
Commit migrated from https://github.com/dotnet/coreclr/commit/
d44c612c02ff437353d707813e56b3795807457c