platform/upstream/dotnet/runtime.git
7 years agoHoist calls to NumSucc() out of loops
Bruce Forstall [Mon, 17 Apr 2017 23:00:51 +0000 (16:00 -0700)]
Hoist calls to NumSucc() out of loops

Should be a minor throughput improvement.

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

7 years agoMerge pull request dotnet/coreclr#10936 from BruceForstall/TempRegApi
Bruce Forstall [Fri, 14 Apr 2017 22:47:58 +0000 (15:47 -0700)]
Merge pull request dotnet/coreclr#10936 from BruceForstall/TempRegApi

Introduce API for codegen getting temp registers from gtRsvdRegs

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

7 years agoSmall clean up of stackEntry (dotnet/coreclr#10820)
Sergey Andreenko [Fri, 14 Apr 2017 20:58:25 +0000 (13:58 -0700)]
Small clean up of stackEntry (dotnet/coreclr#10820)

Make all stackDepth equal unsigned int.
Delete possible wrong function (the comment said : "// used in the inliner, where we can assume typesafe code. please don't use in the importer!!", but it was used).
Delete methods, that used arguments as output buffers.

* delete code without effects

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

7 years agoIntroduce API for codegen getting temp registers from gtRsvdRegs
Bruce Forstall [Thu, 13 Apr 2017 00:16:46 +0000 (17:16 -0700)]
Introduce API for codegen getting temp registers from gtRsvdRegs

LSRA puts a set of temporary registers needed by a node in the
gtRsvdRegs register mask. Currently, evey codegen function that
needs to use a temporary register manually manipulates this mask.

Introduce a few functions to make this simpler and more regular:

1. GetSingleTempReg() // Gets a temp; asserts there is exactly one temp reg.
2. ExtractTempReg() // Gets the lowest temp, removes it from gtRsvdRegs so subsequent calls don't see it.
3. AvailableTempRegCount() // Returns a count of available temp registers.

All take an optional register mask, so you can extract a register from
just the set specified by the mask (typically RBM_ALLINT or RBM_ALLFLOAT).

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

7 years agoMerge pull request dotnet/coreclr#10955 from adityamandaleeka/makeHandleStoreClass
Aditya Mandaleeka [Fri, 14 Apr 2017 20:03:22 +0000 (13:03 -0700)]
Merge pull request dotnet/coreclr#10955 from adityamandaleeka/makeHandleStoreClass

Make a GCHandleStore class and interface for use by the VM

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

7 years agoMerge pull request dotnet/coreclr#10956 from AndyAyersMS/FixMorphUnnecessaryNullCheck
Andy Ayers [Fri, 14 Apr 2017 19:46:22 +0000 (12:46 -0700)]
Merge pull request dotnet/coreclr#10956 from AndyAyersMS/FixMorphUnnecessaryNullCheck

Jit: fix unnecessary null checks in some field accesses

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

7 years agoMake HandleStores contain their underlying bucket directly.
Aditya Mandaleeka [Fri, 14 Apr 2017 03:49:04 +0000 (20:49 -0700)]
Make HandleStores contain their underlying bucket directly.

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

7 years ago[Local GC] Move operations on CLREventStatic to the EE interface (dotnet/coreclr...
Sean Gillespie [Fri, 14 Apr 2017 16:51:10 +0000 (09:51 -0700)]
[Local GC] Move operations on CLREventStatic to the EE interface (dotnet/coreclr#10813)

* [Local GC] Move operations on CLREventStatic to the EE and add their functionality to the interface

* Fix a missed case

* Split GetWaitForGCEvent into two smaller interface methods to avoid exposing the event itself on the interface

* Initial implementation for Unix

* Complete unix implementation

* Make it work on Windows

* Remove redudant methods from GCToEEInterface

* Fix the Linux build

* First part of code review feedback: make GCEvent dispatch statically (Windows)

* Second part of code review feedback: make GCEvent dispatch statically (Unix)

* Standardize implementation across Windows/Unix (apparently MSVC is more lenient about constructor names than clang)

* Address code review feedback: Add Create*Event methods back onto GCEvent and remove them from GCToOSInterface

* Address code review feedback: remove a dead define

* Remove a bad comment, remove an unnecessary friend class, fix some formatting issues

* Fix an issue when initializing a GCEvent on Linux (should not be allocating an Impl in the constructor)

* Fix the same issue on Windows (less bad, just leaks memory instead of asserting)

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

7 years ago[x86/Linux] Use appropriate FCALL macro for DoToDecimal (dotnet/coreclr#10963)
Jonghyun Park [Fri, 14 Apr 2017 14:34:07 +0000 (23:34 +0900)]
[x86/Linux] Use appropriate FCALL macro for DoToDecimal (dotnet/coreclr#10963)

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

7 years agoImplement MEM_RESET handling in VirtualAlloc on Unix (dotnet/coreclr#10939)
Jan Vorlicek [Fri, 14 Apr 2017 12:13:48 +0000 (05:13 -0700)]
Implement MEM_RESET handling in VirtualAlloc on Unix (dotnet/coreclr#10939)

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

7 years agoRename IGCHandleTable to IGCHandleManager.
Aditya Mandaleeka [Fri, 14 Apr 2017 02:19:58 +0000 (19:19 -0700)]
Rename IGCHandleTable to IGCHandleManager.

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

7 years agoMerge pull request dotnet/coreclr#10945 from OmarTawfik/update-runtimefeature-docs
Omar Tawfik [Fri, 14 Apr 2017 03:07:27 +0000 (20:07 -0700)]
Merge pull request dotnet/coreclr#10945 from OmarTawfik/update-runtimefeature-docs

Update comment to reflect how RuntimeFeature members should be defined

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

7 years agoReenable incremental linking (dotnet/coreclr#10943)
Gaurav Khanna [Fri, 14 Apr 2017 00:58:21 +0000 (17:58 -0700)]
Reenable incremental linking (dotnet/coreclr#10943)

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

7 years ago[Local GC] Handle table low-hanging interface violations (dotnet/coreclr#10929)
Sean Gillespie [Thu, 13 Apr 2017 22:35:42 +0000 (15:35 -0700)]
[Local GC] Handle table low-hanging interface violations (dotnet/coreclr#10929)

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

7 years agoJit: fix unnecessary null checks in some field accesses
Andy Ayers [Thu, 13 Apr 2017 22:17:44 +0000 (15:17 -0700)]
Jit: fix unnecessary null checks in some field accesses

Morph was sometimes passing the existing MorphAddressContext down
to fgMorphField even when the field access was for a field value.
If that context contained indefinite offsets, morph would then
insert an explicit null check on the object pointer for the field
access.

Typically the field offset is small enough that this explicit check
is not needed. The implicit check done when fetching the field's value
is sufficient protection.

The fix is to have `fgMorphSmpOp` clear out the context for child
`GT_FIELD` nodes, unless the field parent is a `GT_ADDR`. Note
if there is an `op2` node the parent cannot be `GT_ADDR` so these
field children always get an empty context.

No tests added since this kicks in reasonably frequently in corelib and
elsewhere in frameworks.

Closes dotnet/coreclr#10942.

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

7 years agoMake a GCHandleStore class and interface for use by the VM.
Aditya Mandaleeka [Wed, 12 Apr 2017 02:34:15 +0000 (19:34 -0700)]
Make a GCHandleStore class and interface for use by the VM.

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

7 years agoMerge pull request dotnet/coreclr#10953 from wtgodbe/crossImage
William Godbe [Thu, 13 Apr 2017 21:36:14 +0000 (14:36 -0700)]
Merge pull request dotnet/coreclr#10953 from wtgodbe/crossImage

Use updated Docker images for Crossbuild

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

7 years agoUse updated Docker images for Crossbuild
wtgodbe [Thu, 13 Apr 2017 21:29:56 +0000 (14:29 -0700)]
Use updated Docker images for Crossbuild

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

7 years agoMerge pull request dotnet/coreclr#10927 from wtgodbe/PortableOSXWin
William Godbe [Thu, 13 Apr 2017 20:56:26 +0000 (13:56 -0700)]
Merge pull request dotnet/coreclr#10927 from wtgodbe/PortableOSXWin

Enable building Core_Root for any RID against packages

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

7 years agoMerge pull request dotnet/coreclr#10949 from wtgodbe/ImageVersion
William Godbe [Thu, 13 Apr 2017 20:28:08 +0000 (13:28 -0700)]
Merge pull request dotnet/coreclr#10949 from wtgodbe/ImageVersion

Update Ubuntu14.04 Cross Docker image

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

7 years agoUpdate Ubuntu14.04 Cross Docker image
wtgodbe [Thu, 13 Apr 2017 20:27:50 +0000 (13:27 -0700)]
Update Ubuntu14.04 Cross Docker image

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

7 years agoUpdate comment to reflect how RuntimeFeatures should be defined
Omar Tawfik [Thu, 13 Apr 2017 19:33:10 +0000 (12:33 -0700)]
Update comment to reflect how RuntimeFeatures should be defined

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

7 years agoMerge pull request dotnet/coreclr#10922 from adiaaida/fixXUnitPerf
Michelle McDaniel [Thu, 13 Apr 2017 17:29:36 +0000 (10:29 -0700)]
Merge pull request dotnet/coreclr#10922 from adiaaida/fixXUnitPerf

Fix run-xunit-perf.cmd for local use

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

7 years ago[x86/Linux] Use appropriate FCALL macro for SafeBuffer methods (dotnet/coreclr#10935)
Jonghyun Park [Thu, 13 Apr 2017 17:23:48 +0000 (02:23 +0900)]
[x86/Linux] Use appropriate FCALL macro for SafeBuffer methods (dotnet/coreclr#10935)

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

7 years agoRemove distro specific RIDs from SOS.NETCore's project.json. (dotnet/coreclr#10925)
Mike McLaughlin [Thu, 13 Apr 2017 16:28:23 +0000 (09:28 -0700)]
Remove distro specific RIDs from SOS.NETCore's project.json. (dotnet/coreclr#10925)

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

7 years agoEnsure Environment.ExitCode works correctly after app domain unloaded. (dotnet/corecl...
Jim Ma [Thu, 13 Apr 2017 15:50:05 +0000 (23:50 +0800)]
Ensure Environment.ExitCode works correctly after app domain unloaded. (dotnet/coreclr#10842)

* Ensure Environment.ExitCode works correctly after app domain unloaded.

This PR addresses 2 problems of Environment.ExitCode:

1. Can't get correct exit code of main function.
2. Can't set %errorlevel%.

Details can be found on dotnet/coreclr#6206

Fix dotnet/coreclr#6206

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

7 years agoUpdate CoreClr to preview1-25213-02 (dotnet/coreclr#10937)
dotnet bot [Thu, 13 Apr 2017 14:56:52 +0000 (07:56 -0700)]
Update CoreClr to preview1-25213-02 (dotnet/coreclr#10937)

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

7 years agoMerge pull request dotnet/coreclr#10875 from rahku/fix_x86_gcstress
Rahul Kumar [Thu, 13 Apr 2017 14:20:52 +0000 (07:20 -0700)]
Merge pull request dotnet/coreclr#10875 from rahku/fix_x86_gcstress

modify lastAvAddress when adjusting context for Stub

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

7 years ago[ARM32/Linux] Build libcoreclrtraceptprovider.so (dotnet/coreclr#10406)
Hyeongseok Oh [Thu, 13 Apr 2017 11:09:32 +0000 (20:09 +0900)]
[ARM32/Linux] Build libcoreclrtraceptprovider.so (dotnet/coreclr#10406)

* Build libcoreclrtraceptprovider.so for ARM32 and modify cmake

- Build libcoreclrtraceptprovider.so for ARM32
- Include libcoreclrtraceptprovider.so in nuget package
- Don't build libcoreclrtraceptprovider.so for
Tizen: lttng is not supported in Tizen
- Exclude packaging libcoreclrtraceptprovider.so based on os-name
excluded for tizen

* Remove libcoreclrtraceptprovider.so before test for ARM32/Linux

Remove libcoreclrtraceptprovider.so before test for ARM32/Linux in CI
CI test environment using docker with qemu has some problem to use lttng library

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

7 years agoCreate ELF core dump on coreclr exceptions and signals. (dotnet/coreclr#10902)
Mike McLaughlin [Thu, 13 Apr 2017 07:34:01 +0000 (00:34 -0700)]
Create ELF core dump on coreclr exceptions and signals. (dotnet/coreclr#10902)

* Create ELF core dump on coreclr exceptions and signals.

When coreclr aborts because of a unhandled managed exception or hardware signal, the
"createdump" utility is launched if the "COMPlus_DbgEnableMiniDump" environment
variable is set to "1".

This utility uses the DAC enumerate memory interface to determine what memory regions
should be written for the managed state plus all the normal Linux memory regions for
the native state like threads, stacks, DSO, etc.

There still needs some to configure some of the "policies" like the name/location of
the core dump and the type of minidump (MiniDumpNormal, MiniDumpWithFullAuxiliaryState,
MiniDumpWithPrivateReadWriteMemory, etc.).

Currently only supported on Ubuntu Linux.

Make createdump smaller by using PAL in DAC module.

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

7 years agoAdd platform (x64 & arm64) specific optimized jit helpers for statics access (dotnet...
Rahul Kumar [Thu, 13 Apr 2017 05:33:40 +0000 (22:33 -0700)]
Add platform (x64 & arm64) specific optimized jit helpers for statics access (dotnet/coreclr#10912)

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

7 years agoMerge pull request dotnet/coreclr#10930 from rahku/marshalfix
Rahul Kumar [Thu, 13 Apr 2017 01:22:18 +0000 (18:22 -0700)]
Merge pull request dotnet/coreclr#10930 from rahku/marshalfix

HelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper

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

7 years agoHelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper
Rahul Kumar [Wed, 12 Apr 2017 23:13:04 +0000 (16:13 -0700)]
HelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper

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

7 years agoMerge pull request dotnet/coreclr#10914 from hqueue/jit/remove_unused_fuction
Bruce Forstall [Wed, 12 Apr 2017 22:28:36 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#10914 from hqueue/jit/remove_unused_fuction

Remove unused function in BasicBlock

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

7 years agoMerge changes from TFS (dotnet/coreclr#10926)
dotnet bot [Wed, 12 Apr 2017 22:27:09 +0000 (15:27 -0700)]
Merge changes from TFS (dotnet/coreclr#10926)

* Fix desktop build break

[tfs-changeset: 1654125]

* JIT formatting

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

7 years agoMerge pull request dotnet/coreclr#10917 from stephentoub/fix_badges
Stephen Toub [Wed, 12 Apr 2017 22:23:26 +0000 (18:23 -0400)]
Merge pull request dotnet/coreclr#10917 from stephentoub/fix_badges

Fix build badges in OfficialAndDailyBuilds.md

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

7 years ago[x86/Linux] Fix ResumeEsp before resume (dotnet/coreclr#10749)
Jonghyun Park [Wed, 12 Apr 2017 22:09:33 +0000 (07:09 +0900)]
[x86/Linux] Fix ResumeEsp before resume (dotnet/coreclr#10749)

* [x86/Linux] Correctly unwind FCALL frames

* Fix Up ResumeEsp inside ProcessCLRException

* Fix Context Before PC Update

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

7 years ago[x86/Linux] 16-byte aligned BackPatchWorkerAsmStub (dotnet/coreclr#10759)
Jonghyun Park [Wed, 12 Apr 2017 22:07:56 +0000 (07:07 +0900)]
[x86/Linux] 16-byte aligned BackPatchWorkerAsmStub (dotnet/coreclr#10759)

* [x86/Linux] 16-byte aligned BackPatchWorkerAsmStub

* Use fixed alignment padding

* Do NOT push ebx (no longer required)

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

7 years agoMerge pull request dotnet/coreclr#10905 from pgavlin/VSO406158
Pat Gavlin [Wed, 12 Apr 2017 21:57:32 +0000 (14:57 -0700)]
Merge pull request dotnet/coreclr#10905 from pgavlin/VSO406158

Fix a number of reordering issues in shift decomposition.

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

7 years ago[x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760)
Jonghyun Park [Wed, 12 Apr 2017 21:44:20 +0000 (06:44 +0900)]
[x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760)

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

7 years agoEnable building Core_Root for any RID against packages
wtgodbe [Wed, 12 Apr 2017 19:47:28 +0000 (12:47 -0700)]
Enable building Core_Root for any RID against packages

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

7 years agoMerge pull request dotnet/coreclr#10706 from sdmaclea/PR-ARM64-GC-EmitInsLdStOp
Jarret Shook [Wed, 12 Apr 2017 21:37:04 +0000 (14:37 -0700)]
Merge pull request dotnet/coreclr#10706 from sdmaclea/PR-ARM64-GC-EmitInsLdStOp

[Arm64] Fix GC Holes in emitInsLoadStoreOp

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

7 years agoMerge pull request dotnet/coreclr#10923 from wtgodbe/ImproveReporting
William Godbe [Wed, 12 Apr 2017 20:27:52 +0000 (13:27 -0700)]
Merge pull request dotnet/coreclr#10923 from wtgodbe/ImproveReporting

Improve reporting parameters for pipebuild

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

7 years agoMerge pull request dotnet/coreclr#10911 from adityamandaleeka/handle_table_local_gc_h...
Aditya Mandaleeka [Wed, 12 Apr 2017 19:05:11 +0000 (12:05 -0700)]
Merge pull request dotnet/coreclr#10911 from adityamandaleeka/handle_table_local_gc_hide_internals

[Local GC] Hide handle table internals from VM side

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

7 years agoImprove reporting parameters for pipebuild
wtgodbe [Wed, 12 Apr 2017 18:35:42 +0000 (11:35 -0700)]
Improve reporting parameters for pipebuild

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

7 years agoFix closed delegate deserialization to account for extension methods (dotnet/coreclr...
Koundinya Veluri [Wed, 12 Apr 2017 17:33:52 +0000 (10:33 -0700)]
Fix closed delegate deserialization to account for extension methods (dotnet/coreclr#10901)

Functional fix for dotnet/coreclr#9597:
- The code was incorrectly assuming that the serialized target type info refers to the target object's type; it actually refers to the method's reflected type, which may not be the same type when it's an extension method

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

7 years agoMerge pull request dotnet/coreclr#10243 from sdmaclea/PR-CALLI-LOWERING-ALLOWED
Bruce Forstall [Wed, 12 Apr 2017 17:12:18 +0000 (10:12 -0700)]
Merge pull request dotnet/coreclr#10243 from sdmaclea/PR-CALLI-LOWERING-ALLOWED

Allow target of calli to be lowered to ldc.i4

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

7 years agoFix run-xunit-perf.cmd for local use
Michelle McDaniel [Wed, 12 Apr 2017 16:56:33 +0000 (09:56 -0700)]
Fix run-xunit-perf.cmd for local use

run-xunit-perf.cmd  specifies the full path to the benchmark using
%WORKSPACE%, which a user may not set locally. This change modifies it to
use %CORECLR_ROOT%.

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

7 years agoNS2.0 AssemblyName.ReferenceMatchesDefinition() (dotnet/coreclr#10919)
Atsushi Kanamori [Wed, 12 Apr 2017 16:50:26 +0000 (09:50 -0700)]
NS2.0 AssemblyName.ReferenceMatchesDefinition() (dotnet/coreclr#10919)

This api was broken from its debut in 2.0 (and yet somehow
scored a 2.9% on .NET api catalog)

 https://connect.microsoft.com/VisualStudio/feedback/details/752902/assemblyname-referencematchesdefinition-returns-true-even-though-the-parameters-dont-match

In 2012, the MSDN docs were changed to match its broken behavior:

   Return Value
   Type: System.Boolean
   true if the simple assembly names are the same; otherwise, false.

   Remarks

   The comparison depends only on the simple assembly name. It ignores version, culture, and public key token.

A more accurate description would be:

   This api takes the simple names of the ref and def.
   Then it parses the simple names *as if they were*
   full-blown assembly names with optional Version, Culture
   and PKT (!)

   Then it applies a RefToDef test to that name using a test
   that's quite separate from the one used by the actual
   CoreCLR loader (so any similarities between
   it and the actual binding rules is purely coincidental.)

   Oh, and that code assumes the Def name came from trusted
   sources so if it's has a null Culture property, it NULL-AV's.

We could replicate this behavior on CoreRT (relying on
its own AssemblyBinder) but the more I progressed, the
more the venture failed to pass the laugh test (though
at least we got a nice AssemblyBinder cleanup
as a side effect.)

So what we'll do is make the api behavior match the
MSDN description (and likely come close enough to the compat bar)
but in a more straightforward fashion.

(The RefMatchesDef routine is used on one case - to
match assembly refs against a list of friend-access
assembly defs. So it's not quite dead code though
it probably should be.)

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

7 years agoMerge pull request dotnet/coreclr#10904 from BruceForstall/ArmMergeCodegenFuncs
Bruce Forstall [Wed, 12 Apr 2017 16:17:17 +0000 (09:17 -0700)]
Merge pull request dotnet/coreclr#10904 from BruceForstall/ArmMergeCodegenFuncs

Merge similar arm32/arm64 codegen functions

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

7 years ago[x86/Linux] Funclet-based synchronization (dotnet/coreclr#10791)
Jonghyun Park [Wed, 12 Apr 2017 16:02:35 +0000 (01:02 +0900)]
[x86/Linux] Funclet-based synchronization (dotnet/coreclr#10791)

* [x86/Linux] Funclet-based synchronization

* Fix x86/Windows build error

* Revise per feedback

* Fix format error

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

7 years agoMerge pull request dotnet/coreclr#10852 from mskvortsov/ryujit-arm32-ldst-offset
Bruce Forstall [Wed, 12 Apr 2017 16:00:34 +0000 (09:00 -0700)]
Merge pull request dotnet/coreclr#10852 from mskvortsov/ryujit-arm32-ldst-offset

[RyuJIT/ARM32] Encodable offsets for ld/st

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

7 years agoFormat code.
Pat Gavlin [Wed, 12 Apr 2017 15:53:00 +0000 (08:53 -0700)]
Format code.

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

7 years agoUpdate CoreClr to preview1-25212-04 (dotnet/coreclr#10879)
dotnet bot [Wed, 12 Apr 2017 15:05:37 +0000 (08:05 -0700)]
Update CoreClr to preview1-25212-04 (dotnet/coreclr#10879)

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

7 years agoFix resource string name
Jan Kotas [Wed, 12 Apr 2017 02:33:08 +0000 (19:33 -0700)]
Fix resource string name

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

7 years agoDelete moved files
Jan Kotas [Wed, 12 Apr 2017 01:18:07 +0000 (18:18 -0700)]
Delete moved files

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/fa73128a92577d5e1baee3877f71f5c1adac2bcd

7 years agoChange default clang version to clang3.9 in cross build (dotnet/coreclr#10889)
Jiyoung Giuliana Yun [Wed, 12 Apr 2017 12:11:03 +0000 (21:11 +0900)]
Change default clang version to clang3.9 in cross build (dotnet/coreclr#10889)

If we use clang3.9 version, we will use O3 option for optimization.
Otherwise, use O1 option as before.

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

7 years agoFix build badges in OfficialAndDailyBuilds.md
Stephen Toub [Wed, 12 Apr 2017 11:39:56 +0000 (07:39 -0400)]
Fix build badges in OfficialAndDailyBuilds.md

- None of the badge links were correct, resulting in every badge always showing
as "Building" regardless of actual status
- The OSX badge links would 404.
- We were still using shields.io badges, which have been unreliable.

I've fixed all of these.

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

7 years agoRyuJIT/ARM32: encodable offsets for ld/st
Mikhail Skvortcov [Wed, 12 Apr 2017 06:18:08 +0000 (09:18 +0300)]
RyuJIT/ARM32: encodable offsets for ld/st

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

7 years agoRemove unused function in BasicBlock
Hyung-Kyu Choi [Wed, 12 Apr 2017 04:32:32 +0000 (13:32 +0900)]
Remove unused function in BasicBlock

lastTopLevelStmt() is declared in BasicBlock,
but not defined and unused throughout JIT.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/646697a1f2501891f251144d07eb463096bd3e4a

7 years agoRename overloaded "table" to "store" for VM side concept.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:49:44 +0000 (18:49 -0700)]
Rename overloaded "table" to "store" for VM side concept.

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

7 years agoFix CI tizen build error (dotnet/coreclr#10909)
Hyeongseok Oh [Wed, 12 Apr 2017 01:54:52 +0000 (10:54 +0900)]
Fix CI tizen build error (dotnet/coreclr#10909)

Fix CI tizen build error caused by chmod

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

7 years agomodify lastAvAddress when adjusting context for Stub
Rahul Kumar [Mon, 10 Apr 2017 22:48:31 +0000 (15:48 -0700)]
modify lastAvAddress when adjusting context for Stub

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

7 years agoHide knowledge of handle table buckets and home heaps from VM side.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:28:03 +0000 (18:28 -0700)]
Hide knowledge of handle table buckets and home heaps from VM side.

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

7 years agoDelete Ref_ContainHandle and ContainsOBJECTHANDLE.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:08:08 +0000 (18:08 -0700)]
Delete Ref_ContainHandle and ContainsOBJECTHANDLE.

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

7 years agoAdd GetNewHandleTable and GetGlobalHandleTable to interface.
Aditya Mandaleeka [Wed, 12 Apr 2017 01:05:05 +0000 (18:05 -0700)]
Add GetNewHandleTable and GetGlobalHandleTable to interface.

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

7 years agoRemove GetHandleTableForHandle and add CreateDuplicateHandle.
Aditya Mandaleeka [Wed, 12 Apr 2017 00:58:14 +0000 (17:58 -0700)]
Remove GetHandleTableForHandle and add CreateDuplicateHandle.

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

7 years agoReplace GetHandleTableContext with GetHandleContext.
Aditya Mandaleeka [Wed, 12 Apr 2017 00:50:13 +0000 (17:50 -0700)]
Replace GetHandleTableContext with GetHandleContext.

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

7 years agoMerge pull request dotnet/coreclr#10882 from adityamandaleeka/double_init_appdomain_c...
Aditya Mandaleeka [Wed, 12 Apr 2017 01:27:23 +0000 (18:27 -0700)]
Merge pull request dotnet/coreclr#10882 from adityamandaleeka/double_init_appdomain_creation

Remove double initialization of variables in app domain creation

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

7 years agoMerge pull request dotnet/coreclr#10877 from adityamandaleeka/handle_table_local_gc_n...
Aditya Mandaleeka [Wed, 12 Apr 2017 00:53:56 +0000 (17:53 -0700)]
Merge pull request dotnet/coreclr#10877 from adityamandaleeka/handle_table_local_gc_nullchecks

[Local GC] Move handle null checking code to VM side

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

7 years agoMove files to shared CoreLib partition (dotnet/coreclr#10885)
Jan Kotas [Wed, 12 Apr 2017 00:44:40 +0000 (17:44 -0700)]
Move files to shared CoreLib partition (dotnet/coreclr#10885)

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

7 years agoMerge pull request dotnet/coreclr#10816 from adityamandaleeka/handle_table_local_gc_init
Aditya Mandaleeka [Wed, 12 Apr 2017 00:36:38 +0000 (17:36 -0700)]
Merge pull request dotnet/coreclr#10816 from adityamandaleeka/handle_table_local_gc_init

[Local GC] Move handle destruction code to IGCHandleTable

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

7 years agoMerge pull request dotnet/coreclr#10907 from wtgodbe/BuildTypeReporting2
William Godbe [Wed, 12 Apr 2017 00:03:05 +0000 (17:03 -0700)]
Merge pull request dotnet/coreclr#10907 from wtgodbe/BuildTypeReporting2

Pass null instead of empty for PB_BuildType

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

7 years agoPass null instead of empty for PB_BuildType
wtgodbe [Wed, 12 Apr 2017 00:02:47 +0000 (17:02 -0700)]
Pass null instead of empty for PB_BuildType

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

7 years agoMerge pull request dotnet/coreclr#10906 from wtgodbe/BuildTypeReporting
William Godbe [Tue, 11 Apr 2017 23:56:15 +0000 (16:56 -0700)]
Merge pull request dotnet/coreclr#10906 from wtgodbe/BuildTypeReporting

Pass PB_BuildType as a Pipeline ReportingParameter

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

7 years agoPass PB_BuildType as a Pipeline ReportingParameter
wtgodbe [Tue, 11 Apr 2017 23:55:34 +0000 (16:55 -0700)]
Pass PB_BuildType as a Pipeline ReportingParameter

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

7 years agoFix a number of reordering issues in shift decomposition.
Pat Gavlin [Tue, 11 Apr 2017 23:46:48 +0000 (16:46 -0700)]
Fix a number of reordering issues in shift decomposition.

Shift decompostition contained a fair number of IR rewrites that were
unintentionally reordering nodes. This change fixes these instances s.t.
they no longer reorder code.

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

7 years agoMerge pull request dotnet/coreclr#10899 from wtgodbe/PipelineReporting
William Godbe [Tue, 11 Apr 2017 23:37:34 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#10899 from wtgodbe/PipelineReporting

Add last set of reportingParameters to pipelines.json

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

7 years agoMerge similar arm32/arm64 codegen functions
Bruce Forstall [Tue, 11 Apr 2017 23:36:18 +0000 (16:36 -0700)]
Merge similar arm32/arm64 codegen functions

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

7 years agoAdd last set of reportingParameters to pipelines.json
wtgodbe [Tue, 11 Apr 2017 20:03:45 +0000 (13:03 -0700)]
Add last set of reportingParameters to pipelines.json

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

7 years agoMerge pull request dotnet/coreclr#10867 from AndyAyersMS/FixSingleDefBug
Andy Ayers [Tue, 11 Apr 2017 21:31:11 +0000 (14:31 -0700)]
Merge pull request dotnet/coreclr#10867 from AndyAyersMS/FixSingleDefBug

Jit: fix issue with single-def type propagation

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

7 years agoCoreFx dotnet/coreclr#15622 Dictionary<TKey, TValue>.Remove(TKey, out TValue) (dotnet...
Mandar Sahasrabuddhe [Tue, 11 Apr 2017 20:43:22 +0000 (02:13 +0530)]
CoreFx dotnet/coreclr#15622 Dictionary<TKey, TValue>.Remove(TKey, out TValue) (dotnet/coreclr#10203)

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

7 years agoMerge pull request dotnet/coreclr#10880 from BruceForstall/ArmCommon
Bruce Forstall [Tue, 11 Apr 2017 20:38:37 +0000 (13:38 -0700)]
Merge pull request dotnet/coreclr#10880 from BruceForstall/ArmCommon

Create common files for ARM32 and ARM64 common code

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

7 years agoMerge pull request dotnet/coreclr#10876 from pgavlin/VSO406156
Pat Gavlin [Tue, 11 Apr 2017 20:29:23 +0000 (13:29 -0700)]
Merge pull request dotnet/coreclr#10876 from pgavlin/VSO406156

Fix a few errors in cast decomposition.

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

7 years agoMove a few more types from CoreFX to CoreLib (dotnet/coreclr#10893)
Jan Kotas [Tue, 11 Apr 2017 20:22:50 +0000 (13:22 -0700)]
Move a few more types from CoreFX to CoreLib (dotnet/coreclr#10893)

Reducing shards between CoreCLR and CoreRT shards

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

7 years agoMerge pull request dotnet/coreclr#10894 from dotnet/Add_Build_Type
Matt Galbraith [Tue, 11 Apr 2017 18:39:27 +0000 (11:39 -0700)]
Merge pull request dotnet/coreclr#10894 from dotnet/Add_Build_Type

Add some BuildType and Subtype info to CoreCLR build pipeline definition

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3288 from dotnet/nmirror
Jan Kotas [Tue, 11 Apr 2017 16:00:23 +0000 (09:00 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3288 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/fb86c0294a999b2c7bd1e13da1fdc0d3c2f701e5

7 years agoCreate common files for ARM32 and ARM64 common code
Bruce Forstall [Tue, 11 Apr 2017 02:01:34 +0000 (19:01 -0700)]
Create common files for ARM32 and ARM64 common code

Create codegenarmarch.cpp, lowerarmarch.cpp, lsraarmarch.cpp.

For codegenarmarch.cpp, I copied over a bunch of functions that
are almost identical between arm and arm64. I left the functions
intact (didn't change anything), so created one for ARM32 and
one for ARM64, unless they were truly identical. A follow-up
will be to actually merge the functions.

For lowerarmarch.cpp and lsraarmarch.cpp, I did the function
merge for nearly (or completely) identical functions, since
there were so many that were so similar.

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

7 years agoAdd some BuildType and Subtype info to CoreCLR build pipeline definition
Matt Galbraith [Tue, 11 Apr 2017 17:25:51 +0000 (10:25 -0700)]
Add some BuildType and Subtype info to CoreCLR build pipeline definition

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

7 years agoMerge pull request dotnet/coreclr#10886 from hseok-oh/ci/fix_ci_error
Pat Gavlin [Tue, 11 Apr 2017 17:18:57 +0000 (10:18 -0700)]
Merge pull request dotnet/coreclr#10886 from hseok-oh/ci/fix_ci_error

Fix CI test error: permission error

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3285 from dotnet/nmirror
Jan Kotas [Tue, 11 Apr 2017 02:37:42 +0000 (19:37 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3285 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/2030affc40ac0842db56b4c3ae2b3e8751fa06a4

7 years agoRemove sudo in netci.groovy
Hyeongseok Oh [Tue, 11 Apr 2017 08:08:43 +0000 (17:08 +0900)]
Remove sudo in netci.groovy

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

7 years agoOverwrite permission in coreoverlay generation
Hyeongseok Oh [Tue, 11 Apr 2017 07:49:34 +0000 (16:49 +0900)]
Overwrite permission in coreoverlay generation

fix runtest.sh to overwrite corerun's permission in coreoverlay generation

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

7 years agoFix netci.groovy
Hyeongseok Oh [Tue, 11 Apr 2017 07:47:27 +0000 (16:47 +0900)]
Fix netci.groovy

Fix netci.groovy instead of test script to avoid rebase

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

7 years agoFix CI test error: permission error
Hyeongseok Oh [Tue, 11 Apr 2017 07:12:10 +0000 (16:12 +0900)]
Fix CI test error: permission error

Fix CoreCLR/CoreFX copy order: permission problem

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

7 years agoDo not spill eeStack after ldtoken opcode. (dotnet/coreclr#10215)
Sergey Andreenko [Tue, 11 Apr 2017 03:53:38 +0000 (20:53 -0700)]
Do not spill eeStack after ldtoken opcode. (dotnet/coreclr#10215)

Do not spill eeStack if the last opcode was ldtoken.

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

7 years agoRemove double initialization of variables in app domain creation.
Aditya Mandaleeka [Tue, 11 Apr 2017 03:21:07 +0000 (20:21 -0700)]
Remove double initialization of variables in app domain creation.

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

7 years agoFix some static methods on ThreadPool to wait for initialization (dotnet/coreclr...
Koundinya Veluri [Tue, 11 Apr 2017 02:48:54 +0000 (19:48 -0700)]
Fix some static methods on ThreadPool to wait for initialization (dotnet/coreclr#10869)

Fix for part of dotnet/coreclr#10521

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

7 years agoMerge pull request dotnet/coreclr#10782 from parjong/fix/x86_funclet_unwinding
Bruce Forstall [Tue, 11 Apr 2017 01:50:10 +0000 (18:50 -0700)]
Merge pull request dotnet/coreclr#10782 from parjong/fix/x86_funclet_unwinding

[x86/Linux] Use GCInfo for funclet unwinding

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

7 years agoMove handle null checks to VM side.
Aditya Mandaleeka [Fri, 7 Apr 2017 00:57:25 +0000 (17:57 -0700)]
Move handle null checks to VM side.

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