Gaurav Khanna [Mon, 20 Mar 2017 15:55:56 +0000 (08:55 -0700)]
Merge pull request dotnet/coreclr#9445 from hqueue/arm/ci
[ARM/CI] ARM CI script for arm and armel
Commit migrated from https://github.com/dotnet/coreclr/commit/
803961628736e38cc095b3e54d8ab30160b52a4a
Atsushi Kanamori [Mon, 20 Mar 2017 15:18:45 +0000 (08:18 -0700)]
Reconciles Type.cs with CoreRT version for move to shared partition. (dotnet/coreclr#10306)
* Clone files and add resource strings.
* Subset each partial class.
* String=>string and Environment.GetResourceString => SR.cs
Doing this upfront with reduce the upcoming diffs - hopefully.
* Add IsRuntimeImplemented() emulator.
* One method was put in the wrong file. Correcting.
* Converted Type.Enum.cs to CoreRT style member by member.
* Converted Type.Helpers.cs to CoreRT style member by member.
* Internalize __Filter.cs into Type.Helpers.cs
* Pretransform to reduce diffs.
Removed contracts and comments,
"abstract public" -> "public abstract"
* Converted Type.cs to CoreRT style member by member.
* Eh.. rather not share IsInterface and IsSerializable than have that #if CORECLR.
* Transplant the CoreRt files (now just a reordering.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c77fffac0ea7399a2f7dbf217b5ea804c0c1ad0
Steve MacLean [Mon, 20 Mar 2017 15:17:05 +0000 (11:17 -0400)]
[Arm64/Unix] Set PROCFS_* available in tryrun (dotnet/coreclr#10255)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a54f3dfe63eaf3a813541fc3387f683d84099d93
Tarek Mahmoud Sayed [Sun, 19 Mar 2017 23:19:56 +0000 (16:19 -0700)]
Invariant globalization (dotnet/coreclr#10264)
* Invariant Globalization Work
* Convert the testing Exceptions to asserts
* Remove un-needed comment
* Fix typos
* Fix unrelated typo
* Address the PR feedback
* More feedback addressing
* More feedback addressing
* Fix Linux break
* More feedback addressing
* cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
d905f67f12c6b2eed918894e0642ec972a1d9fec
Stephen Toub [Sun, 19 Mar 2017 12:06:20 +0000 (08:06 -0400)]
Merge pull request dotnet/coreclr#10291 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25119-02 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
389b9abd4b109c68addca3bd215ab7626f84bb3d
dotnet-bot [Sun, 19 Mar 2017 08:08:34 +0000 (08:08 +0000)]
Update CoreClr to beta-25119-02
Commit migrated from https://github.com/dotnet/coreclr/commit/
401b40b5d5cf654dc1b68c7fb9e9a52458af89a4
Bruce Forstall [Sun, 19 Mar 2017 06:35:05 +0000 (23:35 -0700)]
Fix code to build with older VC++ compiler (dotnet/coreclr#10281)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b99922f32596822b14d3d62e8c54fca5b19f257
John Bottenberg [Sun, 19 Mar 2017 04:33:58 +0000 (21:33 -0700)]
Remove potential overflow in SafeBSTRHandle (dotnet/coreclr#10182)
Commit migrated from https://github.com/dotnet/coreclr/commit/
671701167d2dc8f0297f08c67482b565684d8c79
Jonghyun Park [Sun, 19 Mar 2017 04:32:57 +0000 (13:32 +0900)]
Fix a typo in exceptoinhandling.cpp (dotnet/coreclr#10237)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee5350ca1c1a848e0f9f82473dbdaf7f1edc1a4c
Maoni Stephens [Sun, 19 Mar 2017 04:30:55 +0000 (21:30 -0700)]
I hoisted the accounting for LOH into allocate_large_objects to avoid missing counting in certain stages during bgc when we go through bgc_loh_alloc_clr instead of adjust_limit_clr (dotnet/coreclr#10284)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc3220f19a8ee8266e0782bf8878790453f790e6
Atsushi Kanamori [Sat, 18 Mar 2017 22:15:43 +0000 (15:15 -0700)]
Fix for Module.GetMethod(string) (dotnet/coreclr#10283)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f22e55bf30580c4e518aaf1c94c31e79297370c6
Stephen Toub [Sat, 18 Mar 2017 21:40:09 +0000 (17:40 -0400)]
Merge pull request dotnet/coreclr#10280 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25118-03 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d3683664fafdbad91a5d3e84e7984c2b32fee13
Jan Kotas [Sat, 18 Mar 2017 20:57:24 +0000 (13:57 -0700)]
Merge pull request dotnet/coreclr#10272 from dotnet/mirror-merge-9051754
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
b50562f5bc75461f88d4b996b7bcc2aefbab43bd
Joseph Tremoulet [Sat, 18 Mar 2017 18:06:54 +0000 (14:06 -0400)]
Merge pull request dotnet/coreclr#10216 from JosephTremoulet/SpanBench
Update SpanBench test
Commit migrated from https://github.com/dotnet/coreclr/commit/
455d57cb8e660e92f5b8f6e4b218c8c4e2cac693
dotnet-bot [Sat, 18 Mar 2017 16:37:23 +0000 (16:37 +0000)]
Update CoreClr to beta-25118-03
Commit migrated from https://github.com/dotnet/coreclr/commit/
e35bd4757a03faba02dd082f8c88e9f60dd9716e
Joseph Tremoulet [Thu, 16 Mar 2017 00:43:01 +0000 (20:43 -0400)]
Update SpanBench test
- Re-enable the tests that were disabled in
e859c309.
- Re-work how tests are invoked from the command line to require less
boilerplate
- Now each test has a single [Benchmark] entrypoint
- That entrypoint invokes its test's single inner-loop by wrapping it
in a lambda that it passes to a new helper Invoke method (shared
across all tests) which handles the xunit vs. command-line
differences..
- Main finds the entrypoints by using reflection to search for the
[Benchmark] attributes, so the explicit list of stringified test
names is no longer needed and the command line will run the same
set of tests that xunit-perf does.
- The new SpanAPI tests now get invoked when this tests is run from the
command line as well.
- Add [NoInlining] to the SpanAPI tests' kernels.
- Add some heap writes and conditional writes to prevent deadcode
optimization from eliminating tests' kernels (assuming we don't do
interprocedural constant propagation or deadcode, or store sinking and
final value calculation, or PRE...).
- Split the Index SpanAPI tests into one version that uses a
loop-invariant index and thus should get hoisted out of the loop, and
another version that uses variant indices.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65226a257f173edc03de3b4b43d001f801d0b379
Pat Gavlin [Sat, 18 Mar 2017 15:41:40 +0000 (08:41 -0700)]
Merge pull request dotnet/coreclr#10054 from pgavlin/GenTreeUseEdgeIterator
Improve GenTreeUseEdgeIterator.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1f3865737c52ca75329e1597a575e07faa33188
Jan Kotas [Sat, 18 Mar 2017 15:22:40 +0000 (08:22 -0700)]
Delete moved files
Commit migrated from https://github.com/dotnet/coreclr/commit/
fafc1fb46ede54c23146c1b2204d96b383cf7ff3
Bruce Forstall [Sat, 18 Mar 2017 15:12:52 +0000 (08:12 -0700)]
Remove JIT-EE version ifdefs (dotnet/coreclr#10273)
* Remove COR_JIT_EE_VERSION define
Currently, we maintain two versions of the JIT-EE interface in the
source tree: the current version, and .NET 4.6 version. This is
managed by the `COR_JIT_EE_VERSION` define. Any new changes to the JIT-EE
interface must be put under `#if COR_JIT_EE_VERSION > 460`. As of now,
there are quite a few of these `#if` statements in the tree.
We started doing this so we could build and ship a CTP (Community
Technology Preview) version of the JIT from the current source tree that
runs against earlier versions of the runtime that are widely available
to customers, so those customers can try out the new JIT and give us
early feedback. This was done during the RyuJIT/x64 bring-up before
shipping .NET 4.6, to get as much feedback as possible before replacing
JIT64. After 4.6 shipped, we re-based the old version of the JIT-EE
interface to the 4.6 version, and started adding the above `#if`
conditions, with the thought that if we ever shipped another CTP, it
would be expected to run on top of 4.6. We have not shipped such a
thing, and we currently have no plans to build another CTP in the same
way we did before. (Early adopters can try out the "live" JIT in the
.NET Core open source project, although that JIT can't be used on the
desktop.)
So, to simplify the code, and reduce the cost of adding to or changing
the JIT-EE interface, we are removing the `COR_JIT_EE_VERSION` define.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0d7f96936e4560b02ba4e8d46cb60dfdf086e46
Stephen Toub [Sat, 18 Mar 2017 12:32:46 +0000 (08:32 -0400)]
Merge pull request dotnet/coreclr#10278 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25118-02 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
63bc667a52bc0795b16729bb0e7fddb20395ac4c
Atsushi Kanamori [Sat, 18 Mar 2017 11:37:06 +0000 (04:37 -0700)]
Move ParameterInfo.cs and Assembly.cs to shared partition. (dotnet/coreclr#10270)
* Clone the files.
* Split the members between shared and nonshared files.
* Replaced ParameterInfo with CoreRt text member by member.
* Replaced Module.cs with CoreRt text member by member.
* Remove dead filter code.
* Replaced Assembly.cs with CoreRt text member by member.
* Transplanted CoreRt files.
This is a reordering without any other changes.
Verified by sorting the old and new files and
diffing.
* Migrated ParameterInfo.cs and Assembly.cs to shared directory.
Leaving Module.cs in place for now as one line is going to
have to change over in CoreRt land.
ModuleHandle ModuleHandle => new ModuleHandle(this);
* Cleanup.
* Move the final internal methods to RuntimeParameterInfo.
Commit migrated from https://github.com/dotnet/coreclr/commit/
487a39c2bf0ce6cdf38a6b0ec49a7e210ef8c5c5
dotnet-bot [Sat, 18 Mar 2017 08:56:56 +0000 (08:56 +0000)]
Update CoreClr to beta-25118-02
Commit migrated from https://github.com/dotnet/coreclr/commit/
83942fa5e7b6e477acc4ce694e5fce65c30cd1c0
Bruce Forstall [Sat, 18 Mar 2017 07:18:26 +0000 (00:18 -0700)]
Merge pull request dotnet/coreclr#10269 from BruceForstall/FixBuildAll
Fix build.cmd "all" to work with pass-through args again
Commit migrated from https://github.com/dotnet/coreclr/commit/
8978f0e800d6c63e07b99ad9cfbabe094662fdf1
dotnet bot [Sat, 18 Mar 2017 06:27:38 +0000 (23:27 -0700)]
Update CoreClr, CoreFx to beta-25117-08, beta-25118-01, respectively (dotnet/coreclr#10267)
Commit migrated from https://github.com/dotnet/coreclr/commit/
de0b34835926840337b7373e04d60f5473f7fbb4
Pat Gavlin [Thu, 9 Mar 2017 02:45:17 +0000 (18:45 -0800)]
Improve GenTreeUseEdgeIterator.
Instead of executing a rather long set of conditionals on each call
to `GenTreeUseEdge::operator++`, decide on the function that will be
used to advance the iterator's state in the constructor.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8ad6487ad0912ae658395df2e85130d61d9d049
Gaurav Khanna [Sat, 18 Mar 2017 04:35:47 +0000 (21:35 -0700)]
Merge pull request dotnet/coreclr#10220 from dotnet/revert-10206-MultiQueue
Revert "Add support for Multiqueing jobs in Helix"
Commit migrated from https://github.com/dotnet/coreclr/commit/
880fdbad68e4a587c2e1b136839bb5cf0b74cf09
Andy Ayers [Sat, 18 Mar 2017 04:04:56 +0000 (21:04 -0700)]
Merge pull request dotnet/coreclr#10274 from AndyAyersMS/FixMoreCasing
Fix yet another casing issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
80c5747c17856d74689a56228405ef586ea629b1
Han Lee [Sat, 18 Mar 2017 03:26:06 +0000 (20:26 -0700)]
Fix overflow when computing dwWeight in CPUGroupInfo::InitCPUGroupInfoArray (dotnet/coreclr#10104)
Fix overflow in dwWeight when there are large number of CPU groups
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8e91d3febea933dce2bb2e0825ffcea1c76480d
Brian Sullivan [Sat, 18 Mar 2017 01:01:26 +0000 (18:01 -0700)]
Merge pull request dotnet/coreclr#10241 from briansull/refactor1
Refactor the flag test of BBF_PROF_WEIGHT
Commit migrated from https://github.com/dotnet/coreclr/commit/
a761b9b985f60be14deadd9015313f8d2a34033d
Swaroop Sridhar [Sat, 18 Mar 2017 00:13:34 +0000 (17:13 -0700)]
Fix triggers for ILLINK job (dotnet/coreclr#10244)
This change has the following fixes:
1) Fix the trigger phrase for ILLink jobs so that PRs can request ILLink runs per architecture.
2) Pass the linker location explicitly on the runtest.cmd command line
instead of using the %ILLink% variable, since the build/run steps
are different command shells.
3) Don't run the x86compatijit configuration daily in the lab
Commit migrated from https://github.com/dotnet/coreclr/commit/
65f6120ddd0197076f3cd247f273c213a0a78272
Andy Ayers [Fri, 17 Mar 2017 23:58:23 +0000 (16:58 -0700)]
Fix yet another casing issue.
This might be what is causing the TFS mirror to have hiccups.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a3cc212885cc302ccabf967ea640c4f1c971fe6
Tom Deseyn [Fri, 17 Mar 2017 23:54:45 +0000 (00:54 +0100)]
FileStream.Unix: open with CLOEXEC unless FileShare.Inheritable set (dotnet/coreclr#10251)
* FileStream.Unix: open with CLOEXEC unless FileShare.Inheritable set
* PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
f29a051ee1829937cde011ee28bbd17557d35e0b
Atsushi Kanamori [Fri, 17 Mar 2017 17:32:49 +0000 (10:32 -0700)]
Move EventInfo.cs to shared partition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
075e649aad9a12d369ae951eae0e053ddce62f9f
Bruce Forstall [Fri, 17 Mar 2017 21:45:47 +0000 (14:45 -0700)]
Fix build.cmd "all" to work with pass-through args again
Commit migrated from https://github.com/dotnet/coreclr/commit/
80ac68992bba5ea8be8e082e4442612f95290eb3
Pat Gavlin [Fri, 17 Mar 2017 21:39:09 +0000 (14:39 -0700)]
Merge pull request dotnet/coreclr#10238 from pgavlin/SeekUnrollLimit
Reduce case iteration counts in SeekUnroll.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc2f78c071cc68e5925e47a1162b2187d0f8c216
Brian Sullivan [Thu, 16 Mar 2017 23:45:17 +0000 (16:45 -0700)]
Refactor the flag test of BBF_PROF_WEIGHT
to always call the new method hasProfileWeight()
Commit migrated from https://github.com/dotnet/coreclr/commit/
8602b75d969b542e98afd92f56a328c4480bb317
Andy Ayers [Fri, 17 Mar 2017 21:01:28 +0000 (14:01 -0700)]
Merge pull request dotnet/coreclr#10259 from AndyAyersMS/FixNoway
JIT: Fix noway_assert when inlining
Commit migrated from https://github.com/dotnet/coreclr/commit/
408390ebf141738118924db3694bc487c8634f56
Andy Ayers [Fri, 17 Mar 2017 21:01:18 +0000 (14:01 -0700)]
Merge pull request dotnet/coreclr#10263 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ab3b019f9ffbfb83378b4c6bf3478d7450e5227
Rahul Kumar [Fri, 17 Mar 2017 20:26:00 +0000 (13:26 -0700)]
Merge pull request dotnet/coreclr#10260 from sdmaclea/PR-ARM64-REMOVE-X19-WORKAROUND
[Arm64/Unix] Remove x19 corruption workaround
Commit migrated from https://github.com/dotnet/coreclr/commit/
f716e452863e6d988959813d3f07a087eb87500f
Bruce Forstall [Fri, 17 Mar 2017 20:01:47 +0000 (13:01 -0700)]
Clean up GenTreePutArgStk (dotnet/coreclr#10239)
Consolidate constructors; go from 4 to 2.
Reduce `#ifdef` in callers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
008aacc003c9b49f8780196df3b653b03b93f09e
Rahul Kumar [Fri, 17 Mar 2017 19:49:57 +0000 (12:49 -0700)]
Merge pull request dotnet/coreclr#10245 from rahku/fix10048
LoadFromStream should throw badimageformat early on
Commit migrated from https://github.com/dotnet/coreclr/commit/
b6aec9bd4b6e5e026669cd7432b3f37aeec14190
Rahul Kumar [Fri, 17 Mar 2017 03:27:58 +0000 (20:27 -0700)]
LoadFromStream should throw badimageformat early on
Commit migrated from https://github.com/dotnet/coreclr/commit/
9dceb5b8f105ec45c647c201f3fa9fff88d28bcd
Jan Kotas [Fri, 17 Mar 2017 19:43:40 +0000 (12:43 -0700)]
Merge pull request dotnet/coreclr#10253 from dotnet/mirror-merge-9051394
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f302a2afb57087418c882e85d5cefd4b3cacd81
Buyduck [Fri, 17 Mar 2017 19:38:35 +0000 (22:38 +0300)]
fix syntax error in build.sh (dotnet/coreclr#10256)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5befe83dd00b365407945a11db1e03619f415aa1
Jan Kotas [Fri, 17 Mar 2017 18:44:10 +0000 (11:44 -0700)]
Delete unused ReferenceLocalMscorlib property from test proj files (dotnet/coreclr#10250)
Deleted a few other irrelevant properties as well while I was on it.
Fixes dotnet/coreclr#7711
Commit migrated from https://github.com/dotnet/coreclr/commit/
25dbd547bc7372906357699a24d7cf76786a50c8
Swaroop Sridhar [Fri, 17 Mar 2017 18:22:18 +0000 (11:22 -0700)]
Add reflection roots for tests calling CreateInstance() (dotnet/coreclr#10242)
Add the XML files identifying the reflection roots to keep the
type (and constructors threof) which are used by tests as
Activator.CreateInstance(typeof(T))
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1bdbf1bee3ecdbcd96a5a78a45bf097e3a38951
Andy Ayers [Fri, 17 Mar 2017 18:09:55 +0000 (11:09 -0700)]
fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bd4aa3cb112f5403163e8d9266f3027bec86895
Andy Ayers [Fri, 17 Mar 2017 18:04:35 +0000 (11:04 -0700)]
Merge pull request dotnet/coreclr#10192 from AndyAyersMS/InterfaceDevirt
Interface devirt
Commit migrated from https://github.com/dotnet/coreclr/commit/
8208cb59f24c43444c0049e8f3f39d3f6a34b647
Pat Gavlin [Fri, 17 Mar 2017 18:02:24 +0000 (11:02 -0700)]
Address feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
287464997f594f3468e59598e08fee08f697ee44
[Arm64/Unix] Remove x19 corruption workaround
Commit migrated from https://github.com/dotnet/coreclr/commit/
c479cc7ed5d049aa0f085dfdc4484c399a6a7187
Andy Ayers [Fri, 17 Mar 2017 07:21:50 +0000 (00:21 -0700)]
JIT: Fix noway_assert when inlining
The jit keeps track of which inline arguments can be modified via starg
during the inlinee IL prescan to ensure that a temp is used to represent
such arguments in the inlined body. There is a noway_assert the a starg
is procecssed during importation that double-checks that a temp is really
being used, and this assert was firing.
The prescan guraded the starg tracking with a check to avoid an out-of-bounds
write into the argument table when scanning bad IL with bogus argument numbers.
The predicate was checking the argument number against lvaTableCount.
Unfortunately for inlinees this value is not related to the number of arguments.
In particular it some rare cases it may be an underestimate so the prescan might
end up failing to note a starg. If the the jit then tries to inline and the
caller passes a constant, the assert will then fire.
Fix is to update the guard to use the number of callee arguments. This is
known to be less than the table size by earlier checks.
Added a test case.
Closes dotnet/coreclr#9891.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0380bad51faf5ef608208f1ead8294dcf8519ce0
Jan Kotas [Fri, 17 Mar 2017 17:19:33 +0000 (10:19 -0700)]
Delete moved files
Commit migrated from https://github.com/dotnet/coreclr/commit/
cefbfbd3d9b0c0ce1efc0b5c51ae0a9ec0fdc0c6
Jeremy Kuhne [Fri, 17 Mar 2017 00:21:10 +0000 (17:21 -0700)]
Attribute the other types used by FileStream. Adds the internal methods the old CoreFX uses.
https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems?id=396302&_a=edit
[tfs-changeset: 1651151]
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cc92a84d44e14b3ff37fcd4f9bb504cf74e4aa5
Fadi Hanna [Thu, 16 Mar 2017 23:10:28 +0000 (16:10 -0700)]
CompilerServices APIs
[tfs-changeset: 1651141]
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d2a4a9f30ca6a6d0d538548f7972e2c0d8cfeb8
Joseph Tremoulet [Fri, 17 Mar 2017 14:05:23 +0000 (10:05 -0400)]
Merge pull request dotnet/coreclr#10248 from mikedn/fix-vnarrbound
Fix ValueNumStore::IsVNArrLenUnsignedBound checks
Commit migrated from https://github.com/dotnet/coreclr/commit/
e93885ed5ecf92c74056d5489add26dbcd527f1b
Tanner Gooding [Fri, 17 Mar 2017 13:50:00 +0000 (06:50 -0700)]
Merge pull request dotnet/coreclr#10201 from cod7alex/add_csharp_editorconfig_codestyle_settings
Added to .editorconfig csharp code style settings supported by VS 2017
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce118e5722bc647180d25bf946dd4b91629a0ab9
Jonghyun Park [Fri, 17 Mar 2017 02:41:24 +0000 (11:41 +0900)]
[x86/Linux] Pass return buffer on reverse P/Invoke (dotnet/coreclr#10226)
* Pass return buffer on reverse P/Invoke
* Use PLATFORM_UNIX and track m_cbRetPop locally
* Declare cbRetPop UINT16 instead of int
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcc0a1d528b78f5e05bf7973090f33ef2403e685
Ben Adams [Fri, 17 Mar 2017 01:36:22 +0000 (01:36 +0000)]
Support devirtulization of Encoders (dotnet/coreclr#10229)
* Seal more final inherited internal types
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a4a941248e22f9b97691879f16b6de5b4f8e6a1
Maoni Stephens [Fri, 17 Mar 2017 00:57:49 +0000 (17:57 -0700)]
need to account for the allocated bytes correctly for the following: (dotnet/coreclr#10162)
need to account for the allocated bytes accurately for the following cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
8bc067c194f0b44e95c6e6a490b99078a2fa9719
Alex Perovich [Fri, 17 Mar 2017 00:44:20 +0000 (19:44 -0500)]
Merge pull request dotnet/coreclr#10235 from dotnet/mirror-merge-9050192
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c3d8c7fa54bd77ef2df23b8364812affe8deb10
Atsushi Kanamori [Fri, 17 Mar 2017 00:23:51 +0000 (17:23 -0700)]
Move the MemberInfo-derived Info classes to the shared partition. (dotnet/coreclr#10236)
* Copy over CoreRt prose member by member.
* Transplant the CoreRt version of the files.
This is now just a reordering. Verified
by sorting the old and new versions of the
file and diffin.
* Move to shared partition.
* Looks like the #if FEATURE_COMINTEROP wasn't just for show...
Take EventInfo.cs back to unshared status for now...
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6b82ac3d83ecebc124d6a39065f4e6723aa320b
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
Pat Gavlin [Thu, 16 Mar 2017 23:08:06 +0000 (16:08 -0700)]
Reduce case iteration counts in SeekUnroll.
This test was taking too long to run on x86. After investigation, it
does not appear that there is a fundamental problem with the code
generated for the test; rather, it seems that we are running an
excessive number of iterations when using this test as a correctness
test. This change reduces the number of times we run each case from 10
to 1 unless otherwise specified on the command line.
Commit migrated from https://github.com/dotnet/coreclr/commit/
13867720e00706ade79e6030f6e8441fbfdef41c
Mike Danes [Thu, 16 Mar 2017 21:38:45 +0000 (23:38 +0200)]
Fix ValueNumStore::IsVNArrLenUnsignedBound checks
VNFuncApp::m_func should be checked first to be sure that m_args[0] and m_args[1] contain valid VNs. It's not clear if m_func can ever be something other than a binary func in the case of a relop VN but the code doesn't look right as it is.
Commit migrated from https://github.com/dotnet/coreclr/commit/
54b1709d4625d9c70a42b2e1321ae9594c49f858
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
Andy Ayers [Wed, 15 Mar 2017 15:16:59 +0000 (08:16 -0700)]
Add some test cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e021953d8421ed6d53d8d0ff5bef2d09a738c5e
Andy Ayers [Thu, 16 Mar 2017 15:30:58 +0000 (08:30 -0700)]
Interface call devirtualization: jit side of changes
Unblock VM queries where the base class is an interface (queries
where the implementing class is also an interface are still blocked
as no resolution is possible). Pass along the context handle that
the jit got from getCallInfo.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2c8b3ae4c1786968f387af9c78a343e0a561869b
Andy Ayers [Thu, 16 Mar 2017 15:30:17 +0000 (08:30 -0700)]
Interface call devirtualization: VM side of changes
Extend resolveVirtualMethod to take in the owner type needed to resolve
shared generic interface calls, and implement VM support for interface
call devirtualization. Add a check that the class presented by the jit
implements the interface, to catch cases where the IL is missing type
casts.
Update jit GUID, SPMI and zap to reflect the changed signature.
Commit migrated from https://github.com/dotnet/coreclr/commit/
00f13f2fb04c21fc1675ce264ef7291cbcec67a1
Jan Kotas [Thu, 16 Mar 2017 19:47:52 +0000 (12:47 -0700)]
Fix CoreCLR build break in shared corelib partition (dotnet/coreclr#2997)
Move RelocatedTypeAttribute under PROJECTN ifdef
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4872c2a6438edf03f775d5892aee0e5b964b405
Jeremy Kuhne [Thu, 16 Mar 2017 01:38:22 +0000 (18:38 -0700)]
Enable FileStream in ProjectN build, use CreateFile2 instead of CreateFile.
[tfs-changeset: 1651001]
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7f78e86e7e168a590bda635f3a5c195195befb2
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 17:10:09 +0000 (10:10 -0700)]
Remove a default argument in gentree.cpp to fix internal builds.
[tfs-changeset: 1651089]
Commit migrated from https://github.com/dotnet/coreclr/commit/
41afefafd606c9f9b2c94a16d6ce20289589de35
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:17:15 +0000 (18:17 -0700)]
Revert "Add support for Multiqueing jobs in Helix"
Commit migrated from https://github.com/dotnet/coreclr/commit/
036c2c06cf3bc0746891cf5684e8c31ad7c5ff41
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