platform/upstream/coreclr.git
7 years agoMerge pull request #6885 from BruceForstall/FixLIRComments
Bruce Forstall [Wed, 24 Aug 2016 04:37:42 +0000 (21:37 -0700)]
Merge pull request #6885 from BruceForstall/FixLIRComments

Fix DecomposeStoreInd comments

7 years agoMerge pull request #6869 from joperezr/AddingTimeZone
Jose Perez Rodriguez [Wed, 24 Aug 2016 03:59:36 +0000 (20:59 -0700)]
Merge pull request #6869 from joperezr/AddingTimeZone

Adding System.TimeZone

7 years agoModule.Name: Avoid unnecessary char[] allocation (#6865)
Justin Van Patten [Wed, 24 Aug 2016 03:21:45 +0000 (20:21 -0700)]
Module.Name: Avoid unnecessary char[] allocation (#6865)

Instead of `new string(s.ToCharArray(), i + 1, s.Length - i - 1)`, use
the simpler `string.Substring(i + 1)` to avoid the unnecessary
intermediate char[] allocation.

7 years agoDateTimeFormat: Avoid intermediate char[] allocation (#6863)
Justin Van Patten [Wed, 24 Aug 2016 03:16:22 +0000 (20:16 -0700)]
DateTimeFormat: Avoid intermediate char[] allocation (#6863)

An unnecessary intermediate char[] allocation can be avoided by calling
`new string(c, 1)` instead of `new string(new char[] { c })`.

7 years agoAllow to use clang 3.9 in build.sh (#6888)
Łukasz Domeradzki [Wed, 24 Aug 2016 02:42:55 +0000 (04:42 +0200)]
Allow to use clang 3.9 in build.sh (#6888)

Can be found e.g. in Debian Sid.

7 years agoDisable downloading xplat binaries as we no longer need to build these packages in...
dotnet bot [Wed, 24 Aug 2016 00:53:29 +0000 (17:53 -0700)]
Disable downloading xplat binaries as we no longer need to build these packages in razzle. (#6871)

[tfs-changeset: 1623740]

7 years agoFix DecomposeStoreInd comments
Bruce Forstall [Wed, 24 Aug 2016 00:10:31 +0000 (17:10 -0700)]
Fix DecomposeStoreInd comments

7 years agoMerge pull request #6873 from BruceForstall/Fix6180
Bruce Forstall [Tue, 23 Aug 2016 23:15:44 +0000 (16:15 -0700)]
Merge pull request #6873 from BruceForstall/Fix6180

Reenable tests

7 years agoMerge pull request #6878 from terrajobst/master
Immo Landwerth [Tue, 23 Aug 2016 23:10:48 +0000 (16:10 -0700)]
Merge pull request #6878 from terrajobst/master

Add section on how to file security bugs

7 years agoAdd section on how to file security bugs
Barry Dorrans [Tue, 23 Aug 2016 22:58:44 +0000 (15:58 -0700)]
Add section on how to file security bugs

7 years agoStop maintaining costs in fgSimpleLowering. (#6872)
Pat Gavlin [Tue, 23 Aug 2016 22:41:09 +0000 (15:41 -0700)]
Stop maintaining costs in fgSimpleLowering. (#6872)

This was causing a few asserts on x86.

7 years agoMerge pull request #6868 from mmitche/disable-node-reuse
Matt Mitchell [Tue, 23 Aug 2016 22:34:40 +0000 (15:34 -0700)]
Merge pull request #6868 from mmitche/disable-node-reuse

Disable node reuse

7 years agoMerge pull request #6858 from adiaaida/fixBuildsh
Michelle McDaniel [Tue, 23 Aug 2016 21:34:47 +0000 (14:34 -0700)]
Merge pull request #6858 from adiaaida/fixBuildsh

Fix ConfigureOnly option in build.sh

7 years agoReenable tests
Bruce Forstall [Tue, 23 Aug 2016 21:22:48 +0000 (14:22 -0700)]
Reenable tests

The tests disabled due to the assert in #6180 no longer fail
(possibly as a side-effect of the LIR backend changes?), so
reenable them.

7 years agoDisable node reuse
Matt Mitchell [Tue, 23 Aug 2016 19:03:41 +0000 (12:03 -0700)]
Disable node reuse

7 years agoMerge pull request #6815 from rahku/apicompat
Rahul Kumar [Tue, 23 Aug 2016 20:34:30 +0000 (13:34 -0700)]
Merge pull request #6815 from rahku/apicompat

Expose MulticastDelegate.GetObjectData method

7 years agoAdd missing .gitmirror file. (#6864)
dotnet bot [Tue, 23 Aug 2016 19:58:41 +0000 (12:58 -0700)]
Add missing .gitmirror file. (#6864)

[tfs-changeset: 1623730]

7 years agoAdding System.TimeZone
Jose Perez Rodriguez [Tue, 23 Aug 2016 16:31:05 +0000 (09:31 -0700)]
Adding System.TimeZone

7 years agoFix the ninja build for FC23. (#6861)
Pat Gavlin [Tue, 23 Aug 2016 17:18:54 +0000 (10:18 -0700)]
Fix the ninja build for FC23. (#6861)

Fedora installs ninja under the name `ninja-build` rather than `ninja`.

7 years agoStop maintaining cost estimates in the RyuJIT backend. (#6849)
Pat Gavlin [Tue, 23 Aug 2016 16:36:27 +0000 (09:36 -0700)]
Stop maintaining cost estimates in the RyuJIT backend. (#6849)

* Summarize HIR cost estimates on Compiler.

These cost estimates are made on HIR and are not used by the backend.
Stash them before converting the function to LIR and report them at the
end of compilation.

* Stop maintaining costs in the backend.

The backend does not use the tree cost estimates.

* Remove a bit more cost maintenance.

* Address PR feedback.

7 years agoMerge pull request #6852 from BruceForstall/Disable4702
Bruce Forstall [Tue, 23 Aug 2016 16:32:42 +0000 (09:32 -0700)]
Merge pull request #6852 from BruceForstall/Disable4702

Conditionally disable C4702 "unreachable code" warnings

7 years agoFix ConfigureOnly option in build.sh
Michelle McDaniel [Mon, 22 Aug 2016 18:01:41 +0000 (11:01 -0700)]
Fix ConfigureOnly option in build.sh

ConfigureOnly is intended to run the CMake to configure the build, but
nothing else. However, when you passed configureonly to build.sh, it set
__SkipConfigure=1, which made it skip the configure step of the build.
This change fixes that by removing that option from the options set my
configureonly, and adds a check right after configure and right before
running the build to exit if we are only configuring.

7 years agoAdding missing members on System Namespace (#6818)
Jose Perez Rodriguez [Tue, 23 Aug 2016 15:40:23 +0000 (08:40 -0700)]
Adding missing members on System Namespace (#6818)

Adding missing members on System Namespace

7 years agoMerge pull request #6664 from dagood/update-existing-pr
Davis Goodin [Tue, 23 Aug 2016 15:28:31 +0000 (10:28 -0500)]
Merge pull request #6664 from dagood/update-existing-pr

Use versions repo tooling from BuildTools

7 years agoMerge pull request #6848 from BruceForstall/FixArm64SuperPmi2
Bruce Forstall [Tue, 23 Aug 2016 04:52:16 +0000 (21:52 -0700)]
Merge pull request #6848 from BruceForstall/FixArm64SuperPmi2

Fix superpmi arm64 build

7 years agoMerge pull request #6846 from BruceForstall/FixSuperPmiX86
Bruce Forstall [Tue, 23 Aug 2016 04:44:29 +0000 (21:44 -0700)]
Merge pull request #6846 from BruceForstall/FixSuperPmiX86

Reenable superpmi test for x86

7 years agoConditionally disable C4702 "unreachable code" warnings
Bruce Forstall [Tue, 23 Aug 2016 00:34:44 +0000 (17:34 -0700)]
Conditionally disable C4702 "unreachable code" warnings

The CLR header file check.h, macro CHECK_MSG_EX, can create unreachable code if the LEAVE_DEBUG_ONLY_CODE
macro is not empty (such as it is defined in contract.h) and the _RESULT macro expands to "return".
Checked-in compilers used by the TFS-based desktop build (e.g., version 18.10.40116.8) started reporting
unreachable code warnings when debugholder.h was changed to no longer #define "return" to something relatively
complex. However, newer compilers, such as Visual Studio 2015, used to build the CLR from the open source
GitHub repo, still do not report this warning. We don't want to disable this warning for the open source build,
which will use a newer compiler. Hence, only disable it for older compilers.

7 years agoFix SOS build break from PR #6838. (#6845)
dotnet bot [Tue, 23 Aug 2016 00:02:16 +0000 (17:02 -0700)]
Fix SOS build break from PR #6838. (#6845)

[tfs-changeset: 1623588]

7 years agoMerge pull request #6847 from jhendrixMSFT/master
Joel Hendrix [Mon, 22 Aug 2016 23:25:43 +0000 (16:25 -0700)]
Merge pull request #6847 from jhendrixMSFT/master

Use the "open" key for strong-name signing SOS.NETCore.dll.

7 years agoAdding the missing string function to model.xml (#6694)
Jonathan Miller [Mon, 22 Aug 2016 23:17:09 +0000 (16:17 -0700)]
Adding the missing string function to model.xml (#6694)

* Adding + stubbing out the missing Globalization functions
* Doing the correct native implementation now...

7 years agoMerge pull request #6850 from mmitche/fix-regex
Matt Mitchell [Mon, 22 Aug 2016 23:16:15 +0000 (16:16 -0700)]
Merge pull request #6850 from mmitche/fix-regex

Fix regex

7 years agoFix regex
Matt Mitchell [Mon, 22 Aug 2016 23:14:43 +0000 (16:14 -0700)]
Fix regex

7 years agoMerge pull request #6822 from smile21prc/coreclr-perf
smile21prc [Mon, 22 Aug 2016 22:54:07 +0000 (15:54 -0700)]
Merge pull request #6822 from smile21prc/coreclr-perf

Automate enhancement on the perf data collection for JIT CodeQuality benchmarks on Windows.

7 years agoFix superpmi arm64 build
Bruce Forstall [Mon, 22 Aug 2016 22:08:25 +0000 (15:08 -0700)]
Fix superpmi arm64 build

7 years agoUse the "open" key for strong-name signing SOS.NETCore.dll.
Joel Hendrix [Mon, 22 Aug 2016 21:51:48 +0000 (14:51 -0700)]
Use the "open" key for strong-name signing SOS.NETCore.dll.

Switch to using the OSS strong name instead of the default MSFT one.

7 years agoReenable superpmi test for x86
Bruce Forstall [Mon, 22 Aug 2016 21:10:50 +0000 (14:10 -0700)]
Reenable superpmi test for x86

Replace Roslyn CscBench with Bytemark, since CscBench fails with
an inlining assert (opened as issue #6844) on x86.

7 years agoRemove fgDebugCheckLinear{Tree,NodeLinks}. (#6842)
Pat Gavlin [Mon, 22 Aug 2016 21:01:31 +0000 (14:01 -0700)]
Remove fgDebugCheckLinear{Tree,NodeLinks}. (#6842)

These functions are not necessary for LIR.

7 years agoUse versions repo tooling from BuildTools.
Davis Goodin [Mon, 8 Aug 2016 23:45:59 +0000 (18:45 -0500)]
Use versions repo tooling from BuildTools.

Sets up dependencies.props config. Removes UpdateDependencies powershell script, to be replaced by a call into VersionTools in Maestro automation. Changes UpdatePublishedVersions to pass through to VersionTools for backward compatibility.

7 years agoMerge pull request #6840 from hann013/t-hazhan/SuppressIldasmAttribute
Hannah Zhang [Mon, 22 Aug 2016 20:12:48 +0000 (13:12 -0700)]
Merge pull request #6840 from hann013/t-hazhan/SuppressIldasmAttribute

Added SuppressIldasmAttribute

7 years agoMerge pull request #6821 from mellinoe/opensuse421
Eric Mellino [Mon, 22 Aug 2016 17:29:35 +0000 (10:29 -0700)]
Merge pull request #6821 from mellinoe/opensuse421

Add a CI job for openSUSE 42.1

7 years agoAdded SuppressIldasmAttribute to mscorlib and model.xml
Hannah Zhang [Mon, 22 Aug 2016 17:24:29 +0000 (10:24 -0700)]
Added SuppressIldasmAttribute to mscorlib and model.xml

7 years agoMerge pull request #6806 from wateret/fix-hfa
Brian Sullivan [Mon, 22 Aug 2016 14:05:34 +0000 (07:05 -0700)]
Merge pull request #6806 from wateret/fix-hfa

[ARM/Linux] Fix HFA structs

7 years agoFurther optimizations for String.Join, String.Concat (#6800)
James Ko [Mon, 22 Aug 2016 02:00:19 +0000 (22:00 -0400)]
Further optimizations for String.Join, String.Concat (#6800)

* Apply length-1 optimization to Join(string, object[])
* Apply length-1 optimization to Concat(IEnumerable<string>)
* Apply length-1 optimization to Concat(IEnumerable<T>)
* Apply lengths 0/1 optimizations to Concat(object[]), Concat(string[])

7 years ago[ARM/Linux] Fix HFA structs
Hanjoung Lee [Fri, 19 Aug 2016 07:32:00 +0000 (16:32 +0900)]
[ARM/Linux] Fix HFA structs

Re-enable FEATURE_MULTIREG_RET for ARM32 which was disabled by #6467.

Fix #6677

7 years agoMerge pull request #6832 from dotnet-bot/from-tfs
Bruce Forstall [Sun, 21 Aug 2016 03:51:31 +0000 (20:51 -0700)]
Merge pull request #6832 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoMerge remote-tracking branch 'upstream/master' into from-tfs
Matt Ellis [Sun, 21 Aug 2016 01:29:38 +0000 (18:29 -0700)]
Merge remote-tracking branch 'upstream/master' into from-tfs

7 years agoDisable SuperPMI unit test for x86 legacy backend
Bruce Forstall [Sat, 20 Aug 2016 20:27:20 +0000 (13:27 -0700)]
Disable SuperPMI unit test for x86 legacy backend

[tfs-changeset: 1623421]

7 years agoSuperPMI: fix ARM build break
Bruce Forstall [Sat, 20 Aug 2016 20:15:09 +0000 (13:15 -0700)]
SuperPMI: fix ARM build break

[tfs-changeset: 1623419]

7 years agoAssert that any node with a non-zero dstCount produces a value. (#6827)
Pat Gavlin [Sat, 20 Aug 2016 17:41:28 +0000 (10:41 -0700)]
Assert that any node with a non-zero dstCount produces a value. (#6827)

* Assert that any node with a non-zero dstCount produces a value.

The register allocator will otherwise misallocate, as such nodes will
produce an unconsumed value.

* Fix the dstCount for GT_RETFILT.

7 years agoDisable superpmi test for RyuJIT/x86
Bruce Forstall [Sat, 20 Aug 2016 17:15:38 +0000 (10:15 -0700)]
Disable superpmi test for RyuJIT/x86

[tfs-changeset: 1623413]

7 years agoFix build break related to LogException requiring non-empty varargs arguments
Bruce Forstall [Sat, 20 Aug 2016 17:07:50 +0000 (10:07 -0700)]
Fix build break related to LogException requiring non-empty varargs arguments

[tfs-changeset: 1623412]

7 years agoFix ARM64 build breakage (#6819)
Peter Jas [Sat, 20 Aug 2016 07:05:50 +0000 (10:05 +0300)]
Fix ARM64 build breakage (#6819)

7 years agoDelete CanChangeType from model.xml
Jan Kotas [Sat, 20 Aug 2016 06:51:25 +0000 (23:51 -0700)]
Delete CanChangeType from model.xml

[tfs-changeset: 1623392]

7 years agoFix build breaks and warnings in internal build
Jan Kotas [Sat, 20 Aug 2016 03:28:13 +0000 (20:28 -0700)]
Fix build breaks and warnings in internal build

[tfs-changeset: 1623382]

7 years agoMerge pull request #6793 from erozenfeld/TailCallInCalleeInlining
Eugene Rozenfeld [Sat, 20 Aug 2016 01:47:13 +0000 (18:47 -0700)]
Merge pull request #6793 from erozenfeld/TailCallInCalleeInlining

Don't inline methods that have tail-prefixed calls.

7 years agoFix casing of DaylightTime.cs
Jose Perez Rodriguez [Sat, 20 Aug 2016 00:41:31 +0000 (17:41 -0700)]
Fix casing of DaylightTime.cs

[tfs-changeset: 1623368]

7 years agoMerge pull request #6799 from adityamandaleeka/osx_ci_dumps
Aditya Mandaleeka [Sat, 20 Aug 2016 00:29:09 +0000 (17:29 -0700)]
Merge pull request #6799 from adityamandaleeka/osx_ci_dumps

Enable additional functionality for OS X CI dumps.

7 years agoMerge pull request #6816 from CarolEidt/FixArmCrossgen2
Carol Eidt [Fri, 19 Aug 2016 23:39:19 +0000 (16:39 -0700)]
Merge pull request #6816 from CarolEidt/FixArmCrossgen2

Fix dstCount of GT_RETURNTRAP for Arm64

7 years agoInstead of checking in these python tools, pull them from Nuget package instead.
Smile Wei [Fri, 19 Aug 2016 23:37:12 +0000 (16:37 -0700)]
Instead of checking in these python tools, pull them from Nuget package instead.

7 years agoCreate SOS SymbolReader managed project and change SOS to use it. (#6783)
Mike McLaughlin [Fri, 19 Aug 2016 23:06:56 +0000 (16:06 -0700)]
Create SOS SymbolReader managed project and change SOS to use it. (#6783)

* Change SOS to use wrapper class that is now in System.Diagnostics.StackTrace.

The portable PDB helper code for SOS source/line support has been moved from
System.Diagnostics.Debug.SymbolReader to a new managed SOS project in the coreclr
repo called SOS.NETCore.

The public APIs have now been made internal.

Plumb through the loaded PE address to the managed SymbolReader functions so it can be used as a key.

Fixed a stack trashing/overflow when a unresolved managed breakpoint is resolved because one of the
module name buffers was too small (MAX_PATH_FNAME). Changed it (and others) to MAXLONGPATH.

SOS now works with Portable PDBs on Windows.

New dac private get module data request. Used to get the necessary info for portable PDBs.

SOS now supports in-memory PE's on xplat and Windows. Needed to get and plumb though the in-memory
PE layout where it is file based or loaded.

Better Windows GetLineByILOffset support. Uses the SymbolReader and now works with in-memory PEs.

Misc code formatting and general cleanup.

* Code review feedback.

7 years agoOpen source SuperPMI
Bruce Forstall [Fri, 19 Aug 2016 22:56:04 +0000 (15:56 -0700)]
Open source SuperPMI

OVERVIEW
========

This directory contains the SuperPMI tool used for testing the .NET
just-in-time (JIT) compiler.

SuperPMI has two uses:
1. Verification that a JIT code change doesn't cause any asserts.
2. Finding test code where two JIT compilers generate different code, or verifying
that the two compilers generate the same code.

Case #1 is useful for doing quick regression checking when making a source
code change to the JIT compiler. The process is: (a) make a JIT source code
change, (b) run that newly built JIT through a SuperPMI run to verify no
asserts have been introduced.

Case #2 is useful for generating assembly language diffs, to help analyze the
impact of a JIT code change.

SuperPMI works in two phases: collection and playback. In the collection phase,
the system is configured to collect SuperPMI data. Then, run any set of .NET managed
programs. When these managed programs invoke the JIT compiler, SuperPMI gathers and
captures all information passed between the JIT and its .NET host. In the
playback phase, SuperPMI loads the JIT directly, and causes it to compile all
the functions that it previously compiled, but using the collected data to
provide answers to various questions that the JIT needs to ask. The .NET
execution engine (EE) is not invoked at all.

TOOLS
==========

There are two native executable tools: superpmi and mcs. There is a .NET Core
C# program that is built as part of the coreclr repo tests build called
superpmicollect.exe.

All will show a help screen if passed -?.

COLLECTION
==========

Set the following environment variables:

SuperPMIShimLogPath=<full path to an empty temporary directory>
SuperPMIShimPath=<full path to clrjit.dll, the "standalone" JIT>
COMPlus_AltJit=*
COMPlus_AltJitName=superpmi-shim-collector.dll

(On Linux, use libclrjit.so and libsuperpmi-shim-collector.so. On Mac,
use libclrjit.dylib and libsuperpmi-shim-collector.dylib.)

Then, run some managed programs. When done running programs, un-set these variables.

Now, you will have a large number of .mc files. Merge these using the mcs
tool:

mcs -merge base.mch *.mc

One benefit of SuperPMI is the ability to remove duplicated compilations, so
on replay only unique functions are compiled. Use the following to create a
"unique" set of functions:

mcs -removeDup -thin base.mch unique.mch

Note that -thin is not required. However, it will delete all the compilation
result collected during the collection phase, which makes the resulting MCH
file smaller. Those compilation results are not required for playback.

Use the superpmicollect.exe tool to automate and simplify this process.

PLAYBACK
========

Once you have a merged, de-duplicated MCH collection, you can play it back
using:

superpmi unique.mch clrjit.dll

You can do this much faster by utilizing all the processors on your machine,
and replaying in parallel, using:

superpmi -p unique.mch clrjit.dll

REMAINING WORK
=============

The basic of assembly diffing are there, using the "coredistools"
package. The open source build needs to be altered to use this package
to wire up the correct build steps.

[tfs-changeset: 1623347]

7 years agoDon't inline methods that have tail-prefixed calls.
Eugene Rozenfeld [Thu, 18 Aug 2016 17:28:37 +0000 (10:28 -0700)]
Don't inline methods that have tail-prefixed calls.

This commit changes the inlining behavior when the callee has tail-prefixed calls.
The jit was turning tail-prefixed calls in inlinees into normal calls. That means that
in some cases tail prefix wasn't honored. I changed the code to not inline such callees.
This matches the behavior of the legacy x64 jit. A possible improvement would be to allow
inlining when the tail-prefixed calls in the inlinee could still be dispatched as tail calls from the caller.

I enabled TailcallVerifyWithPrefix set of tests. They were disabled because Condition8.Test1, Condition8.Test2,
and Condition8.Test3 used varargs calling convention. I commented out code that was calling those tests.
I didn't delete them in case CoreCLR will support varargs in the future.

I also turned on Condition21.Test1, Condition21.Test2, Condition21.Test3, Condition21.Test6, and Condition21.Test7.
Condition21.Test3 is the test that was failing because the jit was inlining calees with tail-prefixed calls.
The other Condition21 tests above were passing and just weren't called.

7 years agoUse getBootstrapPublishRid function to override __PUBLISH_RID while bringing up new...
Eric Mellino [Fri, 19 Aug 2016 17:15:12 +0000 (10:15 -0700)]
Use getBootstrapPublishRid function to override __PUBLISH_RID while bringing up new platforms

7 years ago1. Enable machine data collection.
Smile Wei [Fri, 19 Aug 2016 22:34:51 +0000 (15:34 -0700)]
1. Enable machine data collection.
2. Upload generated machinedata.json and all perf-*.xml files to /artifact/ Jenkins dir.
3. Enable InstRetired.
4. Force the perf runs to use physical machines.
5. Add test name, and benchmark InstRetired to the console output per Eugene's request.

7 years agoSupport MSBuild on opensuse.42.1-x64
Eric Mellino [Thu, 18 Aug 2016 17:53:01 +0000 (10:53 -0700)]
Support MSBuild on opensuse.42.1-x64

7 years agoAdd a run for opensuse 42.1
Eric Mellino [Wed, 17 Aug 2016 22:49:15 +0000 (15:49 -0700)]
Add a run for opensuse 42.1

7 years agoMerge pull request #6813 from CarolEidt/FixArmCrossgen
Carol Eidt [Fri, 19 Aug 2016 22:28:23 +0000 (15:28 -0700)]
Merge pull request #6813 from CarolEidt/FixArmCrossgen

Fix One Arm64 crossgen failure

7 years agoMerge pull request #6811 from mellinoe/update-buildtools
Eric Mellino [Fri, 19 Aug 2016 22:17:04 +0000 (15:17 -0700)]
Merge pull request #6811 from mellinoe/update-buildtools

Update buildtools to 1.0.26-prerelease-00718-04, remove duplicate props

7 years agoAutomate the perf data collection for JIT CodeQuality benchmarks on Windows.
Smile Wei [Wed, 3 Aug 2016 22:20:15 +0000 (15:20 -0700)]
Automate the perf data collection for JIT CodeQuality benchmarks on Windows.

Fix a quote.

7 years agoMerge pull request #6812 from kouvel/Api
Koundinya Veluri [Fri, 19 Aug 2016 21:07:55 +0000 (14:07 -0700)]
Merge pull request #6812 from kouvel/Api

Expose some types deriving from SafeHandle

7 years agoFix dstCount of GT_RETURNTRAP
Carol Eidt [Fri, 19 Aug 2016 20:51:05 +0000 (13:51 -0700)]
Fix dstCount of GT_RETURNTRAP

7 years agoFix Arm64 crossgen
Carol Eidt [Fri, 19 Aug 2016 19:14:28 +0000 (12:14 -0700)]
Fix Arm64 crossgen

The type of the ADDR node needs to be set to TYP_BYREF for arm64.
For x64/ux, oddly, it requires the struct type. I added a TODO-Cleanu8p
comment because a GT_ADDR should never be TYP_STRUCT.

7 years agoUsing the public DaylightTime instead of the internal one in corefx dir for Linux...
Jose Perez Rodriguez [Fri, 19 Aug 2016 20:30:25 +0000 (13:30 -0700)]
Using the public DaylightTime instead of the internal one in  corefx dir for Linux/OSX builds.

[tfs-changeset: 1623319]

7 years agoMerge pull request #6810 from hann013/t-hazhan/SystemVersion
Hannah Zhang [Fri, 19 Aug 2016 20:27:20 +0000 (13:27 -0700)]
Merge pull request #6810 from hann013/t-hazhan/SystemVersion

Added constructor to System.Version

7 years agoExpose MulticastDelegate.GetObjectData method
Rahul Kumar [Fri, 19 Aug 2016 20:25:41 +0000 (13:25 -0700)]
Expose MulticastDelegate.GetObjectData method

7 years agoRemove properties which are now defined in buildtools
Eric Mellino [Fri, 19 Aug 2016 17:24:34 +0000 (10:24 -0700)]
Remove properties which are now defined in buildtools

These all have the same values in buildtools now

7 years agoDon't create dumpling list file unless there are actually dumps.
Aditya Mandaleeka [Fri, 19 Aug 2016 02:35:45 +0000 (19:35 -0700)]
Don't create dumpling list file unless there are actually dumps.

7 years agoExpose some types deriving from SafeHandle
Koundinya Veluri [Fri, 19 Aug 2016 18:20:21 +0000 (11:20 -0700)]
Expose some types deriving from SafeHandle

- SafeHandleMinusOneIsInvalid
- SafeHandleZeroOrMinusOneIsInvalid

Part of dotnet/corefx#10933

7 years agoMerge pull request #6808 from stephentoub/fix_wr
Stephen Toub [Fri, 19 Aug 2016 17:59:55 +0000 (13:59 -0400)]
Merge pull request #6808 from stephentoub/fix_wr

Fix WeakReference in mscorlib ref assembly

7 years agoUpdate buildtools to 1.0.26-prerelease-00718-04
Eric Mellino [Thu, 18 Aug 2016 18:23:31 +0000 (11:23 -0700)]
Update buildtools to 1.0.26-prerelease-00718-04

7 years agoImplement the proposed design for RyuJIT's LIR. (#6689)
Pat Gavlin [Fri, 19 Aug 2016 17:44:46 +0000 (10:44 -0700)]
Implement the proposed design for RyuJIT's LIR. (#6689)

These changes implement the design for RyuJIT's LIR described in https://github.com/dotnet/coreclr/blob/master/Documentation/design-docs/removing-embedded-statements.md.

The following passes required changes:

Rationalize, which has been almost completely rewritten
Long decomposition
Target-independent lowering
Target-dependent lowering
LSRA
Liveness
Flowgraph optimization
Codegen
For the most part, these changes are confined to the backend. Common code that needed to be updated included liveness, flowgraph optimization, and a few miscellaneous utilities.

The utilities used to analyze and manipulate LIR live (almost) entirely in src/jit/lir.{cpp,h}. The core concepts that are unique to LIR are LIR::Use and LIR::Range. The latter is a tuple that captures an SDSU def (i.e. an LIR node) and its corresponding use->def edge and user. The former serves to abstract a self-contained sequence of LIR nodes that make up e.g. the contents of a basic block.

Testing indicates that neither JIT throughput nor code quality are significantly impacted by these changes.

7 years agoAdded constructor to System.Version
Hannah Zhang [Fri, 19 Aug 2016 17:22:17 +0000 (10:22 -0700)]
Added constructor to System.Version

7 years agoExpose missing members of System.Reflection in contract to prep for dotnet/corefx...
Sepideh Khoshnood [Fri, 19 Aug 2016 17:14:47 +0000 (10:14 -0700)]
Expose missing members of System.Reflection in contract to prep for dotnet/corefx#1053 (#6614)

* Add missing Reflection APIs, Misc
* Add missing Reflection APIs, System.Reflection.Assembly
* Add missing Reflection APIs, some AssemblyAttributes, AssemblyName, AssemblyNameFlags
* Add missing Reflection APIs, ConstructorInfo, CustomAttributeData, CustomAttributeNamedArgument, CustomAttributeTypedArgument
* Add missing Reflection APIs, EventInfo, FieldInfo
* Add missing Reflection APIs, IReflect, ImageFileMachine, ExceptionHandlingClause
* Add missing Reflection APIs, ParameterInfo, PropertyInfo, Pointer, ResourceAttributes
* Add missing Reflection APIs, MethodBase, MethodBody, MethodInfo
* Fix some issues and add few more missing APIs
* Add more missing APIs
* Add rest from System.Reflection.AssemblyName
* Add serialization features, AssemblyName, Pointer, Missing
* Add more from System.Reflection.Module and add System.ModuleHandle
* Add equality operators to System.Reflection.Module* Add equality operators to System.Reflection.MemberInfo and System.Type
* Add some of missing APIs from System.Type
* Add some missing changes for System.Type

7 years agoFix WeakReference in mscorlib ref assembly
Stephen Toub [Fri, 19 Aug 2016 12:01:38 +0000 (08:01 -0400)]
Fix WeakReference in mscorlib ref assembly

It's missing the ISerializable implementation.

7 years agoPrint info from core dumps on OS X using LLDB.
Aditya Mandaleeka [Fri, 19 Aug 2016 01:13:52 +0000 (18:13 -0700)]
Print info from core dumps on OS X using LLDB.

7 years agoMerge pull request #6780 from CarolEidt/Pre1stClassStructBlkOps
Carol Eidt [Thu, 18 Aug 2016 23:50:29 +0000 (16:50 -0700)]
Merge pull request #6780 from CarolEidt/Pre1stClassStructBlkOps

Preparatory changes for Blk Ops IR

7 years agoMerge pull request #6797 from dotnet-bot/from-tfs
Pat Gavlin [Thu, 18 Aug 2016 23:09:29 +0000 (16:09 -0700)]
Merge pull request #6797 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoMerge pull request #6774 from kouvel/Apis
Koundinya Veluri [Thu, 18 Aug 2016 22:06:27 +0000 (15:06 -0700)]
Merge pull request #6774 from kouvel/Apis

Expose some threading type members

7 years agoMerge pull request #6765 from bryanar/cat_call
Bryan P. Arant [Thu, 18 Aug 2016 22:03:52 +0000 (15:03 -0700)]
Merge pull request #6765 from bryanar/cat_call

printing dumpling url at dumpling upload time

7 years agoPreparatory changes for Blk Ops IR
Carol Eidt [Tue, 16 Aug 2016 20:42:50 +0000 (13:42 -0700)]
Preparatory changes for Blk Ops IR

These are mostly refactoring changes, in preparation for the change to the IR for block assignments.

7 years agoMerge pull request #6782 from ramarag/testjson
Rama krishnan Raghupathy [Thu, 18 Aug 2016 20:39:11 +0000 (13:39 -0700)]
Merge pull request #6782 from ramarag/testjson

Restoring the Test Runtime libraries from a single project.json
Fixes #5174

7 years agoMerge pull request #6796 from stephentoub/fix_serialization_issues
Stephen Toub [Thu, 18 Aug 2016 20:17:49 +0000 (16:17 -0400)]
Merge pull request #6796 from stephentoub/fix_serialization_issues

Fix several serialization issues

7 years agoExpose some threading type members
Koundinya Veluri [Mon, 15 Aug 2016 18:17:48 +0000 (11:17 -0700)]
Expose some threading type members

- Exposed some public members of WaitHandle
- Fixed "path too long" error message to take a length parameter (as in mscorlib.txt) and uses of it to pass in the correct value for the length
- Made SignalAndWait implementation available on Windows, and throw PlatformNotSupportedException on others

Part of dotnet/corefx#10933

7 years agoEnable additional functionality for OS X CI dumps.
Aditya Mandaleeka [Thu, 18 Aug 2016 19:53:00 +0000 (12:53 -0700)]
Enable additional functionality for OS X CI dumps.

7 years agoRemove TypeForwardedFrom attributes for System and System.Core
Stephen Toub [Thu, 18 Aug 2016 18:14:02 +0000 (14:14 -0400)]
Remove TypeForwardedFrom attributes for System and System.Core

These assemblies don't exist in .NET Core.  Having these attributes on serializable types causes deserialization for such types to fail, as it attempts to load the assembly from which they were forwarded.

7 years agoFix serialization of delegates without targets
Stephen Toub [Thu, 18 Aug 2016 18:06:39 +0000 (14:06 -0400)]
Fix serialization of delegates without targets

A null check is missing when FEATURE_REMOTING is not defined, resulting in an invalid cast exception when deserializing a delegate without a target (e.g. a delegate for a static method).

7 years agoFix serialization of several exception types
Stephen Toub [Thu, 18 Aug 2016 18:05:35 +0000 (14:05 -0400)]
Fix serialization of several exception types

VerificationException's deserialization ctor was being tree-shaken away.

SecurityException's deserialization ctor was ifdef'd out.

7 years agoMerge pull request #6747 from JosephTremoulet/VNLoops
Joseph Tremoulet [Thu, 18 Aug 2016 15:02:56 +0000 (11:02 -0400)]
Merge pull request #6747 from JosephTremoulet/VNLoops

Record expr location for opqaue value numbers

7 years agoAn easy fix for #6760 (#6770)
Viacheslav Nikolaev [Thu, 18 Aug 2016 12:12:09 +0000 (15:12 +0300)]
An easy fix for #6760 (#6770)

As mentioned in #6760 we can postpone the calculation of the NeedsTurkishCasing property.

Conflicts:
src/mscorlib/corefx/System/Globalization/TextInfo.Unix.cs

7 years agoDue to comdat folding some fcalls are pointing to same code. This fix ensures that...
Rahul Kumar [Thu, 18 Aug 2016 02:37:23 +0000 (19:37 -0700)]
Due to comdat folding some fcalls are pointing to same code. This fix ensures that these fcall has a unique code address. (#6776)