Faizur Rahman [Fri, 28 Oct 2016 01:11:38 +0000 (18:11 -0700)]
Update S.R.InteropServices to ns2.0
This is the final diff with net standard 2.0 except the SecureString functions. In particular,it adds the following:
M Marshal.BindToMoniker(System.String)
M Marshal.ChangeWrapperHandleStrength(System.Object,System.Boolean)
M ExternalException.ToString
T HandleRef
Commit migrated from https://github.com/dotnet/coreclr/commit/
d054bb5ca408523a1985e2c044e0e76e4da9d616
Pat Gavlin [Mon, 31 Oct 2016 18:07:46 +0000 (11:07 -0700)]
Merge pull request dotnet/coreclr#7758 from pgavlin/VSO267565
Fix P/Invoke cookie passing on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1b899b9e67426a7cdbb69ca2be708745c126b59
AlexGhiondea [Mon, 31 Oct 2016 17:05:18 +0000 (10:05 -0700)]
Merge pull request dotnet/coreclr#7901 from AlexGhiondea/FixBinCompat
Get latest behavior when missing TFM for BinaryCompatibility class
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec5868c2d7b316cc810cc6cec4c845e3a7e9936d
Alex Ghiondea [Mon, 31 Oct 2016 14:26:59 +0000 (07:26 -0700)]
When reading the TFM for the BinaryCompatibility class on CoreCLR, set the TFM to be the latest version we have in our code.
This ensures that we are going to get the latest behavior (4.5.2+) for all the quirks that were using that class.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c271173aef317bcddc1d6283c82f2c7b2ad52e30
Stephen Toub [Mon, 31 Oct 2016 13:03:30 +0000 (09:03 -0400)]
Merge pull request dotnet/coreclr#7897 from stephentoub/stream_copyto
Use ArrayPool in Stream.CopyTo{Async}
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0273bc608988926afe8263b2a375e906f13e653
Stephen Toub [Mon, 31 Oct 2016 11:05:13 +0000 (07:05 -0400)]
Remove StreamHelpers.ArrayPoolCopy.cs
It's no longer necessary now that Stream.CopyToAsync itself uses ArrayPool.
Commit migrated from https://github.com/dotnet/coreclr/commit/
669ce2cff1bc0b19d6ac8e94ea1c5add5e4b797a
Peter Marcu [Mon, 31 Oct 2016 10:55:44 +0000 (03:55 -0700)]
Fixing Typo in variable name in DateTime (dotnet/coreclr#7898)
Commit migrated from https://github.com/dotnet/coreclr/commit/
33176e660082aadf338ac6823f91e38f0345af70
Michal Strehovský [Mon, 31 Oct 2016 05:45:58 +0000 (22:45 -0700)]
Avoid boxing in calls to enum's GetHashCode (dotnet/coreclr#7895)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4ba6ee6aeb8e809142b7feab16115166529fc6d
Peter Marcu [Mon, 31 Oct 2016 05:28:45 +0000 (22:28 -0700)]
DateTime.ToString() Fast Track for RFC1123 (dotnet/coreclr#7891)
* DateTime.ToString() Fast Track for RFC1123
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c0d01c19842049b2389ec9bee2885be918b9597
Pat Gavlin [Fri, 21 Oct 2016 21:08:11 +0000 (14:08 -0700)]
Fix P/Invoke cookie passing on x86.
On x86, the P/Invoke cookie (when required) is passed on the stack
after all other stack arguments (if any).
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe480e99ef007cb8e2948a5646fcb8c62f37e9ff
Stephen Toub [Mon, 31 Oct 2016 02:08:26 +0000 (22:08 -0400)]
Use ArrayPool in Stream.CopyTo{Async}
Commit migrated from https://github.com/dotnet/coreclr/commit/
7dea66e10861b82f3f90d68194f55cea58462b9d
Bruce Forstall [Sun, 30 Oct 2016 09:34:49 +0000 (02:34 -0700)]
Work around a Visual C++ silent bad code generation bug (dotnet/coreclr#7890)
Fixes dotnet/coreclr#7837
The full description of the problem is in that issue.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fc65f37cd4bf5989647f6e1a48da6821ea5adbd
Jim Ma [Sat, 29 Oct 2016 17:47:15 +0000 (01:47 +0800)]
Remove unnecessary assert. (dotnet/coreclr#7889)
Remvoe the unneccessary assert that might cause a bug.
fix dotnet/coreclr#6856
Commit migrated from https://github.com/dotnet/coreclr/commit/
d64c7d60fcc8132c8a57c5c3c9d6e296232520dd
Marek Linka [Sat, 29 Oct 2016 14:41:18 +0000 (16:41 +0200)]
Cleanup: Remove BitArray from mscorlib (dotnet/coreclr#7888)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e507c2856a175696b3f4f9bf952681b0f4e23286
Sean Gillespie [Sat, 29 Oct 2016 01:19:35 +0000 (18:19 -0700)]
Fix a race condition in the test build (dotnet/coreclr#7810)
* Fix a race condition in the test build
* Move dir.targets to the Tests directory
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d49a9b30a5f74827f0372a19aa4537248965f4e
Jeremy Kuhne [Sat, 29 Oct 2016 00:13:41 +0000 (17:13 -0700)]
Merge pull request dotnet/coreclr#7882 from JeremyKuhne/fixarraypool
Align ArrayPool to shared code pattern
Commit migrated from https://github.com/dotnet/coreclr/commit/
45a489c9c58c53d51e917046abcb1aa98565ee20
Peter Marcu [Sat, 29 Oct 2016 00:08:43 +0000 (17:08 -0700)]
DateTime.ToString(“o”) allocates 32 objects, (dotnet/coreclr#7836)
* Enabling a lower allocating DateTime.ToString('o')
Commit migrated from https://github.com/dotnet/coreclr/commit/
026beb938949ac4390f67f6c79248fd7be7311c1
Jeremy Kuhne [Fri, 28 Oct 2016 21:56:24 +0000 (14:56 -0700)]
Align ArrayPool to shared code pattern
Move the ArrayPool code to the shared location. Also use wraps to make
code identical to CoreFX. (Fixing an exception message issue.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a7f5ead07e244e89df5602a4d5d477aa1f14b4b
Jeremy Kuhne [Fri, 28 Oct 2016 21:38:25 +0000 (14:38 -0700)]
Merge pull request dotnet/coreclr#7817 from JeremyKuhne/movefs
Copy CoreFX FileStream to CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
81c42cecca5e1b0b802d4df980280750d2e1419e
Jan Vorlicek [Fri, 28 Oct 2016 21:32:45 +0000 (23:32 +0200)]
Remove some unused PAL functions (dotnet/coreclr#7873)
This change removes some unused PAL functions and the corresponding PAL tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac0a1464d00edf9f90a6737271197c30fdd32d6e
Pat Gavlin [Fri, 28 Oct 2016 20:44:02 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#7832 from pgavlin/VSO279868
Correct indirect P/Invoke call prlogs on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0aa67ff0f125d922effc4ef3526b6d1bf671a692
Sivarv [Fri, 28 Oct 2016 20:30:33 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#3941 from sivarv/MultiRegCallNodes
Design to support Multi-reg GT_CALL/GT_RETURN nodes (for x64/unix, arm64, x86, arm32)
Commit migrated from https://github.com/dotnet/coreclr/commit/
06e76c2c258963f4a9af32ae0b9640d9f8949ae2
Pat Gavlin [Fri, 28 Oct 2016 20:30:30 +0000 (13:30 -0700)]
Fix formatting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bb48f39e74e9565f8894f480c57174c0cd279e2
sivarv [Sat, 22 Oct 2016 03:03:43 +0000 (20:03 -0700)]
Multi-reg call node design doc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce86c8acd82d6669b370b374fd6668b266703ae4
Bruce Forstall [Fri, 28 Oct 2016 18:56:56 +0000 (11:56 -0700)]
Merge pull request dotnet/coreclr#7864 from BruceForstall/simd
Initial RyuJIT x86 SIMD support
Commit migrated from https://github.com/dotnet/coreclr/commit/
e03b224c208d77f585e409fffedf28b396be538d
Jeremy Kuhne [Wed, 26 Oct 2016 04:52:41 +0000 (21:52 -0700)]
Copy CoreFX FileStream to CoreLib
This copies FileStream to CoreLib and uses it in place of the legacy
FileStream. Code is mostly a direct copy with the addition of a few
internal constructor overloads.
Adds a simple Debug wrapper for BCLDebug to allow keeping the code
the same. Also follows the same pattern for SR wrapping.
Needed to bring down PreAllocatedOverlapped.
- Expose FileStream in model.xml
- Remove native usage of FileStreamAsyncResult
- #ifdef SafeFileHandle creation in existing code (to avoid mismatched
PAL/CoreFX usage)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a7fb90eb479450cd5671e4531336dea7c072492
John Chen [Fri, 28 Oct 2016 18:48:58 +0000 (11:48 -0700)]
Ensure the module slot in R2R image can be located (dotnet/coreclr#7875)
Each Ready-to-Run image has a slot for storing a pointer to the Module
object associated with this image. However, if the image contains no
code (e.g., facade assemblies), the import table needed to locate
this slot wasn't written out, so the runtime couldn't find this slot.
This casued "crossgen /createpdb" command to fail on facade assemblies
after PR dotnet/coreclr#7809, and required a workaround (commit c4d8994).
This commit ensures writing the import table needed to locate the
slot for module. It also removes the workaround in commit c4d8994,
which is no longer necessary.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d945336a9307eaaf59f985e4ec2c1b5b8c052b4
Drew Scoggins [Fri, 28 Oct 2016 18:32:14 +0000 (11:32 -0700)]
Merge pull request dotnet/coreclr#7835 from DrewScoggins/coreclr-perf
Adding CoreCLR Perf support for Jenkins
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfcc8d72d9e11af945c7dff80f923ba0575f158c
Jan Kotas [Fri, 28 Oct 2016 14:42:28 +0000 (07:42 -0700)]
Merge pull request dotnet/coreclr#7872 from jkotas/revert-tuple-hash
Revert changes in tuple hashing algorithm
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a3ac1852eafd1556e986cb8343bdedf5a9c61ac
Jan Kotas [Fri, 28 Oct 2016 11:25:48 +0000 (04:25 -0700)]
Add comment about F# dependency on hashing algorithm
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea5de57d774bc8558064d3111028d6a94068f115
Jan Kotas [Fri, 28 Oct 2016 11:20:21 +0000 (04:20 -0700)]
Revert "Better Tuple hashing, avoid boxing in Equals/GetHashCode (dotnet/coreclr#6767)"
This reverts commit dotnet/coreclr@
361e6eb85c74b57691955d97dda801d725cd2a59.
Conflicts:
src/mscorlib/mscorlib.shared.sources.props
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ebb94e3fe54fab92bbf1b45d36b2b469e68be39
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
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
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
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
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
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
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
Bruce Forstall [Thu, 29 Sep 2016 03:44:06 +0000 (20:44 -0700)]
Initial RyuJIT x86 SIMD support
Commit migrated from https://github.com/dotnet/coreclr/commit/
f454c388d4b803ebc799782ad9a27d2170df16cb
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Drew Scoggins [Wed, 26 Oct 2016 20:32:30 +0000 (13:32 -0700)]
Move JIT perf tests to new infrastructure
Moved over the running of the JIT perf tests to use the same logic as the
perflab tests. Had to make a few changes to what we save and where since
we reuse the sandbox folder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b53f75a454dea81824d13bc3df375fdc66054b99
Drew Scoggins [Tue, 25 Oct 2016 23:58:31 +0000 (16:58 -0700)]
Update performance tests
Add inner iterations to all performance tests in the perflab directory.
This is because we were measuring a time that was to small, and the
results were not useful. This should also reduce the number of high level
iterations we run as well.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e265939060ae690a3e971d80d60cdb5b45f734bb
John Soklaski [Tue, 18 Oct 2016 01:09:58 +0000 (18:09 -0700)]
Move benchmarks to use netstandard1.4 instead of netcoreapp1.0 to fix desktop reflection issue
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef60f7921285baef7257b79fa79443ff15205d57
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
Pat Gavlin [Wed, 26 Oct 2016 21:40:59 +0000 (14:40 -0700)]
Correct indirect P/Invoke call prlogs on x86.
32-bit targets require the size of the stack argument area in
InlinedCallFrame.m_Datum rather than the stub argument (as on 64-bit
targets).
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a1368a64fa3628523cab439f6fb80880a500310
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Drew Scoggins [Fri, 9 Sep 2016 18:27:47 +0000 (11:27 -0700)]
Add CoreCLR perf test support to Jenkins
Made changes to the perf.groovy to add support for running the CoreCLR
performance tests in the Perflab directory. Also made changes to the
runner script for CoreCLR to allow it to run more than one type of test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e77cbf0eedaf829f69b9d3eaa63e6e79585da729
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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