platform/upstream/dotnet/runtime.git
7 years agoC++ conformance. (building with /permissive-) (dotnet/coreclr#7855)
Phil Christensen [Fri, 28 Oct 2016 09:09:35 +0000 (02:09 -0700)]
C++ conformance. (building with /permissive-) (dotnet/coreclr#7855)

These issues were found when building with the /permissive- flag in the
latest version of MSVC. No tests were added/modified because this does not
change any behavior.
There are a few types of language conformance issues fixed in this:

1) Strict string conversion (this is also covered by the /Zc:strictStrings
flag)

The 'const' is not implicitly dropped by string literals, which means the
following is not allowed:
char str = "const string literal"; //error: cannot convert a 'const char'
to a 'char*'
This fix to to make str 'const char*'. (This can have a domino effect
depending on where str is used)

2) Fully qualified inline declarations members inside class

struct A {
void A::f() { } // Error: illegal qualified name in member declaration,
remove redundant 'A::' to fix
};

3) MSVC by default will allows name lookup in a dependent base. This is
disabled by /permissive-

template <class T> struct B {
  void f();
};

template <class T> struct D
 : public B<T> //B is a dependent base because its type depends on the type of T in D<T>.
{
    //One possible fix is to uncomment the following line.  If this
    //were a type we should have 'using typename'...
    //using B<T>::f;

    void g() {
       f(); //Error: identifier not found, one possible fix is change it to 'this->f();'
    }
};

void h()
{
   D<int> d;
   d.g();
}

4) Warning 4800 has been removed in version 19.1 (1910) of the compiler.

For backwards compatability, surround the usage of 4800.
This is not related to C++ conformance.
 #if _MSC_VER <= 1900
 // 'BOOL' forcing value to bool 'true' or 'false'
 #pragma warning(disable: 4800)
 #endif

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

7 years agoMerge pull request dotnet/coreclr#7866 from dotnet-bot/from-tfs
Jan Kotas [Fri, 28 Oct 2016 03:39:24 +0000 (20:39 -0700)]
Merge pull request dotnet/coreclr#7866 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoAdd missing std::move to one exception throw (dotnet/coreclr#7865)
Jan Vorlicek [Fri, 28 Oct 2016 02:34:42 +0000 (04:34 +0200)]
Add missing std::move to one exception throw (dotnet/coreclr#7865)

We had the std::move missing in one of the exception throws. For some reason,
the current clang didn't complain about it even though the copy constructor was
deleted.

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

7 years agoUpdate broken link to RIDs (dotnet/coreclr#7850)
kchoi [Fri, 28 Oct 2016 02:33:51 +0000 (19:33 -0700)]
Update broken link to RIDs (dotnet/coreclr#7850)

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

7 years agoUse memset instead of ZeroMemory (dotnet/coreclr#7851)
Michal Strehovský [Fri, 28 Oct 2016 02:32:55 +0000 (19:32 -0700)]
Use memset instead of ZeroMemory (dotnet/coreclr#7851)

`CORINFO_HELP_READYTORUN_STATIC_BASE` and
`CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE` both use a mostly/fully
zeroed out `resolvedToken`, the common practice is to zero out with
`memset` in this codebase.

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

7 years agoFix exception.StackTrace race condition. Issue dotnet/coreclr#12467. (dotnet/coreclr...
Mike McLaughlin [Fri, 28 Oct 2016 02:31:45 +0000 (19:31 -0700)]
Fix exception.StackTrace race condition.  Issue dotnet/coreclr#12467. (dotnet/coreclr#7856)

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

7 years agoFix conversion from CorJitFlag2 enum to JitFlag. (dotnet/coreclr#7857)
Austin Wise [Fri, 28 Oct 2016 01:03:30 +0000 (18:03 -0700)]
Fix conversion from CorJitFlag2 enum to JitFlag. (dotnet/coreclr#7857)

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

7 years agofix typo
Dan Moseley [Thu, 27 Oct 2016 23:45:57 +0000 (16:45 -0700)]
fix typo

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

7 years agorollback CS1635584
Rahul Kumar [Thu, 27 Oct 2016 22:39:18 +0000 (15:39 -0700)]
rollback CS1635584

[tfs-changeset: 1635595]

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

7 years agoExpose System.Security.Principal.PrincipalPolicy (required for AppDomain apis)
Rahul Kumar [Thu, 27 Oct 2016 21:26:11 +0000 (14:26 -0700)]
Expose System.Security.Principal.PrincipalPolicy (required for AppDomain apis)

[tfs-changeset: 1635584]

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

7 years agoMerge pull request dotnet/coreclr#7837 from BruceForstall/JitFlags4
Bruce Forstall [Thu, 27 Oct 2016 20:48:06 +0000 (13:48 -0700)]
Merge pull request dotnet/coreclr#7837 from BruceForstall/JitFlags4

Introduce new CORJIT_FLAGS type

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

7 years agoAdd verification of System.Globalization.Native.so symbols (dotnet/coreclr#7848)
Jan Vorlicek [Thu, 27 Oct 2016 19:53:35 +0000 (21:53 +0200)]
Add verification of System.Globalization.Native.so symbols (dotnet/coreclr#7848)

This change adds check of undefined dependencies of the System.Globalization.Native.so
to the build.sh. The recent change that made the ICU APIs resolving driven by the
shared library itself creates a potential for someone adding usage of an ICU API that
is not defined in the icushim.h.
With this change, such problem will be caught during the build and cause it to fail.

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

7 years agoIntroduce new CORJIT_FLAGS type
Bruce Forstall [Wed, 26 Oct 2016 22:52:06 +0000 (15:52 -0700)]
Introduce new CORJIT_FLAGS type

The "JIT flags" currently passed between the EE and the JIT have traditionally
been bit flags in a 32-bit word. Recently, a second 32-bit word was added to
accommodate additional flags, but that set of flags is definitely "2nd class":
they are not universally passed, and require using a separate set of bit
definitions, and comparing those bits against the proper, 2nd word.

This change replaces all uses of bare DWORD or 'unsigned int' types
representing flags with CORJIT_FLAGS, which is now an opaque type. All
flag names were renamed from CORJIT_FLG_* to CORJIT_FLAG_* to ensure all
cases were changed to use the new names, which are also scoped within the
CORJIT_FLAGS type itself.

Another motivation to do this, besides cleaner code, is to allow enabling the
SSE/AVX flags for x86. For x86, we had fewer bits available in the "first
word", so would have to either put them in the "second word", which, as
stated, was very much 2nd class and not plumbed through many usages, or
we could move other bits to the "second word", with the same issues. Neither
was a good option.

RyuJIT compiles with both COR_JIT_EE_VERSION > 460 and <= 460. I introduced
a JitFlags adapter class in jitee.h to handle both JIT flag types. All JIT
code uses this JitFlags type, which operates identically to the new
CORJIT_FLAGS type.

In addition to introducing the new CORJIT_FLAGS type, the SSE/AVX flags are
enabled for x86.

The JIT-EE interface GUID is changed, as this is a breaking change.

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

7 years agoMerge pull request dotnet/coreclr#7803 from AlexGhiondea/Fix_SB
AlexGhiondea [Thu, 27 Oct 2016 18:55:16 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#7803 from AlexGhiondea/Fix_SB

Make sure that when the StringBuilder.Append method is called we firs…

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

7 years agoImplement initThisClass for generic types in ReadyToRun (dotnet/coreclr#7842)
Michal Strehovský [Thu, 27 Oct 2016 18:11:52 +0000 (11:11 -0700)]
Implement initThisClass for generic types in ReadyToRun (dotnet/coreclr#7842)

Only implementing the RyuJIT portion for CoreRT purposes (CoreRT side at dotnet/corertdotnet/coreclr#2085).
I can file an issue to add support for this in CoreCLR if there's interest. On CoreCLR this is currently a disqualification from ReadyToRun and causes fallback to JITting.

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

7 years agoMerge pull request dotnet/coreclr#7839 from rahku/_appdomain
Rahul Kumar [Thu, 27 Oct 2016 18:11:04 +0000 (11:11 -0700)]
Merge pull request dotnet/coreclr#7839 from rahku/_appdomain

expose events from AppDomain via AssemblyLoadContext

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

7 years agoexpose events from AppDomain via AssemblyLoadContext
Rahul Kumar [Thu, 27 Oct 2016 01:14:39 +0000 (18:14 -0700)]
expose events from AppDomain via AssemblyLoadContext

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

7 years agoFix PDB creation for Ready-to-Run image of facade assemblies
dotnet-bot [Thu, 27 Oct 2016 17:34:18 +0000 (10:34 -0700)]
Fix PDB creation for Ready-to-Run image of facade assemblies

[tfs-changeset: 1635538]

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

7 years agoProperly spell class name in comments (dotnet/coreclr#7821)
Dmitry-Me [Thu, 27 Oct 2016 16:45:34 +0000 (19:45 +0300)]
Properly spell class name in comments (dotnet/coreclr#7821)

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

7 years agoFixed gcinfoencoder build errors. (dotnet/coreclr#7826)
Jim Ma [Thu, 27 Oct 2016 08:37:22 +0000 (16:37 +0800)]
Fixed gcinfoencoder build errors. (dotnet/coreclr#7826)

MEASURE_INFO switch now depends on _DEBUG switch. Ensure NumUntracked,
UntrackedSlotSize, NumUntrackedSize and EncPreservedSlots fields handled correctly in
GcInfoSize::operator+=() and GCInfoSize::Log().

fix dotnet/coreclr#6008

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

7 years agoAdd the missing ICU APIs to the ICU shim (dotnet/coreclr#7840)
Tarek Mahmoud Sayed [Thu, 27 Oct 2016 08:16:07 +0000 (01:16 -0700)]
Add the missing ICU APIs to the ICU shim (dotnet/coreclr#7840)

there was a change done by the PR dotnet/coreclr#7773 which removed the dependency on ICU version. and there is another PR dotnet/coreclr#7811 which used more ICU APIs not listed in the shim.
the change here is to add these APIs to the shim

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

7 years agoUse getLocationOfThisType instead of embedGenericHandle (dotnet/coreclr#7813)
Michal Strehovský [Thu, 27 Oct 2016 02:57:41 +0000 (19:57 -0700)]
Use getLocationOfThisType instead of embedGenericHandle (dotnet/coreclr#7813)

getLocationOfThisType does way less work and gives the same result (the part we care about).

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

7 years ago[ARM/CI] Change the name of corefx project (dotnet/coreclr#7820)
Hanjoung Lee [Thu, 27 Oct 2016 02:45:46 +0000 (11:45 +0900)]
[ARM/CI] Change the name of corefx project (dotnet/coreclr#7820)

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

7 years agoMerge pull request dotnet/coreclr#7787 from sivarv/cmpOpt
Sivarv [Thu, 27 Oct 2016 02:15:23 +0000 (19:15 -0700)]
Merge pull request dotnet/coreclr#7787 from sivarv/cmpOpt

Optimize 'test' instruction in case of op1 == 0 or op1 != 0 where op1 is known to set Zero flag.

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

7 years agoMerge pull request dotnet/coreclr#7828 from MichalStrehovsky/readyToRunGenericStaticB...
Michal Strehovský [Thu, 27 Oct 2016 00:50:15 +0000 (17:50 -0700)]
Merge pull request dotnet/coreclr#7828 from MichalStrehovsky/readyToRunGenericStaticBaseValueNum

Fix value numbering of ReadyToRunGenericStaticBase

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

7 years agoMerge pull request dotnet/coreclr#7746 from AndyAyersMS/LessGCLayout
Andy Ayers [Thu, 27 Oct 2016 00:33:46 +0000 (17:33 -0700)]
Merge pull request dotnet/coreclr#7746 from AndyAyersMS/LessGCLayout

Jit: use class attributes check to reduce GC layout asks

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

7 years agoMake sure that when the StringBuilder.Append method is called we first check that...
Alex Ghiondea [Tue, 25 Oct 2016 20:51:28 +0000 (13:51 -0700)]
Make sure that when the StringBuilder.Append method is called we first check that we can insert as many characters as were requested before we actually start writting them into the StringBuilder.

This will prevent the case when we realize that there is not enough space in the StringBuilder (and we cannot grow it as much as it is requested) after we already wrote stuff in it.

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

7 years agoAllow Ready-to-Run image to be loaded multiple times (dotnet/coreclr#7809)
John Chen [Wed, 26 Oct 2016 20:49:54 +0000 (13:49 -0700)]
Allow Ready-to-Run image to be loaded multiple times (dotnet/coreclr#7809)

Address issue dotnet/coreclr#6695 by porting the fix from desktop CLR.

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

7 years agoFix value numbering of ReadyToRunGenericStaticBase
Michal Strehovský [Wed, 26 Oct 2016 19:41:14 +0000 (12:41 -0700)]
Fix value numbering of ReadyToRunGenericStaticBase

Fixes dotnet/corertdotnet/coreclr#2080.

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

7 years agoAdd Misc types to InteropServices
Faizur Rahman [Wed, 26 Oct 2016 00:29:16 +0000 (17:29 -0700)]
Add Misc types to InteropServices

Add the following types to InteropServices:
- AutomationProxyAttribute
- ComAliasNameAttribute
- ComCompatibleVersionAttribute
- ComConversionLossAttribute
- ComRegisterFunctionAttribute
- ComUnregisterFunctionAttribute
- ICustomFactory
- ICustomMarshaler
- ImportedFromTypeLibAttribute
- LCIDConversionAttribute
- ManagedToNativeComInteropStubAttribute
- PrimaryInteropAssemblyAttribute
- ProgIdAttribute
- TypeLibImportClassAttribute
- TypeLibVersionAttribute

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

7 years agoOptimize 'test' instruction for op1 == 0 and op1 != 0 where op1 is known to set flags.
sivarv [Tue, 25 Oct 2016 23:52:08 +0000 (16:52 -0700)]
Optimize 'test' instruction for op1 == 0 and op1 != 0 where op1 is known to set flags.

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

7 years agoUpdate CoreClr, CoreFx to beta-24625-03, beta-24625-02, respectively (master) (dotnet...
Davis Goodin [Wed, 26 Oct 2016 18:52:41 +0000 (13:52 -0500)]
Update CoreClr, CoreFx to beta-24625-03, beta-24625-02, respectively (master) (dotnet/coreclr#7804)

* Update CoreClr, CoreFx to beta-24625-03, beta-24625-02, respectively

* Upgrade S.R.Serialization.Primitives to prerelease

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

7 years agoMerge pull request dotnet/coreclr#7808 from pgavlin/VSO280103
Pat Gavlin [Wed, 26 Oct 2016 16:59:37 +0000 (09:59 -0700)]
Merge pull request dotnet/coreclr#7808 from pgavlin/VSO280103

Clear side-effect flags on local reads in rationalize.

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

7 years agoMerge pull request dotnet/coreclr#7823 from adiaaida/checkformatlocation
Michelle McDaniel [Wed, 26 Oct 2016 16:15:46 +0000 (09:15 -0700)]
Merge pull request dotnet/coreclr#7823 from adiaaida/checkformatlocation

Fix format.py to look for .bat on Windows

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

7 years agoFix format.py to look for .bat on Windows
Michelle McDaniel [Wed, 26 Oct 2016 15:45:10 +0000 (08:45 -0700)]
Fix format.py to look for .bat on Windows

https://github.com/dotnet/jitutils/pull/56 changed the file extension for
the script files on Windows to be .bat, so the format.py script needs to
be updated.

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

7 years agoEnable CultureInfo netstandard 1.7 APIs on Linux (dotnet/coreclr#7811)
Tarek Mahmoud Sayed [Wed, 26 Oct 2016 15:37:53 +0000 (08:37 -0700)]
Enable CultureInfo netstandard 1.7 APIs on Linux (dotnet/coreclr#7811)

* Enable CultureInfo netstandard 1.7 APIs on Linux

* fix spaces

* Use Array.Empty<CultureInfo> instead of CultureInfo[0]

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

7 years agoRemove dependency of System.Globalization.Native.so on specific ICU version (dotnet...
Jan Vorlicek [Wed, 26 Oct 2016 09:46:24 +0000 (11:46 +0200)]
Remove dependency of System.Globalization.Native.so on specific ICU version (dotnet/coreclr#7773)

Remove dependency of System.Globalization.Native.so on specific ICU version

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

7 years agoMerge pull request dotnet/coreclr#7816 from ramarag/ThreadingOverlapped
Rama krishnan Raghupathy [Wed, 26 Oct 2016 05:47:27 +0000 (22:47 -0700)]
Merge pull request dotnet/coreclr#7816 from ramarag/ThreadingOverlapped

Adding missing members of threading.overlapped

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

7 years agoMerge pull request dotnet/coreclr#7806 from sandreenko/fix-VSO-278365
sandreenko [Wed, 26 Oct 2016 05:32:11 +0000 (22:32 -0700)]
Merge pull request dotnet/coreclr#7806 from sandreenko/fix-VSO-278365

RyuJIT/x86: fix VSO 278365

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

7 years agoMerge pull request dotnet/coreclr#7814 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 26 Oct 2016 04:36:19 +0000 (21:36 -0700)]
Merge pull request dotnet/coreclr#7814 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoAdding missing members of threading.overlapped
Rama Krishnan Raghupathy [Wed, 26 Oct 2016 03:25:03 +0000 (20:25 -0700)]
Adding missing members of threading.overlapped

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

7 years agoFix build break caused by git commit for AppDomain::GetAssemblies
Rahul Kumar [Wed, 26 Oct 2016 00:15:57 +0000 (17:15 -0700)]
Fix build break caused by git commit for AppDomain::GetAssemblies

[tfs-changeset: 1635147]

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

7 years agoMerge pull request dotnet/coreclr#7802 from pgavlin/VSO279829
Pat Gavlin [Tue, 25 Oct 2016 22:55:07 +0000 (15:55 -0700)]
Merge pull request dotnet/coreclr#7802 from pgavlin/VSO279829

Do not promote long-typed args in methods that use JMP.

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

7 years agofix VSO 278365
Sergey Andreenko [Tue, 25 Oct 2016 21:54:52 +0000 (14:54 -0700)]
fix VSO 278365

don't convert (int) ((double)Round(double))  to  (int)Round(double) on
RyuJit/x86

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

7 years agoMerge pull request dotnet/coreclr#7751 from ramarag/MemFailPoint
Rama krishnan Raghupathy [Tue, 25 Oct 2016 22:36:23 +0000 (15:36 -0700)]
Merge pull request dotnet/coreclr#7751 from ramarag/MemFailPoint

Making MemoryFailPoint functional on xplat

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

7 years agoMerge pull request dotnet/coreclr#7800 from BruceForstall/ChangeJITGuid
Bruce Forstall [Tue, 25 Oct 2016 22:03:15 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#7800 from BruceForstall/ChangeJITGuid

Change JIT-EE interface GUID

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

7 years agoMaking MemoryFailPoint functional on xplat
Rama Krishnan Raghupathy [Fri, 7 Oct 2016 23:55:19 +0000 (16:55 -0700)]
Making MemoryFailPoint functional on xplat
Expose GlobalMemoryStatusEx on Xplat

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

7 years agoClear side-effect flags on local reads in rationalize.
Pat Gavlin [Tue, 25 Oct 2016 21:56:56 +0000 (14:56 -0700)]
Clear side-effect flags on local reads in rationalize.

These operations are always side-effect free.

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

7 years agoMerge pull request dotnet/coreclr#7786 from rahku/_appdomain
Rahul Kumar [Tue, 25 Oct 2016 21:43:04 +0000 (14:43 -0700)]
Merge pull request dotnet/coreclr#7786 from rahku/_appdomain

Add implementation of AppDomain.GetAssemblies

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

7 years agoAdd implementation of AppDomain.GetAssemblies
Rahul Kumar [Mon, 24 Oct 2016 21:46:40 +0000 (14:46 -0700)]
Add implementation of AppDomain.GetAssemblies

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

7 years agoDo not promote long-typed args in methods that use JMP.
Pat Gavlin [Tue, 25 Oct 2016 19:55:15 +0000 (12:55 -0700)]
Do not promote long-typed args in methods that use JMP.

On x86, methods that use JMP must ensure that all incoming arguments are
located in the appropriate stack slots/registers. To ensure that this is
true for long-typed arguments, do not promote these arguments in such
methods.

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

7 years agoMerge pull request dotnet/coreclr#7799 from adiaaida/fixRotateFlagCheck
Michelle McDaniel [Tue, 25 Oct 2016 19:24:21 +0000 (12:24 -0700)]
Merge pull request dotnet/coreclr#7799 from adiaaida/fixRotateFlagCheck

Fix flag check when morphing into rotate

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

7 years agoMerge pull request dotnet/coreclr#7798 from AndyAyersMS/FixObservationImpact
Andy Ayers [Tue, 25 Oct 2016 18:57:54 +0000 (11:57 -0700)]
Merge pull request dotnet/coreclr#7798 from AndyAyersMS/FixObservationImpact

Inliner: fix RARE_GC_STRUCT observation impact

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

7 years agoChange JIT-EE interface GUID
Bruce Forstall [Tue, 25 Oct 2016 18:39:54 +0000 (11:39 -0700)]
Change JIT-EE interface GUID

This should have been changed with dotnet/coreclr#7672. However, changing it now
will help prevent unexpected bad interactions with SuperPMI and other
tools that expect the old interface.

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

7 years agoFix flag check when morphing into rotate
Michelle McDaniel [Tue, 25 Oct 2016 17:09:06 +0000 (10:09 -0700)]
Fix flag check when morphing into rotate

When we morphed a tree into a rotate, we assumed that the parent's flags
would be the same as its operands' flags, when in actuality, the parent's
flags should be a superset of its operands' flags. This change fixes the
flag check.

Fixes VSO 278374.

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

7 years agoCheck index before access (dotnet/coreclr#7795)
Dmitry-Me [Tue, 25 Oct 2016 17:02:55 +0000 (20:02 +0300)]
Check index before access (dotnet/coreclr#7795)

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

7 years agoAdd more lldbplugin/libsosplugin tests (dotnet/coreclr#5606)
Ivan Baravy [Tue, 25 Oct 2016 16:32:15 +0000 (20:32 +0400)]
Add more lldbplugin/libsosplugin tests (dotnet/coreclr#5606)

* Add more libsosplugin tests, update framework

+ Introduce test.assert* functions in testutils.py
+ Print test results as a table with failed assertions highlighted
+ PEP8!

* Add more lldbplugin/libsosplugin tests

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

7 years agoInliner: fix RARE_GC_STRUCT observation impact
Andy Ayers [Tue, 25 Oct 2016 16:31:47 +0000 (09:31 -0700)]
Inliner: fix RARE_GC_STRUCT observation impact

Closes dotnet/coreclr#7792.

Since this observation isn't always fatal, change its impact to INFORMATION.
Also, refresh the assertion checking around fatal observations so that the
EnhancedLegacyPolicy (which is the current default) will catch this kind of
error going forward.

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

7 years agoDo not materialize CAS PseudoCustomAttribute (dotnet/coreclr#7794)
Jan Kotas [Tue, 25 Oct 2016 16:02:38 +0000 (09:02 -0700)]
Do not materialize CAS PseudoCustomAttribute (dotnet/coreclr#7794)

Do not materialize CAS permissionsets as custom attributes in reflection. We are just providing the CAS types in corefx to make things compile, but nothing else.

Fix https://github.com/dotnet/corefx/issues/12759

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

7 years agoAdd few Interop Marshal APIs (dotnet/coreclr#7742)
Faizur Rahman [Tue, 25 Oct 2016 04:21:29 +0000 (21:21 -0700)]
Add few Interop Marshal APIs (dotnet/coreclr#7742)

Add the following interop Marshal APIs:
M:System.Runtime.InteropServices.Marshal.GenerateGuidForType(System.Type)
M:System.Runtime.InteropServices.Marshal.GenerateProgIdForType(System.Type)
M:System.Runtime.InteropServices.Marshal.GetComObjectData(System.Object,System.Object)
M:System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Module)
M:System.Runtime.InteropServices.Marshal.GetIDispatchForObject(System.Object)
M:System.Runtime.InteropServices.Marshal.GetTypedObjectForIUnknown(System.IntPtr,System.Type)
M:System.Runtime.InteropServices.Marshal.PtrToStringAuto(System.IntPtr)
M:System.Runtime.InteropServices.Marshal.SetComObjectData(System.Object,System.Object,System.Object)
M:System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(System.String)
M:System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(System.String)

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

7 years agoFix typos in windows build instructions (dotnet/coreclr#7789)
Daniel Podder [Tue, 25 Oct 2016 04:14:54 +0000 (21:14 -0700)]
Fix typos in windows build instructions (dotnet/coreclr#7789)

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

7 years agoFix performance problem introduced in previous change. (dotnet/coreclr#7783)
Mike McLaughlin [Tue, 25 Oct 2016 01:59:13 +0000 (18:59 -0700)]
Fix performance problem introduced in previous change. (dotnet/coreclr#7783)

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

7 years agoMerge pull request dotnet/coreclr#7782 from sandreenko/fix-tfs-build
sandreenko [Mon, 24 Oct 2016 23:54:56 +0000 (16:54 -0700)]
Merge pull request dotnet/coreclr#7782 from sandreenko/fix-tfs-build

fix tfs build crash

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

7 years agofix tfs build crash
Sergey Andreenko [Mon, 24 Oct 2016 21:33:13 +0000 (14:33 -0700)]
fix tfs build crash

ifdef EE version statements were forgotten in two files.
Braket was on the wrong line.

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

7 years agoMerge pull request dotnet/coreclr#7778 from ianhays/binaryreadwrite_buffers
Ian Hays [Mon, 24 Oct 2016 22:23:03 +0000 (15:23 -0700)]
Merge pull request dotnet/coreclr#7778 from ianhays/binaryreadwrite_buffers

Add some extra checks to BinaryReader/Writer buffers

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

7 years agoAdd back call to BitArray::ClearAll (dotnet/coreclr#7779)
Jan Kotas [Mon, 24 Oct 2016 22:16:12 +0000 (15:16 -0700)]
Add back call to BitArray::ClearAll (dotnet/coreclr#7779)

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

7 years agoMerge pull request dotnet/coreclr#7706 from mjsabby/lcgjitprofcallbacks
noahfalk [Mon, 24 Oct 2016 21:51:12 +0000 (14:51 -0700)]
Merge pull request dotnet/coreclr#7706 from mjsabby/lcgjitprofcallbacks

Add LCG JIT Compilation Profiler Callbacks

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

7 years agoMerge pull request dotnet/coreclr#7776 from sivarv/lsraStatFix
Sivarv [Mon, 24 Oct 2016 20:44:43 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#7776 from sivarv/lsraStatFix

Fix the condition to dump a basic block stats.

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

7 years agoPR feedback for BinaryReader/Writer buffers
Ian Hays [Mon, 24 Oct 2016 20:26:42 +0000 (13:26 -0700)]
PR feedback for BinaryReader/Writer buffers

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

7 years agoAdd some extra checks to BinaryReader/Writer buffers
Ian Hays [Mon, 24 Oct 2016 20:09:36 +0000 (13:09 -0700)]
Add some extra checks to BinaryReader/Writer buffers

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

7 years agoMerge pull request dotnet/coreclr#7775 from ianhays/cfg_arm64
Ian Hays [Mon, 24 Oct 2016 19:58:19 +0000 (12:58 -0700)]
Merge pull request dotnet/coreclr#7775 from ianhays/cfg_arm64

Add CFG flag to ARM64 build

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

7 years agoMerge pull request dotnet/coreclr#7772 from jkotas/gcinfo-cleanup
Jan Kotas [Mon, 24 Oct 2016 18:51:06 +0000 (11:51 -0700)]
Merge pull request dotnet/coreclr#7772 from jkotas/gcinfo-cleanup

GCInfoDecoder cleanup

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

7 years agoFix the condition to dump a basic block stats.
sivarv [Mon, 24 Oct 2016 18:42:03 +0000 (11:42 -0700)]
Fix the condition to dump a basic block stats.

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

7 years agoAdd CFG flag to ARM64 build
Ian Hays [Mon, 24 Oct 2016 18:04:03 +0000 (11:04 -0700)]
Add CFG flag to ARM64 build

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

7 years agoMerge pull request dotnet/coreclr#7720 from Dmitry-Me/fixBrokenComparison
Pat Gavlin [Mon, 24 Oct 2016 15:54:25 +0000 (08:54 -0700)]
Merge pull request dotnet/coreclr#7720 from Dmitry-Me/fixBrokenComparison

Fix broken range check

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

7 years agoReplace LPVOID with void*
Jan Kotas [Mon, 24 Oct 2016 14:59:16 +0000 (07:59 -0700)]
Replace LPVOID with void*

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

7 years agoSimplify GCINFODECODER_CONTRACT
Jan Kotas [Mon, 24 Oct 2016 04:31:29 +0000 (21:31 -0700)]
Simplify GCINFODECODER_CONTRACT

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

7 years agoDelete DISABLE_EH_VECTORS
Jan Kotas [Mon, 24 Oct 2016 04:11:49 +0000 (21:11 -0700)]
Delete DISABLE_EH_VECTORS

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

7 years agoDelete _TARGET_SET_ macro
Jan Kotas [Mon, 24 Oct 2016 01:21:22 +0000 (18:21 -0700)]
Delete _TARGET_SET_ macro

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

7 years agoFixed month calculating issue of calendars(dotnet/coreclr#7666) (dotnet/coreclr#7769)
Jim Ma [Sat, 22 Oct 2016 16:19:57 +0000 (00:19 +0800)]
Fixed month calculating issue of calendars(dotnet/coreclr#7666) (dotnet/coreclr#7769)

Fixed the issue introduced by misunderstanding the precedence of '+' and
'>>'.

fix dotnet/coreclr#7666

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

7 years agoFix Binder based PInvoke resolution for dynamic assembly (dotnet/coreclr#7770)
Gaurav Khanna [Sat, 22 Oct 2016 16:18:26 +0000 (09:18 -0700)]
Fix Binder based PInvoke resolution for dynamic assembly (dotnet/coreclr#7770)

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

7 years agoFixing the StackOverflowException error message. (dotnet/coreclr#4786)
Vijay Ramakrishnan [Sat, 22 Oct 2016 11:51:20 +0000 (04:51 -0700)]
Fixing the StackOverflowException error message. (dotnet/coreclr#4786)

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

7 years agoFixed typos and format issues on clr-code-guide doc(dotnet/coreclr#7767) (dotnet...
Jim Ma [Sat, 22 Oct 2016 11:13:17 +0000 (19:13 +0800)]
Fixed typos and format issues on clr-code-guide doc(dotnet/coreclr#7767) (dotnet/coreclr#7768)

There're several typos and format issues. Just fixed them.

Fix issue dotnet/coreclr#7767

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

7 years agoPort GC changes from CoreRT (dotnet/coreclr#7764)
Jan Kotas [Sat, 22 Oct 2016 05:07:29 +0000 (22:07 -0700)]
Port GC changes from CoreRT (dotnet/coreclr#7764)

https://github.com/dotnet/corert/pull/2064: Add back limit for maximum object size
https://github.com/dotnet/corert/pull/2061: Fix retail build break

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

7 years agoFix broken #elif (dotnet/coreclr#7756)
Dmitry-Me [Sat, 22 Oct 2016 04:05:09 +0000 (07:05 +0300)]
Fix broken #elif (dotnet/coreclr#7756)

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

7 years agoAdd Profiling API callbacks for R2R methods (dotnet/coreclr#7732)
Mukul Sabharwal [Sat, 22 Oct 2016 02:45:06 +0000 (19:45 -0700)]
Add Profiling API callbacks for R2R methods (dotnet/coreclr#7732)

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

7 years agoMerge pull request dotnet/coreclr#7749 from sivarv/VectorIntDot
Sivarv [Sat, 22 Oct 2016 02:36:25 +0000 (19:36 -0700)]
Merge pull request dotnet/coreclr#7749 from sivarv/VectorIntDot

Recognize Vector<int>.Dot on AVX as a JIT intrinsic.

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

7 years agoImprove ArraySegment's override of GetHashCode (dotnet/coreclr#4654)
James Ko [Sat, 22 Oct 2016 01:21:27 +0000 (21:21 -0400)]
Improve ArraySegment's override of GetHashCode (dotnet/coreclr#4654)

* Improve ArraySegment's override of GetHashCode

* Use new implementation suggested by @VSadov

* Respond to PR feedback

* Remove the workaround for object.GetHashCode

* Respond to HashHelpers changes

* Fix compile errors.

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

7 years agoMerge pull request dotnet/coreclr#7739 from pgavlin/DisableGCStressIncompatibleTests
Pat Gavlin [Sat, 22 Oct 2016 01:21:01 +0000 (18:21 -0700)]
Merge pull request dotnet/coreclr#7739 from pgavlin/DisableGCStressIncompatibleTests

Mark tests GCStress-incompatible for x86.

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

7 years agoMerge pull request dotnet/coreclr#7760 from pgavlin/VSO279832
Pat Gavlin [Sat, 22 Oct 2016 00:24:17 +0000 (17:24 -0700)]
Merge pull request dotnet/coreclr#7760 from pgavlin/VSO279832

Properly initialize the varargs base lclVar.

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

7 years agoMerge pull request dotnet/coreclr#7759 from pgavlin/VSO278367
Pat Gavlin [Sat, 22 Oct 2016 00:22:49 +0000 (17:22 -0700)]
Merge pull request dotnet/coreclr#7759 from pgavlin/VSO278367

Initialize long return type descs in `gtNewCallNode`.

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

7 years agoInitialize member variable (dotnet/coreclr#7737)
Dmitry-Me [Fri, 21 Oct 2016 23:38:45 +0000 (02:38 +0300)]
Initialize member variable (dotnet/coreclr#7737)

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

7 years agoOptimize Vector<int>.Dot on AVX.
sivarv [Thu, 20 Oct 2016 21:46:00 +0000 (14:46 -0700)]
Optimize Vector<int>.Dot on AVX.

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

7 years agoMerge pull request dotnet/coreclr#7755 from dotnet-bot/from-tfs
Bruce Forstall [Fri, 21 Oct 2016 22:50:36 +0000 (15:50 -0700)]
Merge pull request dotnet/coreclr#7755 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#7754 from ramarag/Threading
Rama krishnan Raghupathy [Fri, 21 Oct 2016 22:40:14 +0000 (15:40 -0700)]
Merge pull request dotnet/coreclr#7754 from ramarag/Threading

Exposing Some Threading Apis

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

7 years agoAdding Isafeserializationdata interface
Rama Krishnan Raghupathy [Fri, 21 Oct 2016 22:25:49 +0000 (15:25 -0700)]
Adding Isafeserializationdata interface

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

7 years agoAddress CR feedback
Mukul Sabharwal [Fri, 21 Oct 2016 22:20:02 +0000 (15:20 -0700)]
Address CR feedback

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

7 years agoProperly initialize the varargs base lclVar.
Pat Gavlin [Fri, 21 Oct 2016 21:39:18 +0000 (14:39 -0700)]
Properly initialize the varargs base lclVar.

The code that initializes this lclVar was not using the correct helper
to determine whether or not a lclVar was enregistered at the beginning
of a method.

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

7 years agoMerge pull request dotnet/coreclr#7672 from sandreenko/helper-for-corert
sandreenko [Fri, 21 Oct 2016 21:19:18 +0000 (14:19 -0700)]
Merge pull request dotnet/coreclr#7672 from sandreenko/helper-for-corert

Ready to run helper for static base lookups in shared generic code

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

7 years agoMerge pull request dotnet/coreclr#7743 from sandreenko/frozen_strings
sandreenko [Fri, 21 Oct 2016 21:09:30 +0000 (14:09 -0700)]
Merge pull request dotnet/coreclr#7743 from sandreenko/frozen_strings

fix value numbering for frozen strings.

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