platform/upstream/dotnet/runtime.git
8 years agoCreate coreclr delegate inside coreclr_initialize
Evgeny Pavlov [Mon, 18 Jul 2016 12:19:26 +0000 (15:19 +0300)]
Create coreclr delegate inside coreclr_initialize

Commit migrated from https://github.com/dotnet/coreclr/commit/24066e1427bbb6be7e95449302040daf2fcddfd7

8 years agoAdd GDB JIT support for source line debug information.
Dmitri Botcharnikov [Thu, 14 Jul 2016 16:23:23 +0000 (19:23 +0300)]
Add GDB JIT support for source line debug information.

Commit migrated from https://github.com/dotnet/coreclr/commit/d2fe1f2ef86bd7d9c2b695368aa27ced42f84f77

8 years agoMerge pull request dotnet/coreclr#6399 from stephentoub/fix_typos
Stephen Toub [Fri, 22 Jul 2016 00:46:36 +0000 (17:46 -0700)]
Merge pull request dotnet/coreclr#6399 from stephentoub/fix_typos

Fix build break when FEATURE_SERIALIZATION defined

Commit migrated from https://github.com/dotnet/coreclr/commit/9f74aff5752c03aab5f03c1b529f6faf6648cb90

8 years agoFix build break when FEATURE_SERIALIZATION defined
Stephen Toub [Fri, 22 Jul 2016 00:25:08 +0000 (17:25 -0700)]
Fix build break when FEATURE_SERIALIZATION defined

Commit migrated from https://github.com/dotnet/coreclr/commit/6ffcfee178dfef1cf60c66a98cdc8fec208cbdc2

8 years agoMerge pull request dotnet/coreclr#6367 from echesakov/StackAllocation
Egor Chesakov [Thu, 21 Jul 2016 23:51:50 +0000 (16:51 -0700)]
Merge pull request dotnet/coreclr#6367 from echesakov/StackAllocation

Fix bug: inlinee did not copy inlinee bbFlags to caller bbFlags.

Commit migrated from https://github.com/dotnet/coreclr/commit/fe3aaa3cc2d300858ae308d4a8ed95ae4b855b72

8 years agoMerge pull request dotnet/coreclr#6395 from adityamandaleeka/fix_shell_scripts
Aditya Mandaleeka [Thu, 21 Jul 2016 23:24:32 +0000 (16:24 -0700)]
Merge pull request dotnet/coreclr#6395 from adityamandaleeka/fix_shell_scripts

Fix lexicographical compares of numeric values in a couple of scripts.

Commit migrated from https://github.com/dotnet/coreclr/commit/7f4d4f2e8a1eaf5ec570604871cc910264203852

8 years agoMerge pull request dotnet/coreclr#6300 from sejongoh/decompose_gt_ind
Sejong Oh [Thu, 21 Jul 2016 22:22:06 +0000 (15:22 -0700)]
Merge pull request dotnet/coreclr#6300 from sejongoh/decompose_gt_ind

Decompose GT_IND for x86

Commit migrated from https://github.com/dotnet/coreclr/commit/b6f387b180f0dea552911197dcb07962e9775d26

8 years agoMerge pull request dotnet/coreclr#6396 from adityamandaleeka/runtest_help_fix
Aditya Mandaleeka [Thu, 21 Jul 2016 21:12:14 +0000 (14:12 -0700)]
Merge pull request dotnet/coreclr#6396 from adityamandaleeka/runtest_help_fix

Fix minor error in runtest help

Commit migrated from https://github.com/dotnet/coreclr/commit/de1a689ad75076bbd63df8530f844822c04ae72c

8 years agoFix minor error in runtest help.
Aditya Mandaleeka [Thu, 21 Jul 2016 21:04:31 +0000 (14:04 -0700)]
Fix minor error in runtest help.

Commit migrated from https://github.com/dotnet/coreclr/commit/f7409310e31cb76da8e12f7b1a475655e4239a29

8 years agoFix lexicographical compares of numeric values.
Aditya Mandaleeka [Thu, 21 Jul 2016 20:55:29 +0000 (13:55 -0700)]
Fix lexicographical compares of numeric values.

Commit migrated from https://github.com/dotnet/coreclr/commit/63dd009d459054acd972acdc70c1e3bfbe5c9a0f

8 years agoChange verbatim ELF.h and Dwarf.h LLVM headers to be able to build in CoreCLR +...
Evgeny Pavlov [Thu, 21 Jul 2016 18:18:46 +0000 (22:18 +0400)]
Change verbatim  ELF.h and Dwarf.h LLVM headers to be able to build in CoreCLR + add license header (dotnet/coreclr#6389)

Commit migrated from https://github.com/dotnet/coreclr/commit/ece6cb3aba99ce30cbadb1fe4092959371401f29

8 years agoMerge pull request dotnet/coreclr#6277 from kyulee1/frageh
Kyungwoo Lee [Thu, 21 Jul 2016 17:17:18 +0000 (10:17 -0700)]
Merge pull request dotnet/coreclr#6277 from kyulee1/frageh

ARM64: Enable Function Fragment

Commit migrated from https://github.com/dotnet/coreclr/commit/0d2a0d298a1f771c34a97201db763e86fbcacd59

8 years agoMerge pull request dotnet/coreclr#6375 from stephentoub/serialization_modelxml
Stephen Toub [Thu, 21 Jul 2016 17:02:40 +0000 (10:02 -0700)]
Merge pull request dotnet/coreclr#6375 from stephentoub/serialization_modelxml

Expose serialization primitives from System.Private.Corelib

Commit migrated from https://github.com/dotnet/coreclr/commit/2a1fd93039cf1b7281412f5b901c5e8528c53fb1

8 years ago[SOS][Linux] Fix incorrect processing 'setclrpath' command with portable PDB reader...
Evgeny Pavlov [Thu, 21 Jul 2016 16:52:10 +0000 (20:52 +0400)]
[SOS][Linux] Fix incorrect processing 'setclrpath' command with portable PDB reader (dotnet/coreclr#6358)

* Fix incorrect processing 'setclrpath' command in lldb libsosplugin.so with portable PDB reader

* Replace 'fprintf' and 'perror' to 'ExtErr'

Commit migrated from https://github.com/dotnet/coreclr/commit/da5b94ed35602c43c505381bfe62b894895a9736

8 years agoRefactor GC background thread creation (dotnet/coreclr#6384)
Jan Vorlicek [Thu, 21 Jul 2016 16:42:40 +0000 (18:42 +0200)]
Refactor GC background thread creation (dotnet/coreclr#6384)

This change modifies the GCToEEInterface::CreateBackgroundThread so that it returns
a fully initialized and running thread.

Commit migrated from https://github.com/dotnet/coreclr/commit/3b5550f9892bce0e17cc50f26e655f2215ce3c9e

8 years agoAdd ELF.h and Dwarf.h from LLVM for gdbjit feature implementation. (dotnet/coreclr...
Evgeny Pavlov [Thu, 21 Jul 2016 16:41:54 +0000 (20:41 +0400)]
Add ELF.h and Dwarf.h from LLVM for gdbjit feature implementation. (dotnet/coreclr#6383)

Files were copied from http://llvm.org/git/llvm.git repo, commit: dotnet/coreclr@8b47c17a53d683f313eaaa93c4a53de26d8fcba5

Commit migrated from https://github.com/dotnet/coreclr/commit/bfe11c1f9326134daf9dd6f471b1d0b947437cf0

8 years agoifdef out CodeAccessPermission demand used in SerializationInfo on CoreCLR
Stephen Toub [Thu, 21 Jul 2016 15:29:59 +0000 (08:29 -0700)]
ifdef out CodeAccessPermission demand used in SerializationInfo on CoreCLR

It brings in an FCall not available on coreclr.

Commit migrated from https://github.com/dotnet/coreclr/commit/e95a6e82f410a74c702c8a338b99aeac3542dbdf

8 years agoMerge pull request dotnet/coreclr#6385 from kyulee1/reemail
Kyungwoo Lee [Thu, 21 Jul 2016 15:06:17 +0000 (08:06 -0700)]
Merge pull request dotnet/coreclr#6385 from kyulee1/reemail

ARM64: Reenable email notification

Commit migrated from https://github.com/dotnet/coreclr/commit/952151c221980e7722c6fcdc3d1ba1efafc63ceb

8 years agoARM64: Reenable email notification
Kyungwoo Lee [Thu, 21 Jul 2016 15:05:28 +0000 (08:05 -0700)]
ARM64: Reenable email notification

Commit migrated from https://github.com/dotnet/coreclr/commit/ecb2d02aaefec3e126981faa28e52c4f02b5f057

8 years agoExpose serialization primitives from System.Private.Corelib
Stephen Toub [Thu, 21 Jul 2016 04:46:55 +0000 (21:46 -0700)]
Expose serialization primitives from System.Private.Corelib

- Update the model.xml file to expose the serialization primitives from the runtime, e.g. [Serializable], [NonSerialized], ISerializable, etc.
- Tweak how FEATURE_SERIALIZATION is used on some types.  ISerializable and IDeserializationCallback are not ifdef'd based on FEATURE_SERIALIZATION, but their members are, which means there are some types which are implementing the interface but have the implementation of the interface's method ifdef'd.  This commit removes the ifdef'ing of the methods on the interface, and then ifdef's the implementation of the interface on the offending types.

Commit migrated from https://github.com/dotnet/coreclr/commit/292d4eaeb0656119acfe5bc654176792b35b5190

8 years agoMerge pull request dotnet/coreclr#6219 from adiaaida/compareLongs
Michelle McDaniel [Thu, 21 Jul 2016 13:41:33 +0000 (06:41 -0700)]
Merge pull request dotnet/coreclr#6219 from adiaaida/compareLongs

Fix silent bad codegen in signed comparison

Commit migrated from https://github.com/dotnet/coreclr/commit/92eeb0ef418b5c2aa08350a73b813c515c993ff6

8 years agoRemove DBG GcInfo encoder/decoder (dotnet/coreclr#6374)
Swaroop Sridhar [Thu, 21 Jul 2016 11:10:02 +0000 (04:10 -0700)]
Remove DBG GcInfo encoder/decoder (dotnet/coreclr#6374)

This change removes the redundant set of GcInfo encoder/decoder
in the CoreCLR tree called Debug encoder/decoders.

These components are expected to be are well-tested versions
for verification, but are not actively used.
They cause additional overhead wrt maintaining two versions of
GcInfo encoder/decoder as GcInfo format changes.

Commit migrated from https://github.com/dotnet/coreclr/commit/d1697c6f8b6e6d1f06b4d734fabd3b328e1dc724

8 years agoDocumentation: Add additional terminologies in the glossary.md (dotnet/coreclr#6372)
Geunsik Lim [Thu, 21 Jul 2016 10:23:30 +0000 (19:23 +0900)]
Documentation: Add additional terminologies in the glossary.md (dotnet/coreclr#6372)

It is a trivial patch. However, it will be helpful to developers that
learn the internals of CoreCLR via the source code and documents.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/4ba6e7418e6a34ffa7b8ba91cb10e004d30d803f

8 years agoMerge pull request dotnet/coreclr#6365 from jashook/arm32_umount
Jarret Shook [Thu, 21 Jul 2016 06:24:48 +0000 (23:24 -0700)]
Merge pull request dotnet/coreclr#6365 from jashook/arm32_umount

More verbose logging for arm32 umount

Commit migrated from https://github.com/dotnet/coreclr/commit/d12b41027de7db2ff3f690778f13ad0b12dc6ed8

8 years agoMore verbose logging for arm32 umount
jashook [Wed, 20 Jul 2016 22:04:38 +0000 (15:04 -0700)]
More verbose logging for arm32 umount

Umount fails occasionaly in the arm32 ci script. Add some logging
information using lsof before calling umount to diagnose which files are
open.

Commit migrated from https://github.com/dotnet/coreclr/commit/7c218f9557487eb4575638a3f10e368215e1d1f4

8 years agoMerge pull request dotnet/coreclr#6297 from CarolEidt/MorphGenTreeRefactors
Carol Eidt [Thu, 21 Jul 2016 04:19:14 +0000 (21:19 -0700)]
Merge pull request dotnet/coreclr#6297 from CarolEidt/MorphGenTreeRefactors

More Struct-related Refactorings

Commit migrated from https://github.com/dotnet/coreclr/commit/481c1818829b652b71fff4be9dad2d094965adeb

8 years agoMerge pull request dotnet/coreclr#6325 from swaroop-sridhar/R2Rver
Swaroop Sridhar [Thu, 21 Jul 2016 04:11:30 +0000 (21:11 -0700)]
Merge pull request dotnet/coreclr#6325 from swaroop-sridhar/R2Rver

GCInfo: Support versioning.

Commit migrated from https://github.com/dotnet/coreclr/commit/0d5eac078847baebb32653655373086d6729f923

8 years agoGCInfo: Support versioning.
Swaroop Sridhar [Fri, 15 Jul 2016 07:41:30 +0000 (00:41 -0700)]
GCInfo: Support versioning.

This change enables the VM to support multiple versions GCInfo concurrently.
This is necessary in light of upcoming work to add ReturnType and other
modifications to the GCInfo format -- so that existing ReadyToRun images
will continue to run correctly.

The version# is not stored in the GcInfo structure -- because it is
wasteful to store the version once for every method. Instead, it is
tracked per range-section of generated/loaded methods.

The GCInfo version is computed as:
1) The current GCINFO_VERSION for JITted and Ngened images
2) A function of the Ready-to-run major version stored in READYTORUN_HEADER
   for ready-to-run images. ReadyToRunJitManager::JitTokenToGCInfoVersion()
   provides the GcInfo version for any Method. Currently, there's only one
   version of GCInfo.

An abstraction GCInfoToken is added to the GcInfo interface, which tracks the
{GcInfo, Version} pair in-memory. Several GcInfo APIs are
modified to use GCInfoToken in place of GcInfo pointers.

Notes:
1) SOS GcDump: The GCDump API has separate dump routines for Header and the
pointer-liveness information (DumpGCTable and DumpGCHeader) each of which
advance a pointer to the GCInfo block. These APIs are not changed to
recieve a GCInfoToken in place of the GcInfo block pointer. Instead, they
recieve the GcInfo version at the time of construction.
2) Some routines that are specific to x86 gcInfo (ex: crackMethodInfoHdr)
are not yet updated to use versioning, since the development plan is to
update the Non-x86 GcInfo structure first.
3) The x86 specific structs defining GcInfo headers are moved to GcInfoTypes.h,
along with the non-x86 GcInfo type definitions.

Commit migrated from https://github.com/dotnet/coreclr/commit/f915aebaf5db0b829f062dc9940e23bb5c38d575

8 years agoRemove include of <utility> from seh.cpp (dotnet/coreclr#6359)
Jan Vorlicek [Thu, 21 Jul 2016 00:37:26 +0000 (02:37 +0200)]
Remove include of <utility> from seh.cpp (dotnet/coreclr#6359)

In my previous change that made exceptions smaller, I had `#include <utility>`
and I haven't realized that it pulls in some stl headers. That breaks build
on ARM.
The fix is to replace that include by defining just the std::move that's
all that was needed from the header.

Commit migrated from https://github.com/dotnet/coreclr/commit/32a020e47a0797bba4167e85efc38a34397f633e

8 years agoFix is_blittable partial specializations (dotnet/coreclr#6357)
joemmett [Wed, 20 Jul 2016 23:31:04 +0000 (16:31 -0700)]
Fix is_blittable partial specializations (dotnet/coreclr#6357)

The is_blittable partial specializations were defined using "class", privately
inheriting from std::true_type. This means the ::value member variable will
be inaccessible to most users of these types. Thus the type
``std::enable_if<is_blittable<T>::value>::type'' will always result in a
substitution failure with a compiler that respects accessibility in SFINAE.

This commit changes "class" to "struct" for these partial specializations
so they inherit publicly from std::true_type.

Commit migrated from https://github.com/dotnet/coreclr/commit/8cdcdf1e8e2ed789c8a689553a384bb6fd1d7bcd

8 years agoFix bug: inlinee did not copy inlinee bbFlags to caller bbFlags.
Egor Chesakov [Tue, 19 Jul 2016 18:33:19 +0000 (11:33 -0700)]
Fix bug: inlinee did not copy inlinee bbFlags to caller bbFlags.

Commit migrated from https://github.com/dotnet/coreclr/commit/45cff6169b2ec915f1aae567a9581f0e3265de39

8 years agoMore Struct-related Refactorings
Carol Eidt [Fri, 15 Jul 2016 19:29:29 +0000 (12:29 -0700)]
More Struct-related Refactorings

- Make GT_OBJ and GT_NULLCHECK derive from GenTreeIndir, as they are also indirections.
- Extract the ordering-related methods from gentree and optcse, as they will need to be used slightly differently for struct assignments.
- Make fgMorphImplicitByRefArgs take a pointer to the tree, as it may need to replace the tree with one that a simple CopyFrom() will not work for.
- In gtSetEvalOrder(), in the addressing mode code, replace "adr" with "base" and "op1" with "addr", as the existing names are quite confusing.
- Other minor refactorings to reduce future diffs.

Commit migrated from https://github.com/dotnet/coreclr/commit/c4ac0d992c883342dd6dff3b1da2565bc0f7b0a1

8 years agoMerge pull request dotnet/coreclr#6326 from sivarv/phase2
Sivarv [Wed, 20 Jul 2016 22:14:58 +0000 (15:14 -0700)]
Merge pull request dotnet/coreclr#6326 from sivarv/phase2

Support for reg optional tree temps.

Commit migrated from https://github.com/dotnet/coreclr/commit/34e1626bc3a49b50900ca192bed1f97524d81e6a

8 years agoMerge pull request dotnet/coreclr#6242 from Maoni0/race
Maoni Stephens [Wed, 20 Jul 2016 21:55:48 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#6242 from Maoni0/race

Fixed race condition in setting dd_new_allocation

Commit migrated from https://github.com/dotnet/coreclr/commit/4529b0a0d9fd09b89843d5ba894151d7202e3c23

8 years agoMerge pull request dotnet/coreclr#6348 from hseok-oh/softfp_rootfs
Aditya Mandaleeka [Wed, 20 Jul 2016 21:24:02 +0000 (14:24 -0700)]
Merge pull request dotnet/coreclr#6348 from hseok-oh/softfp_rootfs

Fix to ignore codename for arm-softfp

Commit migrated from https://github.com/dotnet/coreclr/commit/e157ba344f73e937dbac8dceb425e7dda7061101

8 years agoSupport for reg optional tree temps.
sivarv [Mon, 18 Jul 2016 23:56:59 +0000 (16:56 -0700)]
Support for reg optional tree temps.

Commit migrated from https://github.com/dotnet/coreclr/commit/0a817e0195e76a94e88ccd6a8779ed6451e8640a

8 years agoMerge pull request dotnet/coreclr#6323 from wtgodbe/updatePackages
William Godbe [Wed, 20 Jul 2016 19:01:10 +0000 (12:01 -0700)]
Merge pull request dotnet/coreclr#6323 from wtgodbe/updatePackages

Enable automatic updating of package versions in test project.json files

Commit migrated from https://github.com/dotnet/coreclr/commit/cfb651c8e3feca5bf18de4d67dbd84fdb2085407

8 years agoEnable automatic updating of package versions in test project.json files
wtgodbe [Mon, 18 Jul 2016 22:25:04 +0000 (15:25 -0700)]
Enable automatic updating of package versions in test project.json files

Commit migrated from https://github.com/dotnet/coreclr/commit/f6116a5263f1d23c4b4501524ec82176e96740b1

8 years agoMerge pull request dotnet/coreclr#6360 from mmitche/fix-regex
Matt Mitchell [Wed, 20 Jul 2016 18:43:52 +0000 (11:43 -0700)]
Merge pull request dotnet/coreclr#6360 from mmitche/fix-regex

Incorrect quoting around regex string

Commit migrated from https://github.com/dotnet/coreclr/commit/ad7d6463426b5b515b98223659494674af8a5102

8 years agoIncorrect quoting around regex string
Matt Mitchell [Wed, 20 Jul 2016 18:43:07 +0000 (11:43 -0700)]
Incorrect quoting around regex string
Strings requiring inline replacement need double quotes

Commit migrated from https://github.com/dotnet/coreclr/commit/c110738b7d3dc9cffc46883234450cf0d97587f1

8 years agoFix silent bad codegen in signed comparison
Michelle McDaniel [Mon, 11 Jul 2016 16:32:56 +0000 (09:32 -0700)]
Fix silent bad codegen in signed comparison

While working on dotnet/coreclr#5956, I uncovered a silent bad codegen bug in signed
comparison. The way the code was written, we'd do an unsigned set after a
signed compare/jump from the high comparison. However, in this case, we
need to make sure that we are honoring the sign of the comparison done on
the high part of the operation, and the lo comparison would still want to
be an unsigned compare followed by an unsigned set. This change splits
comparisons into two cases: 1) A signed comparison where we have two jumps
for the high part (GT_GT, GT_LT, GT_GE, and GT_LE), which require a signed
set if the high comparisons are true, and an unsigned set if not, and 2)
An unsigned comparison, or a comparison where the sign does not matter for
the compare (GT_NE, GT_EQ), which just require an unsigned set for both
the high and lo operations (the code we already had in genCompareLong).

When we compare longs, we don't need to have both a jg/ja and a jne
instruction for the hi compare for the case where we enregister the result
of the compare, since the set will do the right thing. We only need to
check the lo halves if the hi halves were equal.

For long compares where the result isn't stored in a register, we need to use
signed jumps for the high comparison, and unsigned jumps for the low compare.
Currently, we generate a signed jump in the code for GT_JTRUE that is used by
both compares. This change modifies the logic for these compares/JTRUEs.
We separate the logic into genJTrueLong. In genJTrueLong, we use similar
logic as the legacy backend for the jumps, using a signed jump after the
high compare when we have signed operands, and unsigned jump when we have
a unsigned operands, and an unsigned jump for the low compare.

This change also modifies genJumpKindsForTreeLongHi, since it is now only
used for the uncontained case, where we need to jump to the bbJumpDest if
the compare is true, so we need to use the actual jump type, rather than
just checking for inequality (as inequality only tells us if we need to
check the low halves, not if the condition is true or not).

This change also adds test cases for the two silent bad codegen cases this
commit fixes.

Commit migrated from https://github.com/dotnet/coreclr/commit/243e7c4f661d5ad0217c9e743c391a0df43bb6a0

8 years agoMerge pull request dotnet/coreclr#6340 from wtgodbe/tPack
William Godbe [Wed, 20 Jul 2016 17:24:24 +0000 (10:24 -0700)]
Merge pull request dotnet/coreclr#6340 from wtgodbe/tPack

Stop building targetingPack package on non-windows

Commit migrated from https://github.com/dotnet/coreclr/commit/54a3d1d6755c2ca9fee95514673095540f76b56d

8 years agoMerge pull request dotnet/coreclr#6346 from dotnet-bot/UpdateDependencies20160720052232
Gaurav Khanna [Wed, 20 Jul 2016 17:04:17 +0000 (10:04 -0700)]
Merge pull request dotnet/coreclr#6346 from dotnet-bot/UpdateDependencies20160720052232

Updating External dependencies to beta-24320-00

Commit migrated from https://github.com/dotnet/coreclr/commit/c369fc1ec48e753db3d5cacdca1463f277d4d23e

8 years agoMerge pull request dotnet/coreclr#6354 from dotnet/revert-6344-UndoNetCIChange
Matt Mitchell [Wed, 20 Jul 2016 16:59:40 +0000 (09:59 -0700)]
Merge pull request dotnet/coreclr#6354 from dotnet/revert-6344-UndoNetCIChange

Revert "Revert: Pull crash dump links"

Commit migrated from https://github.com/dotnet/coreclr/commit/e1fa15afc04e537c45e7ab5ea3b5b738f7caf90f

8 years agoRevert "Revert: Pull crash dump links"
Matt Mitchell [Wed, 20 Jul 2016 16:01:04 +0000 (09:01 -0700)]
Revert "Revert: Pull crash dump links"

Commit migrated from https://github.com/dotnet/coreclr/commit/f3111f4bd005c4f998333fcdd41afab0b2699cd1

8 years agoARM64: Enable Function Fragment
Kyungwoo Lee [Wed, 20 Jul 2016 15:50:22 +0000 (08:50 -0700)]
ARM64: Enable Function Fragment

Fixes https://github.com/dotnet/coreclr/issues/6064
Fixes https://github.com/dotnet/coreclr/issues/6122

Basically this enable function fragment.
Unwind data for arm64 can express only 1MB range.
For the large function, we should split unwind data for each fragment of
function. Other than the first fragment (the host region), each fragment
has a phantom prolog starting with "end_c(0xe5)".
I confirmed that this implementation aligns with window's unwinder, and
tested with COMPlus_JitSplitFunctionSize=32 for a few test cases which
split both main and funclets.

Commit migrated from https://github.com/dotnet/coreclr/commit/b37e6fc8f5cd72eaae9258df2158bb85e5ff43dc

8 years agoMake PAL_SEHException smaller (dotnet/coreclr#6267)
Jan Vorlicek [Wed, 20 Jul 2016 12:21:08 +0000 (14:21 +0200)]
Make PAL_SEHException smaller (dotnet/coreclr#6267)

The PAL_SEHException is quite large due to the fact that it contains context
and exception records. This causes a problem when we try to throw it and
system gets out of memory. The C++ runtime can throw exceptions even in that
case, but only if they are smaller than certain threshold. So in our case,
it just aborts the process.

This change separates the context and exception records from the exception,
which ensures that the above mentioned mechanism in the C++ runtime can
kick in and the exception can be thrown even when malloc fails to allocate
it.

I have also modified HandleHardwareException to return BOOL indicating whether
the execution should continue at the possibly modified exception context
instead of using RtlRestoreContext. In that case, we return all the way back
to the signal handler, update the ucontext in there and return from it.

Commit migrated from https://github.com/dotnet/coreclr/commit/03250d34da85f23df0a8f7ad1c8b3760e0b73b1f

8 years agoFix if statement to ignore Ubuntu codename if BuildArch is arm-softfp
Hyeongseok Oh [Wed, 20 Jul 2016 09:35:08 +0000 (18:35 +0900)]
Fix if statement to ignore Ubuntu codename if BuildArch is arm-softfp

Commit migrated from https://github.com/dotnet/coreclr/commit/6dca838bcba5a748792f37d2083fcf9b79a1cb1d

8 years agoFix mistyped instruction in linux-instructions.md (dotnet/coreclr#6332)
Hanjoung Lee [Wed, 20 Jul 2016 07:45:09 +0000 (16:45 +0900)]
Fix mistyped instruction in linux-instructions.md (dotnet/coreclr#6332)

Commit migrated from https://github.com/dotnet/coreclr/commit/f3317125ebf10f9d949b5460cbdff8153748346f

8 years agoFix for CoreCLR 6269 - Trigger formal binding if domain-wide cache does not have...
Gaurav Khanna [Wed, 20 Jul 2016 06:49:45 +0000 (23:49 -0700)]
Fix for CoreCLR 6269 - Trigger formal binding if domain-wide cache does not have entry for an assembly in custom load context. (dotnet/coreclr#6335)

Commit migrated from https://github.com/dotnet/coreclr/commit/9d86bc689856df25d1826b8418d7b251dd88f19e

8 years agoMerge pull request dotnet/coreclr#6337 from AndyAyersMS/CountObservations
Andy Ayers [Wed, 20 Jul 2016 06:31:51 +0000 (23:31 -0700)]
Merge pull request dotnet/coreclr#6337 from AndyAyersMS/CountObservations

Inliner: improve arg observations

Commit migrated from https://github.com/dotnet/coreclr/commit/7288deb7991bc5e5be707d4f96c2e635be58a99a

8 years agoMerge pull request dotnet/coreclr#6338 from swgillespie/revert-weakreference-tests
Sean Gillespie [Wed, 20 Jul 2016 05:46:46 +0000 (22:46 -0700)]
Merge pull request dotnet/coreclr#6338 from swgillespie/revert-weakreference-tests

Re-enable two tests testing GC.GetGeneration(System.WeakReference)

Commit migrated from https://github.com/dotnet/coreclr/commit/05f8883d1fb005d50e2b247f27faca102d6eafcf

8 years agoUpdating External dependencies to beta-24320-00
dotnet-bot [Wed, 20 Jul 2016 05:22:32 +0000 (05:22 +0000)]
Updating External dependencies to beta-24320-00

Commit migrated from https://github.com/dotnet/coreclr/commit/fda7e91c1a8ec1a649ff4da7964ad4d56d3b8dcc

8 years agoMerge pull request dotnet/coreclr#6344 from AndyAyersMS/UndoNetCIChange
Andy Ayers [Wed, 20 Jul 2016 03:54:30 +0000 (20:54 -0700)]
Merge pull request dotnet/coreclr#6344 from AndyAyersMS/UndoNetCIChange

Revert: Pull crash dump links

Commit migrated from https://github.com/dotnet/coreclr/commit/7bbf4b208506a572374a57cf53f7bfb098483f86

8 years agoRevert: Pull crash dump links
Andy Ayers [Wed, 20 Jul 2016 01:52:39 +0000 (18:52 -0700)]
Revert: Pull crash dump links

Ubuntu testing is failing with a groovy scripting error.
Matt asked me to revert this change for now.

This reverts commit dotnet/coreclr@7fc5cb7e52c5db53a5696d398e281c0f6f6a1588.

Commit migrated from https://github.com/dotnet/coreclr/commit/fcb84d7e839563c559802467ca0680fcc8dd4bea

8 years agoRemove duplicate code from string.GetHashCode (dotnet/coreclr#4696)
James Ko [Wed, 20 Jul 2016 00:18:06 +0000 (20:18 -0400)]
Remove duplicate code from string.GetHashCode (dotnet/coreclr#4696)

Commit migrated from https://github.com/dotnet/coreclr/commit/1ff9f6b76f1d9c91ce7169689f07d3e61836e7d5

8 years agoImprove performance, drastically reduce misfires for new string(char*) on 64-bit...
James Ko [Wed, 20 Jul 2016 00:13:55 +0000 (20:13 -0400)]
Improve performance, drastically reduce misfires for new string(char*) on 64-bit (dotnet/coreclr#6125)

Commit migrated from https://github.com/dotnet/coreclr/commit/266108a9884775d10aa6f72a0f2161d8741f0d32

8 years agoBetter performance for string.CompareOrdinalHelper (dotnet/coreclr#6119)
James Ko [Wed, 20 Jul 2016 00:06:01 +0000 (20:06 -0400)]
Better performance for string.CompareOrdinalHelper (dotnet/coreclr#6119)

- For 64-bit, process a `long` at a time (and 3 longs per iteration of the loop), since it's the largest word size of the processor. This is what other functions, like `EqualsHelper` or `StartsWithOrdinalHelper` do.

- Make sure we perform aligned reads on 64-bit platforms

  - Strings (objects in general?) are allocated on an aligned word boundary (that is, divisible by 4/8). However, the offset to the chars (`OffsetToStringData`) is 12 on 64-bit platforms, meaning that if we read a long from the first char it will *not* be aligned. To fix this, first check for differences in the first/second chars and start the loop from there.

- Used `goto` within the loop code, so we don't have to keep making jumps in the common case.

I also removed a comment above the `String` class that seems to be outdated (seeing as there is no string constructor that accepts another string).

Commit migrated from https://github.com/dotnet/coreclr/commit/719c34f3fc205093cb137e73c608f3b58e1a144f

8 years agoMerge pull request dotnet/coreclr#6293 from kyulee1/altjit
Kyungwoo Lee [Tue, 19 Jul 2016 23:37:18 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#6293 from kyulee1/altjit

ARM64: Cross-Target Jit

Commit migrated from https://github.com/dotnet/coreclr/commit/b1b8d2b85090e419be92475159f1983e645981ce

8 years agoStop building targetingPack package on non-windows
wtgodbe [Tue, 19 Jul 2016 22:30:26 +0000 (15:30 -0700)]
Stop building targetingPack package on non-windows

Commit migrated from https://github.com/dotnet/coreclr/commit/0e71867b4bb37cc2398d1d868cf955cb70700e98

8 years agoRe-enable two tests testing GC.GetGeneration(System.WeakReference) that has now been...
Sean Gillespie [Tue, 19 Jul 2016 21:48:07 +0000 (14:48 -0700)]
Re-enable two tests testing GC.GetGeneration(System.WeakReference) that has now been exposed

Commit migrated from https://github.com/dotnet/coreclr/commit/d82f1b92e0b49b2eff69b7f06117115a3715105e

8 years agoInliner: improve arg observations
Andy Ayers [Tue, 19 Jul 2016 07:27:13 +0000 (00:27 -0700)]
Inliner: improve arg observations

Two related changes to better capture cases where args or constant args
are seen at inline call sites.

On the observation side, the inliner's stack modelling of the callee is
crude and will often overestimate the evaluation stack depth. So when
looking at an opcode that takes just one stack operand (eg BRFALSE) the
inliner's check should be whether the stack has at least one element
instead of checking whether the stack has exactly one element. For
compatibility reasons, the check for exactly one element is still used
when the inline is evaluated via the LegacyPolicy.

On the policy side, instead of keeping a bool flag to note that there
were interesting arg cases, count the number of observations.
LegacyPolicy continues to act as before, checking if count is zero or
nonzero instead of whether the flag was false or true. The count is
available for use in other heuristics and is reported in inline data.

Commit migrated from https://github.com/dotnet/coreclr/commit/16d07575509a7bec2aa6e8ca10aabdaea020cadf

8 years agoMerge pull request dotnet/coreclr#6336 from mmitche/crash-dump-links
Matt Mitchell [Tue, 19 Jul 2016 20:52:41 +0000 (13:52 -0700)]
Merge pull request dotnet/coreclr#6336 from mmitche/crash-dump-links

Pull crash dump links

Commit migrated from https://github.com/dotnet/coreclr/commit/56395ed39752a53aedc9ea9b9e4c86ad39a92977

8 years agoPull crash dump links
Matt Mitchell [Tue, 19 Jul 2016 20:45:42 +0000 (13:45 -0700)]
Pull crash dump links
Pulls crash dump links from dumplings.txt in the workspace into the build report

Commit migrated from https://github.com/dotnet/coreclr/commit/7fc5cb7e52c5db53a5696d398e281c0f6f6a1588

8 years agoMake coreclr buildable on 32bit Windows 10. (dotnet/coreclr#6316)
Jim Ma [Tue, 19 Jul 2016 17:21:01 +0000 (01:21 +0800)]
Make coreclr buildable on 32bit Windows 10. (dotnet/coreclr#6316)

Automatically determine the OS architecture(x86 or x64) and download the
correct dev tool.

Fix dotnet/coreclr#6308

Commit migrated from https://github.com/dotnet/coreclr/commit/f0a72f0132b46f2ecc93b3bc5d5ae49a4f9d24e4

8 years agoMerge pull request dotnet/coreclr#6331 from dotnet-bot/UpdateDependencies20160719051717
Gaurav Khanna [Tue, 19 Jul 2016 16:14:00 +0000 (09:14 -0700)]
Merge pull request dotnet/coreclr#6331 from dotnet-bot/UpdateDependencies20160719051717

Updating External dependencies to beta-24319-00

Commit migrated from https://github.com/dotnet/coreclr/commit/2ee31812da8b31bbf9c973208a2072790b3716c6

8 years agoFix self-process identification for FreeBSD (dotnet/coreclr#6314)
Jostein Kjønigsen [Tue, 19 Jul 2016 13:00:25 +0000 (15:00 +0200)]
Fix self-process identification for FreeBSD (dotnet/coreclr#6314)

FreeBSD does not come with procfs enabled by default, and should use
sysctl() for this purpose.

While it has similarities with NetBSD's implementation, there are a
few subtle differences, which justifies leaving this implementation
under its own guard.

It's also worth noting that on FreeBSD sysctl.h MUST be present, which
is unlike NetBSD. Therefore the HAVE_SYS_SYSCTL_H define is not
checked for or used.

This commit fixes https://github.com/dotnet/coreclr/issues/6184.

This commit is based on the following commit from core-setup:
https://github.com/dotnet/core-setup/commit/dotnet/coreclr@d5ce08014a174b006a3b409b8bb93d003ae583a0

Commit migrated from https://github.com/dotnet/coreclr/commit/b306172d0545e2a292619b880a3c8d07bb46d396

8 years agoMerge pull request dotnet/coreclr#6227 from parjong/revert-6021-LessConservativeGtObj
Carol Eidt [Tue, 19 Jul 2016 05:31:02 +0000 (22:31 -0700)]
Merge pull request dotnet/coreclr#6227 from parjong/revert-6021-LessConservativeGtObj

Revert "Less conservative gt obj"

Commit migrated from https://github.com/dotnet/coreclr/commit/93f09db0fb3aa1682549fe42f64b76c3418663bc

8 years agoUpdating External dependencies to beta-24319-00
dotnet-bot [Tue, 19 Jul 2016 05:17:17 +0000 (05:17 +0000)]
Updating External dependencies to beta-24319-00

Commit migrated from https://github.com/dotnet/coreclr/commit/07be05463d54344e953696269a0f7119571c9966

8 years agoMerge pull request dotnet/coreclr#6324 from AndyAyersMS/ReplayCapturesProfitModel
Andy Ayers [Tue, 19 Jul 2016 03:13:21 +0000 (20:13 -0700)]
Merge pull request dotnet/coreclr#6324 from AndyAyersMS/ReplayCapturesProfitModel

Inliner: capture profit model estimate during replay

Commit migrated from https://github.com/dotnet/coreclr/commit/83f94753ae5b98749592498030ad3780bb31df92

8 years agoDecompose GT_IND for x86
Sejong Oh [Fri, 15 Jul 2016 21:57:24 +0000 (14:57 -0700)]
Decompose GT_IND for x86

Commit migrated from https://github.com/dotnet/coreclr/commit/2206c1b1afdb87fbaa2a162e1640124aa0fb787b

8 years agoMerge pull request dotnet/coreclr#6322 from wtgodbe/packageFixes
William Godbe [Mon, 18 Jul 2016 22:40:16 +0000 (15:40 -0700)]
Merge pull request dotnet/coreclr#6322 from wtgodbe/packageFixes

Fix package build in build-packages.sh to use dotnet instead of corerun

Commit migrated from https://github.com/dotnet/coreclr/commit/6b4ad33e5bf5ebc82f4a569b81dcd41b19fe1240

8 years agoFix package build in build-packages.sh to use dotnet instead of corerun
wtgodbe [Mon, 18 Jul 2016 21:49:30 +0000 (14:49 -0700)]
Fix package build in build-packages.sh to use dotnet instead of corerun

Commit migrated from https://github.com/dotnet/coreclr/commit/bbf1d3e4b38c70a2eebe9b59d7a6939c1561902a

8 years agoFix libc path for macOS El Capitan (dotnet/coreclr#6302)
Peter Jas [Mon, 18 Jul 2016 21:13:24 +0000 (00:13 +0300)]
Fix libc path for macOS El Capitan (dotnet/coreclr#6302)

Commit migrated from https://github.com/dotnet/coreclr/commit/88bebd822986bc80ced22ced30b25c5e421617e5

8 years agoAdd to model.xml several members we wish to expose in the FX (dotnet/coreclr#6310)
Dan Moseley [Mon, 18 Jul 2016 20:42:18 +0000 (13:42 -0700)]
Add to model.xml several members we wish to expose in the FX (dotnet/coreclr#6310)

* Add to model.xml several members we wish to expose in the FX.
Done by pulling lines selectively from a model.xml created from the full
s.p.corelib.dll.

* Add parameter to build.cmd to build both mscorlib and its native image, then stop. Also dump any errors to console for CI.
* Fix up to date check of BCLRewriter: should build when model.xml is changed

Commit migrated from https://github.com/dotnet/coreclr/commit/4a13a029ef492ce167cf2ec0e46ae5e5cd08dda2

8 years agoAdd Lazy<T>(T value) constructor (dotnet/coreclr#6304)
Peter Jas [Mon, 18 Jul 2016 19:03:29 +0000 (22:03 +0300)]
Add Lazy<T>(T value) constructor (dotnet/coreclr#6304)

Fix dotnet/corefxdotnet/coreclr#2578

Commit migrated from https://github.com/dotnet/coreclr/commit/e9774389f13862104605a092921d4e3872524096

8 years agoMerge pull request dotnet/coreclr#6315 from kyulee1/disemail
Kyungwoo Lee [Mon, 18 Jul 2016 15:49:37 +0000 (08:49 -0700)]
Merge pull request dotnet/coreclr#6315 from kyulee1/disemail

ARM64: Temporarrily disable email notification

Commit migrated from https://github.com/dotnet/coreclr/commit/6d9906925d65fb96ccb8bf31298673c6581a62b9

8 years agoARM64: Temporarrily disable email notification
Kyungwoo Lee [Mon, 18 Jul 2016 15:46:45 +0000 (08:46 -0700)]
ARM64: Temporarrily disable email notification

Currently all Arm64 boxes are dead.
They need to be upgraded.

Commit migrated from https://github.com/dotnet/coreclr/commit/0105a941698c7d85b0881fa211031a5ba848df7b

8 years agoProvide guidance for common build-failure scenario. (dotnet/coreclr#6164)
Jostein Kjønigsen [Mon, 18 Jul 2016 06:23:25 +0000 (08:23 +0200)]
Provide guidance for common build-failure scenario. (dotnet/coreclr#6164)

Commit migrated from https://github.com/dotnet/coreclr/commit/4ec1a4908f5fa5ef59af83399600b5727f95486d

8 years agoAdd ICloneable back to several globalization types on Unix (dotnet/coreclr#6307)
Stephen Toub [Mon, 18 Jul 2016 05:44:15 +0000 (01:44 -0400)]
Add ICloneable back to several globalization types on Unix (dotnet/coreclr#6307)

The globalization implementation used for corefx on Unix came from corert, which didn't have ICloneable, and thus the globalization types that implement ICloneable in desktop and coreclr on Windows don't on Unix.  Now that ICloneable is coming back, we need these types to implement ICloneable appropriately.

Commit migrated from https://github.com/dotnet/coreclr/commit/3ec09b87b1f1f9cae1c75c603599552863a8ce0d

8 years agoMinimize buffer allocations in Stream.CopyTo for seekable streams (dotnet/coreclr...
James Ko [Mon, 18 Jul 2016 05:18:26 +0000 (01:18 -0400)]
Minimize buffer allocations in Stream.CopyTo for seekable streams (dotnet/coreclr#4540)

The current implementation of  Stream.CopyTo  allocates a giant, 81920-byte buffer if no  bufferSize  parameter is passed. This is incredibly wasteful if the stream we're copying from can seek, because then we can use the  Length  and  Position  properties to determine how many bytes are left and allocate a buffer of that size.

Commit migrated from https://github.com/dotnet/coreclr/commit/91eb03162ceef78beb33548cacd98105376a2a4c

8 years agoRevert "Less conservative gt obj"
Jonghyun Park [Tue, 12 Jul 2016 02:03:35 +0000 (11:03 +0900)]
Revert "Less conservative gt obj"

Commit migrated from https://github.com/dotnet/coreclr/commit/5524e2b2f8e7dd84245a38c9f86cdf903ecc3f37

8 years agoGC update from CoreRT (dotnet/coreclr#6305)
Jan Kotas [Sun, 17 Jul 2016 07:24:32 +0000 (09:24 +0200)]
GC update from CoreRT (dotnet/coreclr#6305)

https://github.com/dotnet/corert/tree/master/src/Native/gc dotnet/coreclr@bc9671edca37502794c01647215519d4254d3ad4

Commit migrated from https://github.com/dotnet/coreclr/commit/bdfce9ed7fb93086f0b10ce999e2c21f34e08ada

8 years agoMerge pull request dotnet/coreclr#6299 from mairaw/patch-1
Aditya Mandaleeka [Fri, 15 Jul 2016 22:16:31 +0000 (15:16 -0700)]
Merge pull request dotnet/coreclr#6299 from mairaw/patch-1

fix small typos on contributing guide

Commit migrated from https://github.com/dotnet/coreclr/commit/1383b557d7be7268fa3e80dac8c908eae335a0e5

8 years agofix small typos
Maira Wenzel [Fri, 15 Jul 2016 21:50:54 +0000 (14:50 -0700)]
fix small typos

Commit migrated from https://github.com/dotnet/coreclr/commit/1351cd9ac738f82323a613d0706bc148fdbd02a4

8 years agoMerge pull request dotnet/coreclr#6296 from swgillespie/vscode-gitignore
Sean Gillespie [Fri, 15 Jul 2016 21:15:29 +0000 (14:15 -0700)]
Merge pull request dotnet/coreclr#6296 from swgillespie/vscode-gitignore

Add VS Code local settings folder to gitignore

Commit migrated from https://github.com/dotnet/coreclr/commit/9216c56905f5987a6a6cded69b142c29933b1872

8 years agoInliner: capture profit model estimate during replay
Andy Ayers [Fri, 15 Jul 2016 20:06:44 +0000 (13:06 -0700)]
Inliner: capture profit model estimate during replay

When using ReplayPolicy and dumping data, capture the profitability
estimate made by the ModelPolicy, so we can more easily cross-validate
it against externally measured profitability.

Commit migrated from https://github.com/dotnet/coreclr/commit/10af6af8d2254f3ce8a4f4050bac29c7e5b13de1

8 years agoMerge pull request dotnet/coreclr#6295 from wtgodbe/initToolsFix
William Godbe [Fri, 15 Jul 2016 19:50:58 +0000 (12:50 -0700)]
Merge pull request dotnet/coreclr#6295 from wtgodbe/initToolsFix

Stop chmoding nonexistant corerun file in Tools dir

Commit migrated from https://github.com/dotnet/coreclr/commit/4751225a60d76acc4cad3108e634549daa274577

8 years agoStop chmoding nonexistant corerun file in Tools dir
wtgodbe [Fri, 15 Jul 2016 18:10:49 +0000 (11:10 -0700)]
Stop chmoding nonexistant corerun file in Tools dir

Commit migrated from https://github.com/dotnet/coreclr/commit/2b70df555e2e92f52a45eef0df7bc758a1799118

8 years agoMerge pull request dotnet/coreclr#6037 from sejongoh/linux_struct_arg
Sejong Oh [Fri, 15 Jul 2016 17:46:42 +0000 (10:46 -0700)]
Merge pull request dotnet/coreclr#6037 from sejongoh/linux_struct_arg

Unecessary Linux stack argument copy

Commit migrated from https://github.com/dotnet/coreclr/commit/4a1ad50967ae00888949643307fc87c29880f40a

8 years agoMerge pull request dotnet/coreclr#6249 from prajwal-aithal/devel/arm-ci-documentation
Jarret Shook [Fri, 15 Jul 2016 16:58:33 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#6249 from prajwal-aithal/devel/arm-ci-documentation

Documentation: Add documentation for building coreclr for emulator

Commit migrated from https://github.com/dotnet/coreclr/commit/63e59cc3199d4bb480345cb4d90cf447aea702b1

8 years agoARM64: Cross-Target Jit
Kyungwoo Lee [Thu, 7 Jul 2016 21:42:44 +0000 (14:42 -0700)]
ARM64: Cross-Target Jit

Fixes https://github.com/dotnet/coreclr/issues/6279
Fixes https://github.com/dotnet/coreclr/issues/6280

- This builds x64_arm64 clrjit.dll
- crossgen is not statically linked to jit anymore. It needs clrjit.dll
  dynamically
- Adding this cross-component binary into Jit pacakge.

So, clrjit.dll (native-target) is consumed by coreclr or crossgen
(native-target)
clrjit.dll (cross-target) is consumed by crossgen (cross-target).
Likewise, later this cross-target clrjit.dll can be used for corert targeting arm64
so that we can generate arm64 code on host machine (x64).

Commit migrated from https://github.com/dotnet/coreclr/commit/0ed4e675a303a8944ec4c99c03058b99d8ff9548

8 years agoMerge pull request dotnet/coreclr#6287 from MichalStrehovsky/removeAssertOnMustExpand
Michal Strehovský [Fri, 15 Jul 2016 06:11:27 +0000 (23:11 -0700)]
Merge pull request dotnet/coreclr#6287 from MichalStrehovsky/removeAssertOnMustExpand

Remove assert validating intrinsic expansion on mustExpand

Commit migrated from https://github.com/dotnet/coreclr/commit/9a9096bc059c66dbed583cfe986cb2eb61cdfa17

8 years agoMerge pull request dotnet/coreclr#6050 from prajwal-aithal/devel/arm-ci-runtests
Jarret Shook [Thu, 14 Jul 2016 22:58:09 +0000 (15:58 -0700)]
Merge pull request dotnet/coreclr#6050 from prajwal-aithal/devel/arm-ci-runtests

ARM-CI: Add tests to CI script

Commit migrated from https://github.com/dotnet/coreclr/commit/73df4f03fe63d981b74afc1c6c09ffe8960c475d

8 years agoRemove assert validating intrinsic expansion on mustExpand
Michal Strehovský [Thu, 14 Jul 2016 22:26:20 +0000 (15:26 -0700)]
Remove assert validating intrinsic expansion on mustExpand

The assert is incorrect. Consider expansion of
CORINFO_INTRINSIC_RTH_GetValueInternal, where the RuntimeTypeHandle was
created through a generic lookup helper call. The intrinsic expansion of
this sequence becomes the generic lookup helper call on it's own.

Commit migrated from https://github.com/dotnet/coreclr/commit/f063377de71efdba671832772507c1997bb3a046

8 years agoRemove unnecessary copies for stack struct argument except:
Sejong OH [Mon, 11 Jul 2016 20:44:09 +0000 (13:44 -0700)]
Remove unnecessary copies for stack struct argument except:

  - struct is promoted to registers
  - fgMakeOutgoingStructArgCopy is called
  - tree pattern of obj - addr - simd operator

    *  call      void   foo
    ...
    +--*  obj       simd16
    |  \--*  addr      byref
    |     |  /--*  lclVar    simd16 V05 loc4
    |     \--*  simd      simd16 int -
    |        \--*  lclVar    simd16 V08 tmp1
    ...

Commit migrated from https://github.com/dotnet/coreclr/commit/68d5832f204e791943a7e1c5a7f0c80063cf3c7a

8 years agoMerge pull request dotnet/coreclr#6256 from wtgodbe/buildToolsVersion
William Godbe [Thu, 14 Jul 2016 20:20:44 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#6256 from wtgodbe/buildToolsVersion

Update to latest version of buildtools

Commit migrated from https://github.com/dotnet/coreclr/commit/e06211d164f565242d1a8fab9d88965210eb7f64

8 years agoUpdate to latest version of buildtools
wtgodbe [Wed, 13 Jul 2016 17:29:43 +0000 (10:29 -0700)]
Update to latest version of buildtools

Commit migrated from https://github.com/dotnet/coreclr/commit/a23208ece81828d3524d3318f58e0c45350dc491

8 years agoMerge pull request dotnet/coreclr#6276 from BruceForstall/LocAllocCleanup
Bruce Forstall [Thu, 14 Jul 2016 18:39:48 +0000 (11:39 -0700)]
Merge pull request dotnet/coreclr#6276 from BruceForstall/LocAllocCleanup

Clean up localloc implementation

Commit migrated from https://github.com/dotnet/coreclr/commit/e8bdf3e20dab4f39649338ab65fb5aa25e7f913c

8 years agoClean up localloc implementation; improve AMD64 codegen for initialized locallocs
Bruce Forstall [Wed, 13 Jul 2016 23:00:35 +0000 (16:00 -0700)]
Clean up localloc implementation; improve AMD64 codegen for initialized locallocs

Commit migrated from https://github.com/dotnet/coreclr/commit/7a516a2b03833d3f445c20f52ea41c45e233c2ab