platform/upstream/coreclr.git
7 years agoMerge pull request #10374 from dotnet/mirror-merge-9057970
Jan Kotas [Wed, 22 Mar 2017 15:03:09 +0000 (08:03 -0700)]
Merge pull request #10374 from dotnet/mirror-merge-9057970

Mirror changes from dotnet/corert

7 years agoMove DefaultBinder.cs to the shared partition. (#10355)
Atsushi Kanamori [Wed, 22 Mar 2017 11:37:12 +0000 (04:37 -0700)]
Move DefaultBinder.cs to the shared partition. (#10355)

7 years agoFileStream redirection got changed. Add ThreadPoolBoundHandle redirect.
Jeremy Kuhne [Tue, 21 Mar 2017 23:07:53 +0000 (16:07 -0700)]
FileStream redirection got changed. Add ThreadPoolBoundHandle redirect.

https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems?id=398142&_a=edit

[tfs-changeset: 1651640]

7 years agoFix leak in Task.WaitAny(..., int) (#10331)
Stephen Toub [Wed, 22 Mar 2017 06:09:22 +0000 (02:09 -0400)]
Fix leak in Task.WaitAny(..., int) (#10331)

WaitAny is effectively built on top of WhenAny, creating a continuation from the supplied tasks and then blocking on that continuation.  When a timeout is provided, it blocks with that timeout.  But if it doesn't complete within the timeout, it ends up leaking the continuations it created into the constituent tasks.  The fix is simply to force the returned continuation to complete, such that its continuation logic does all of the appropriate cleanup.

7 years agoUpdate CoreClr, CoreFx to beta-25121-02, beta-25122-01, respectively (#10310)
dotnet bot [Wed, 22 Mar 2017 05:04:42 +0000 (22:04 -0700)]
Update CoreClr, CoreFx to beta-25121-02, beta-25122-01, respectively (#10310)

7 years agoSwitch coreclr corelib to use resx (#10372)
Alex Perovich [Wed, 22 Mar 2017 05:02:47 +0000 (00:02 -0500)]
Switch coreclr corelib to use resx (#10372)

* Revert "Revert "Switch coreclr corelib to use resx (#10268)""

* Add resources.target override

This fixes the GenerateResource task running on the arm emulator runs.

* Fix run.sh to have a working Tools-Override

7 years ago[Local GC] Forbid inclusion of gcscan.h from VM and DAC directories (#10332)
Sean Gillespie [Wed, 22 Mar 2017 05:00:12 +0000 (22:00 -0700)]
[Local GC] Forbid inclusion of gcscan.h from VM and DAC directories (#10332)

* Forbid inclusion of gcscan.h from VM and DAC directories

* Address code review feedback - hoist IsGCHeapInitialized check to an assert, since the heap should definitely be initialized if we are validating objects that ostensibly came from it

7 years agoMerge pull request #10363 from jkotas/revert
Jan Kotas [Wed, 22 Mar 2017 00:45:57 +0000 (17:45 -0700)]
Merge pull request #10363 from jkotas/revert

Revert "Switch coreclr corelib to use resx (#10268)"

7 years agoRevert "Switch coreclr corelib to use resx (#10268)"
Jan Kotas [Tue, 21 Mar 2017 23:24:52 +0000 (16:24 -0700)]
Revert "Switch coreclr corelib to use resx (#10268)"

This reverts commit 12ef04c22b07f1e4ec5a63009298e4537a2c8e1a.

7 years agoFix Linux/x86 call alignment calculation and insertion (#10266)
Bruce Forstall [Tue, 21 Mar 2017 22:27:07 +0000 (15:27 -0700)]
Fix Linux/x86 call alignment calculation and insertion (#10266)

* Fix Linux/x86 call alignment calculation and insertion

The existing system of calculating per-call alignment adjustments
did not consider the possibility of nested calls. On x86, some
arguments for a call might be pushed on the stack before a
nested call's arguments start being pushed. Thus, a call can't
consider only its own arguments when determining the stack level.

Instead, use the existing genStackLevel variable, updated
dynamically during code generation, to determine the baseline
stack alignment when a call first needs to push something on
the stack, or if it has no stack arguments, whether it needs to
align the stack before a call.

One wrinkle here is that the fgAddCodeRef() function for adding
throw blocks for array bounds checks, and other similar helpers,
need to know the stack level on entry, and this stack level is
computed during argument morphing. There is a tough phase ordering
problem here. So, we bail out and force an EBP frame if there are
any such throw helpers in the function. When using an EBP frame,
the helper block doesn't need to know the stack level -- it is
only needed for ESP frames, needed for unwinding. Note that this
bail out already existed if the same helper needed multiple different
stack levels on entry. We could do slightly better without too much
work by not bailing out for top-level calls with no stack arguments.

* Track max alignment added for nested calls during codegen

This information is needed by Linux/x86 for an assert about
maximum emitter stack depth.

* Make max stack align tracking available in release as well

The assert these are used in is a noway_assert.

* Formatting

7 years ago[x86/Linux] Invoke gcResetForBB() in genFuncletProlog (#10186)
Hanjoung Lee [Tue, 21 Mar 2017 22:00:56 +0000 (07:00 +0900)]
[x86/Linux] Invoke gcResetForBB() in genFuncletProlog (#10186)

7 years agoMerge pull request #10343 from parjong/fix/self_override
Andy Ayers [Tue, 21 Mar 2017 20:08:01 +0000 (13:08 -0700)]
Merge pull request #10343 from parjong/fix/self_override

Fix bogus assert in resolveVirtualMethodHelper and update related ilproj

7 years agoAdd /silent option to crossgen (#10350)
Bruce Forstall [Tue, 21 Mar 2017 20:01:52 +0000 (13:01 -0700)]
Add /silent option to crossgen (#10350)

This sets the NGenOptions.fSilent flag, which prevents displaying
the final output message.

This is useful for JIT asm diff generation.

7 years agoSwitch coreclr corelib to use resx (#10268)
Alex Perovich [Tue, 21 Mar 2017 19:55:39 +0000 (14:55 -0500)]
Switch coreclr corelib to use resx (#10268)

* Switch to resx

* Use roslyn rewriter to switch from GetResourceString to SR

* More GetResourceString changes

* Add missing resource

* Remove Environment.GetResourceString and replace final usages with SR

* Remove comment

* Fix spacing

* Replace final instances of Environment.GetResourceString

* Add another missing resource

* Add back Environment.GetResourceStringLocal because the runtime needs it

7 years agoSystem.IO.Path.IsPathRooted does not check if valid drive letter on Windows (#10323)
Viktor Hofer [Tue, 21 Mar 2017 19:36:25 +0000 (20:36 +0100)]
System.IO.Path.IsPathRooted does not check if valid drive letter on Windows (#10323)

7 years agoMerge pull request #10254 from sdmaclea/PR-FIX-SCRIPT-ERROR
Aditya Mandaleeka [Tue, 21 Mar 2017 19:01:53 +0000 (12:01 -0700)]
Merge pull request #10254 from sdmaclea/PR-FIX-SCRIPT-ERROR

Fix script ERRORLEVEL typo

7 years agoTemporarily disable frequently failing Sleep PAL tests (#10313)
Koundinya Veluri [Tue, 21 Mar 2017 18:47:32 +0000 (11:47 -0700)]
Temporarily disable frequently failing Sleep PAL tests (#10313)

See #8321

7 years agoMerge pull request #10321 from WinCPP/issue-7060
Ian Hays [Tue, 21 Mar 2017 17:37:51 +0000 (10:37 -0700)]
Merge pull request #10321 from WinCPP/issue-7060

Issue #7060 - Make StreamReader.ReadBuffer non-virtual

7 years agoMerge pull request #10327 from mikedn/assertion-info
Joseph Tremoulet [Tue, 21 Mar 2017 15:06:24 +0000 (11:06 -0400)]
Merge pull request #10327 from mikedn/assertion-info

Refactor GenTree assertion information storage

7 years ago[x86/Linux] Log UpdateRegDisplay calls (#10335)
Jonghyun Park [Tue, 21 Mar 2017 09:31:04 +0000 (18:31 +0900)]
[x86/Linux] Log UpdateRegDisplay calls (#10335)

7 years agoFix bogus assert in resolveVirtualMethodHelper and update related ilproj
Jonghyun Park [Tue, 21 Mar 2017 06:10:30 +0000 (15:10 +0900)]
Fix bogus assert in resolveVirtualMethodHelper and update related ilproj

7 years ago[x86/Linux] Use 4-byte align for double in struct (#10340)
Jonghyun Park [Tue, 21 Mar 2017 04:36:27 +0000 (13:36 +0900)]
[x86/Linux] Use 4-byte align for double in struct (#10340)

7 years ago[x86/Linux] Correct update on ResumableFrame (#10339)
Jonghyun Park [Tue, 21 Mar 2017 04:26:19 +0000 (13:26 +0900)]
[x86/Linux] Correct update on ResumableFrame (#10339)

7 years agoMerge pull request #10341 from dotnet/mirror-merge-9056283
Jan Kotas [Tue, 21 Mar 2017 04:13:04 +0000 (21:13 -0700)]
Merge pull request #10341 from dotnet/mirror-merge-9056283

Mirror changes from dotnet/corert

7 years agoDelete moved file
Jan Kotas [Tue, 21 Mar 2017 02:30:56 +0000 (19:30 -0700)]
Delete moved file

7 years agoNS2.0 - Complete System.Security namespace.
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.

7 years ago'root' as a special case in UTIL_IsExecuteBitsSet (#10246)
Jonghyun Park [Tue, 21 Mar 2017 00:14:02 +0000 (09:14 +0900)]
'root' as a special case in UTIL_IsExecuteBitsSet (#10246)

7 years agoFix MAC build (#10328)
Tarek Mahmoud Sayed [Mon, 20 Mar 2017 23:19:48 +0000 (16:19 -0700)]
Fix MAC build (#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

7 years agoMerge pull request #10325 from dotnet/mirror-merge-9055987
Jan Kotas [Mon, 20 Mar 2017 23:17:55 +0000 (16:17 -0700)]
Merge pull request #10325 from dotnet/mirror-merge-9055987

Mirror changes from dotnet/corert

7 years agoMerge pull request #10330 from omajid/fix-markdown-atx-headers
Aditya Mandaleeka [Mon, 20 Mar 2017 23:01:13 +0000 (16:01 -0700)]
Merge pull request #10330 from omajid/fix-markdown-atx-headers

Fix markdown headings

7 years agoFix markdown headings
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

7 years agoDelete moved files
Jan Kotas [Mon, 20 Mar 2017 21:28:18 +0000 (14:28 -0700)]
Delete moved files

7 years agoRefactor GenTree assertion information storage
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).

7 years agoFix another per code review
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 20 Mar 2017 21:13:33 +0000 (21:13 +0000)]
Fix another per code review

7 years agoMerge pull request #10319 from JosephTremoulet/NullField
Joseph Tremoulet [Mon, 20 Mar 2017 21:13:14 +0000 (17:13 -0400)]
Merge pull request #10319 from JosephTremoulet/NullField

Permit null object in `GenTreeUseEdgeIterator`

7 years agoMove Type.cs and Module.cs to Shared Partition.
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.

7 years agoMerge pull request #10317 from dotnet/mirror-merge-9055826
Jan Kotas [Mon, 20 Mar 2017 21:03:14 +0000 (14:03 -0700)]
Merge pull request #10317 from dotnet/mirror-merge-9055826

Mirror changes from dotnet/corert

7 years agoIssue #7060 - Make StreamReader.ReadBuffer non-virtual
WinCPP [Mon, 20 Mar 2017 19:58:55 +0000 (01:28 +0530)]
Issue #7060 - Make StreamReader.ReadBuffer non-virtual

7 years agoPermit null object in `GenTreeUseEdgeIterator`
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.

7 years agoMerge pull request #10315 from dotnet-bot/from-tfs
Bruce Forstall [Mon, 20 Mar 2017 19:09:36 +0000 (12:09 -0700)]
Merge pull request #10315 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoFix FileStream for ProjectN
Jan Kotas [Sun, 19 Mar 2017 02:41:39 +0000 (19:41 -0700)]
Fix FileStream for ProjectN

[tfs-changeset: 1651325]

7 years agoRemove message about falling to default for MethodContext::repGetEEInfo()
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]

7 years agoMerge pull request #10301 from dotnet-bot/from-tfs
Brian Sullivan [Mon, 20 Mar 2017 17:34:10 +0000 (10:34 -0700)]
Merge pull request #10301 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoInitial document on AssemblyLoadContext Design (#10271)
Gaurav Khanna [Mon, 20 Mar 2017 17:32:34 +0000 (10:32 -0700)]
Initial document on AssemblyLoadContext Design (#10271)

* Initial document on AssemblyLoadContext Design

7 years agoMerge pull request #10262 from briansull/refactor2
Brian Sullivan [Mon, 20 Mar 2017 17:24:17 +0000 (10:24 -0700)]
Merge pull request #10262 from briansull/refactor2

Updates for the handling of Profile data in the JIT

7 years agoMake GetModuleHandle() sharable. (#10309)
Atsushi Kanamori [Mon, 20 Mar 2017 17:03:26 +0000 (10:03 -0700)]
Make GetModuleHandle() sharable. (#10309)

7 years agoMerge pull request #9445 from hqueue/arm/ci
Gaurav Khanna [Mon, 20 Mar 2017 15:55:56 +0000 (08:55 -0700)]
Merge pull request #9445 from hqueue/arm/ci

[ARM/CI] ARM CI script for arm and armel

7 years agoReconciles Type.cs with CoreRT version for move to shared partition. (#10306)
Atsushi Kanamori [Mon, 20 Mar 2017 15:18:45 +0000 (08:18 -0700)]
Reconciles Type.cs with CoreRT version for move to shared partition. (#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.)

7 years ago[Arm64/Unix] Set PROCFS_* available in tryrun (#10255)
Steve MacLean [Mon, 20 Mar 2017 15:17:05 +0000 (11:17 -0400)]
[Arm64/Unix] Set PROCFS_* available in tryrun (#10255)

7 years agoDesktop side of the change to remove COR_JIT_EE_VERSION
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]

7 years agoInvariant globalization (#10264)
Tarek Mahmoud Sayed [Sun, 19 Mar 2017 23:19:56 +0000 (16:19 -0700)]
Invariant globalization (#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

7 years agoMerge pull request #10291 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Sun, 19 Mar 2017 12:06:20 +0000 (08:06 -0400)]
Merge pull request #10291 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25119-02 (master)

7 years agoUpdate CoreClr to beta-25119-02
dotnet-bot [Sun, 19 Mar 2017 08:08:34 +0000 (08:08 +0000)]
Update CoreClr to beta-25119-02

7 years agoFix code to build with older VC++ compiler (#10281)
Bruce Forstall [Sun, 19 Mar 2017 06:35:05 +0000 (23:35 -0700)]
Fix code to build with older VC++ compiler (#10281)

7 years agoRemove potential overflow in SafeBSTRHandle (#10182)
John Bottenberg [Sun, 19 Mar 2017 04:33:58 +0000 (21:33 -0700)]
Remove potential overflow in SafeBSTRHandle (#10182)

7 years agoFix a typo in exceptoinhandling.cpp (#10237)
Jonghyun Park [Sun, 19 Mar 2017 04:32:57 +0000 (13:32 +0900)]
Fix a typo in exceptoinhandling.cpp (#10237)

7 years agoI hoisted the accounting for LOH into allocate_large_objects to avoid missing countin...
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 (#10284)

7 years agoFix for Module.GetMethod(string) (#10283)
Atsushi Kanamori [Sat, 18 Mar 2017 22:15:43 +0000 (15:15 -0700)]
Fix for Module.GetMethod(string) (#10283)

7 years agoMerge pull request #10280 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Sat, 18 Mar 2017 21:40:09 +0000 (17:40 -0400)]
Merge pull request #10280 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25118-03 (master)

7 years agoMerge pull request #10272 from dotnet/mirror-merge-9051754
Jan Kotas [Sat, 18 Mar 2017 20:57:24 +0000 (13:57 -0700)]
Merge pull request #10272 from dotnet/mirror-merge-9051754

Mirror changes from dotnet/corert

7 years agoMerge pull request #10216 from JosephTremoulet/SpanBench
Joseph Tremoulet [Sat, 18 Mar 2017 18:06:54 +0000 (14:06 -0400)]
Merge pull request #10216 from JosephTremoulet/SpanBench

Update SpanBench test

7 years agoUpdate CoreClr to beta-25118-03
dotnet-bot [Sat, 18 Mar 2017 16:37:23 +0000 (16:37 +0000)]
Update CoreClr to beta-25118-03

7 years agoUpdate SpanBench test
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.

7 years agoMerge pull request #10054 from pgavlin/GenTreeUseEdgeIterator
Pat Gavlin [Sat, 18 Mar 2017 15:41:40 +0000 (08:41 -0700)]
Merge pull request #10054 from pgavlin/GenTreeUseEdgeIterator

Improve GenTreeUseEdgeIterator.

7 years agoDelete moved files
Jan Kotas [Sat, 18 Mar 2017 15:22:40 +0000 (08:22 -0700)]
Delete moved files

7 years agoRemove JIT-EE version ifdefs (#10273)
Bruce Forstall [Sat, 18 Mar 2017 15:12:52 +0000 (08:12 -0700)]
Remove JIT-EE version ifdefs (#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.

7 years agoMerge pull request #10278 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Sat, 18 Mar 2017 12:32:46 +0000 (08:32 -0400)]
Merge pull request #10278 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25118-02 (master)

7 years agoMove ParameterInfo.cs and Assembly.cs to shared partition. (#10270)
Atsushi Kanamori [Sat, 18 Mar 2017 11:37:06 +0000 (04:37 -0700)]
Move ParameterInfo.cs and Assembly.cs to shared partition. (#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.

7 years agoUpdate CoreClr to beta-25118-02
dotnet-bot [Sat, 18 Mar 2017 08:56:56 +0000 (08:56 +0000)]
Update CoreClr to beta-25118-02

7 years agoMerge pull request #10269 from BruceForstall/FixBuildAll
Bruce Forstall [Sat, 18 Mar 2017 07:18:26 +0000 (00:18 -0700)]
Merge pull request #10269 from BruceForstall/FixBuildAll

Fix build.cmd "all" to work with pass-through args again

7 years agoUpdate CoreClr, CoreFx to beta-25117-08, beta-25118-01, respectively (#10267)
dotnet bot [Sat, 18 Mar 2017 06:27:38 +0000 (23:27 -0700)]
Update CoreClr, CoreFx to beta-25117-08, beta-25118-01, respectively (#10267)

7 years agoImprove GenTreeUseEdgeIterator.
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.

7 years agoMerge pull request #10220 from dotnet/revert-10206-MultiQueue
Gaurav Khanna [Sat, 18 Mar 2017 04:35:47 +0000 (21:35 -0700)]
Merge pull request #10220 from dotnet/revert-10206-MultiQueue

Revert "Add support for Multiqueing jobs in Helix"

7 years agoMerge pull request #10274 from AndyAyersMS/FixMoreCasing
Andy Ayers [Sat, 18 Mar 2017 04:04:56 +0000 (21:04 -0700)]
Merge pull request #10274 from AndyAyersMS/FixMoreCasing

Fix yet another casing issue.

7 years agoFix overflow when computing dwWeight in CPUGroupInfo::InitCPUGroupInfoArray (#10104)
Han Lee [Sat, 18 Mar 2017 03:26:06 +0000 (20:26 -0700)]
Fix overflow when computing dwWeight in CPUGroupInfo::InitCPUGroupInfoArray (#10104)

Fix overflow in dwWeight when there are large number of CPU groups

7 years agoUpdates for the handling of Profile data in the JIT
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.

7 years agoMerge pull request #10241 from briansull/refactor1
Brian Sullivan [Sat, 18 Mar 2017 01:01:26 +0000 (18:01 -0700)]
Merge pull request #10241 from briansull/refactor1

Refactor the flag test of BBF_PROF_WEIGHT

7 years agoFix triggers for ILLINK job (#10244)
Swaroop Sridhar [Sat, 18 Mar 2017 00:13:34 +0000 (17:13 -0700)]
Fix triggers for ILLINK job (#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

7 years agoFix yet another casing issue.
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.

7 years agoFileStream.Unix: open with CLOEXEC unless FileShare.Inheritable set (#10251)
Tom Deseyn [Fri, 17 Mar 2017 23:54:45 +0000 (00:54 +0100)]
FileStream.Unix: open with CLOEXEC unless FileShare.Inheritable set (#10251)

* FileStream.Unix: open with CLOEXEC unless FileShare.Inheritable set

* PR feedback

7 years agoMove EventInfo.cs to shared partition.
Atsushi Kanamori [Fri, 17 Mar 2017 17:32:49 +0000 (10:32 -0700)]
Move EventInfo.cs to shared partition.

7 years agoFix build.cmd "all" to work with pass-through args again
Bruce Forstall [Fri, 17 Mar 2017 21:45:47 +0000 (14:45 -0700)]
Fix build.cmd "all" to work with pass-through args again

7 years agoMerge pull request #10238 from pgavlin/SeekUnrollLimit
Pat Gavlin [Fri, 17 Mar 2017 21:39:09 +0000 (14:39 -0700)]
Merge pull request #10238 from pgavlin/SeekUnrollLimit

Reduce case iteration counts in SeekUnroll.

7 years agoRefactor the flag test of BBF_PROF_WEIGHT
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()

7 years agoMerge pull request #10259 from AndyAyersMS/FixNoway
Andy Ayers [Fri, 17 Mar 2017 21:01:28 +0000 (14:01 -0700)]
Merge pull request #10259 from AndyAyersMS/FixNoway

JIT: Fix noway_assert when inlining

7 years agoMerge pull request #10263 from dotnet-bot/from-tfs
Andy Ayers [Fri, 17 Mar 2017 21:01:18 +0000 (14:01 -0700)]
Merge pull request #10263 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoMerge pull request #10260 from sdmaclea/PR-ARM64-REMOVE-X19-WORKAROUND
Rahul Kumar [Fri, 17 Mar 2017 20:26:00 +0000 (13:26 -0700)]
Merge pull request #10260 from sdmaclea/PR-ARM64-REMOVE-X19-WORKAROUND

[Arm64/Unix] Remove x19 corruption workaround

7 years agoClean up GenTreePutArgStk (#10239)
Bruce Forstall [Fri, 17 Mar 2017 20:01:47 +0000 (13:01 -0700)]
Clean up GenTreePutArgStk (#10239)

Consolidate constructors; go from 4 to 2.

Reduce `#ifdef` in callers.

7 years agoMerge pull request #10245 from rahku/fix10048
Rahul Kumar [Fri, 17 Mar 2017 19:49:57 +0000 (12:49 -0700)]
Merge pull request #10245 from rahku/fix10048

LoadFromStream should throw badimageformat early on

7 years agoLoadFromStream should throw badimageformat early on
Rahul Kumar [Fri, 17 Mar 2017 03:27:58 +0000 (20:27 -0700)]
LoadFromStream should throw badimageformat early on

7 years agoMerge pull request #10253 from dotnet/mirror-merge-9051394
Jan Kotas [Fri, 17 Mar 2017 19:43:40 +0000 (12:43 -0700)]
Merge pull request #10253 from dotnet/mirror-merge-9051394

Mirror changes from dotnet/corert

7 years agofix syntax error in build.sh (#10256)
Buyduck [Fri, 17 Mar 2017 19:38:35 +0000 (22:38 +0300)]
fix syntax error in build.sh (#10256)

7 years agoDelete unused ReferenceLocalMscorlib property from test proj files (#10250)
Jan Kotas [Fri, 17 Mar 2017 18:44:10 +0000 (11:44 -0700)]
Delete unused ReferenceLocalMscorlib property from test proj files (#10250)

Deleted a few other irrelevant properties as well while I was on it.

Fixes #7711

7 years agoAdd reflection roots for tests calling CreateInstance() (#10242)
Swaroop Sridhar [Fri, 17 Mar 2017 18:22:18 +0000 (11:22 -0700)]
Add reflection roots for tests calling CreateInstance() (#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))

7 years agofix formatting
Andy Ayers [Fri, 17 Mar 2017 18:09:55 +0000 (11:09 -0700)]
fix formatting

7 years agoMerge pull request #10192 from AndyAyersMS/InterfaceDevirt
Andy Ayers [Fri, 17 Mar 2017 18:04:35 +0000 (11:04 -0700)]
Merge pull request #10192 from AndyAyersMS/InterfaceDevirt

Interface devirt

7 years agoAddress feedback.
Pat Gavlin [Fri, 17 Mar 2017 18:02:24 +0000 (11:02 -0700)]
Address feedback.

7 years ago[Arm64/Unix] Remove x19 corruption workaround
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Thu, 16 Mar 2017 16:20:39 +0000 (16:20 +0000)]
[Arm64/Unix] Remove x19 corruption workaround

7 years agoJIT: Fix noway_assert when inlining
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 #9891.

7 years agoDelete moved files
Jan Kotas [Fri, 17 Mar 2017 17:19:33 +0000 (10:19 -0700)]
Delete moved files