Joseph Tremoulet [Tue, 21 Mar 2017 15:06:24 +0000 (11:06 -0400)]
Merge pull request dotnet/coreclr#10327 from mikedn/assertion-info
Refactor GenTree assertion information storage
Commit migrated from https://github.com/dotnet/coreclr/commit/
2308976b5db89e692e802ad28605ffe08826e2f6
Jonghyun Park [Tue, 21 Mar 2017 09:31:04 +0000 (18:31 +0900)]
[x86/Linux] Log UpdateRegDisplay calls (dotnet/coreclr#10335)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce38ca26fed02c9380946f3056d3159e6a539eac
Jonghyun Park [Tue, 21 Mar 2017 04:36:27 +0000 (13:36 +0900)]
[x86/Linux] Use 4-byte align for double in struct (dotnet/coreclr#10340)
Commit migrated from https://github.com/dotnet/coreclr/commit/
be9896c8c27f1ef6ac6df46031bb69d56195712e
Jonghyun Park [Tue, 21 Mar 2017 04:26:19 +0000 (13:26 +0900)]
[x86/Linux] Correct update on ResumableFrame (dotnet/coreclr#10339)
Commit migrated from https://github.com/dotnet/coreclr/commit/
beeaf0926c7eccf0a5f86b95ad5b3ed186438dc1
Jan Kotas [Tue, 21 Mar 2017 04:13:04 +0000 (21:13 -0700)]
Merge pull request dotnet/coreclr#10341 from dotnet/mirror-merge-9056283
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
7996b0dbddb85cf4347c11d5026fd12347f5b6a8
Jan Kotas [Tue, 21 Mar 2017 02:30:56 +0000 (19:30 -0700)]
Delete moved file
Commit migrated from https://github.com/dotnet/coreclr/commit/
36c28a55dfce52331b1df0def2b67f0eb6044354
Atsushi Kanamori [Mon, 20 Mar 2017 21:01:10 +0000 (14:01 -0700)]
NS2.0 - Complete System.Security namespace.
- Add GetObjectData() implementation to System.SecurityExcepton
- Clean up a bit and move to shared partition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
74e00c8c34a490a7dfd00a7a6fb2fb9ffc77f7db
Jonghyun Park [Tue, 21 Mar 2017 00:14:02 +0000 (09:14 +0900)]
'root' as a special case in UTIL_IsExecuteBitsSet (dotnet/coreclr#10246)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd9b5e782f6e9b1f392e028c819ed538546311eb
Tarek Mahmoud Sayed [Mon, 20 Mar 2017 23:19:48 +0000 (16:19 -0700)]
Fix MAC build (dotnet/coreclr#10328)
This is temporary fix to unblock the CI and coreclr building for MAC. this change should be reverted after having the proper fix for how we load ICU on MAC
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fb9a5e2f77dbd88a6d6a564ff91f5f1d87e4b65
Jan Kotas [Mon, 20 Mar 2017 23:17:55 +0000 (16:17 -0700)]
Merge pull request dotnet/coreclr#10325 from dotnet/mirror-merge-9055987
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
900113351c78d676d0d853df24bdc51a1f1171df
Aditya Mandaleeka [Mon, 20 Mar 2017 23:01:13 +0000 (16:01 -0700)]
Merge pull request dotnet/coreclr#10330 from omajid/fix-markdown-atx-headers
Fix markdown headings
Commit migrated from https://github.com/dotnet/coreclr/commit/
027180d8ef4a8a0e50f4cba3ad985af38882f5ef
Omair Majid [Mon, 20 Mar 2017 22:12:33 +0000 (18:12 -0400)]
Fix markdown headings
GitHub recently changed how atx headings (beginning with `#`) are
rendered. A space is now required between `#` and the following text
for the heading to be recognized.
Update headings in the docs to match the expected format.
See https://github.github.com/gfm/#atx-headings
Commit migrated from https://github.com/dotnet/coreclr/commit/
765f28934dc3c47e0f3658a818bcc04d3c71c9ef
Jan Kotas [Mon, 20 Mar 2017 21:28:18 +0000 (14:28 -0700)]
Delete moved files
Commit migrated from https://github.com/dotnet/coreclr/commit/
378a18beb2bf841a2d069b700d413dd10fdd7eb6
Mike Danes [Sat, 11 Mar 2017 09:04:04 +0000 (11:04 +0200)]
Refactor GenTree assertion information storage
Stealing a bit from gtAssertionNum is ugly and error prone (e.g. bool HasAssertion() { return gtAssertionNum != 0; } is incorrect if the edge bit is set).
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6b17aa51b29f756a7aa4061d171636d6da3d030
Joseph Tremoulet [Mon, 20 Mar 2017 21:13:14 +0000 (17:13 -0400)]
Merge pull request dotnet/coreclr#10319 from JosephTremoulet/NullField
Permit null object in `GenTreeUseEdgeIterator`
Commit migrated from https://github.com/dotnet/coreclr/commit/
281da0a152ff5dc65b4bebcc95d19ec8e4a4508e
Atsushi Kanamori [Mon, 20 Mar 2017 17:42:17 +0000 (10:42 -0700)]
Move Type.cs and Module.cs to Shared Partition.
Types.cs is split into the main file, Type.Helpers.cs and Type.Enum.cs.
All three will be shared.
- GenericTypeArguments - reconcile with CoreClr
(the code is identical provided that the underlying
Type provider implemented IsConstructedGenericType
correctly. But we can't assume that for third party types.)
- IsInterface and IsSerializable has some CoreClr
specific logic for RuntimeTypes - moving this out
to the unshared space for now.
- IsContextFulImpl()/IsMarshalByRefImpl() - corrected
implemention to match CoreClr.
- IsIntegerType - no CommonRuntimeTypes in CoreClr
so going back to typeof() checks - the runtime implemented
types override all this enum code anyway on both runtimes.
- GetRootElementType() - upgraded visibility to "internal"
as a concession to CoreClr.
- CoreCLR's IsVisible has a fast path - we'll keep that.
- Moved IsRuntimeImplemented() out of Internal.Reflection.Core.NonPortable
namespace so calls to it can be more easily shared.
- Module.MethodHandle was not implemented correctly for
non-runtime modules (it's supposed to return default(ModuleHandle)).
This makes it behave correctly and reconciles Module.cs
with the CoreCLR version.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b94d95ec4ed7a03ae9d9d6aaa31536211b46c8cb
Jan Kotas [Mon, 20 Mar 2017 21:03:14 +0000 (14:03 -0700)]
Merge pull request dotnet/coreclr#10317 from dotnet/mirror-merge-9055826
Mirror changes from dotnet/corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
750085eaa497dbcd15c8888f66cd7a3920d7a949
Joseph Tremoulet [Mon, 20 Mar 2017 19:39:46 +0000 (15:39 -0400)]
Permit null object in `GenTreeUseEdgeIterator`
We use `GT_FIELD` for static field loads, which have no instance pointer.
Update the iterator constructor to recognize this as a valid state rather
than fail an assertion.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ffe7ea09fc7cb027cf832520090974de09947881
Bruce Forstall [Mon, 20 Mar 2017 19:09:36 +0000 (12:09 -0700)]
Merge pull request dotnet/coreclr#10315 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
0097b99d215927ee9be083f7acdc4129679624d2
Jan Kotas [Sun, 19 Mar 2017 02:41:39 +0000 (19:41 -0700)]
Fix FileStream for ProjectN
[tfs-changeset: 1651325]
Commit migrated from https://github.com/dotnet/coreclr/commit/
40fee095de80676ffb6e60bd2e9d38d85bfa40b3
Bruce Forstall [Mon, 20 Mar 2017 18:45:47 +0000 (11:45 -0700)]
Remove message about falling to default for MethodContext::repGetEEInfo()
[tfs-changeset: 1651465]
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e4105d1bad1c15bc10dce037055ea5f749d8196
Brian Sullivan [Mon, 20 Mar 2017 17:34:10 +0000 (10:34 -0700)]
Merge pull request dotnet/coreclr#10301 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ada92875cba27ab5336dfad88f2ae9ffc101dad
Gaurav Khanna [Mon, 20 Mar 2017 17:32:34 +0000 (10:32 -0700)]
Initial document on AssemblyLoadContext Design (dotnet/coreclr#10271)
* Initial document on AssemblyLoadContext Design
Commit migrated from https://github.com/dotnet/coreclr/commit/
149a455cb6c46d793cc5be33d34142c118564086
Brian Sullivan [Mon, 20 Mar 2017 17:24:17 +0000 (10:24 -0700)]
Merge pull request dotnet/coreclr#10262 from briansull/refactor2
Updates for the handling of Profile data in the JIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
f07554b48c4be3b3eef0b6a2b7f1d42eb4b053e4
Atsushi Kanamori [Mon, 20 Mar 2017 17:03:26 +0000 (10:03 -0700)]
Make GetModuleHandle() sharable. (dotnet/coreclr#10309)
Commit migrated from https://github.com/dotnet/coreclr/commit/
05e35b9e4edb317ec0fcfbe622ae3d7621ef5ae4
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
Bruce Forstall [Mon, 20 Mar 2017 02:46:08 +0000 (19:46 -0700)]
Desktop side of the change to remove COR_JIT_EE_VERSION
1. Bring over the JIT-EE interface file changes,
2. Stop building ctpjit.dll, and delete its build rules,
3. Stop building skipjit.dll.
[tfs-changeset: 1651372]
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ddfdefc0fe2c7f48ff3f2ead52e43ddaa831058
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:42:50 +0000 (18:42 -0700)]
Updates for the handling of Profile data in the JIT
Use the type weight_t instead of unsigned when dealing with BasicBlock weights.
Added new method getCalledCount to return the number of times that the method was called.
Added new method fgProfileRunsCount to return the number of scenario runs for the profile data.
Made the method fgIsUsingProfileWeight public instead of protected
Renamed fgCalledWeight to fgCalledCount
Updated the logic in getBBWeight and added comments explaining how it works.
Commit migrated from https://github.com/dotnet/coreclr/commit/
756214424d736aa3f7f57af013b89aac51d6ba78
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