Pat Gavlin [Wed, 26 Oct 2016 16:59:37 +0000 (09:59 -0700)]
Merge pull request #7808 from pgavlin/VSO280103
Clear side-effect flags on local reads in rationalize.
Michelle McDaniel [Wed, 26 Oct 2016 16:15:46 +0000 (09:15 -0700)]
Merge pull request #7823 from adiaaida/checkformatlocation
Fix 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.
Tarek Mahmoud Sayed [Wed, 26 Oct 2016 15:37:53 +0000 (08:37 -0700)]
Enable CultureInfo netstandard 1.7 APIs on Linux (#7811)
* Enable CultureInfo netstandard 1.7 APIs on Linux
* fix spaces
* Use Array.Empty<CultureInfo> instead of CultureInfo[0]
Jan Vorlicek [Wed, 26 Oct 2016 09:46:24 +0000 (11:46 +0200)]
Remove dependency of System.Globalization.Native.so on specific ICU version (#7773)
Remove dependency of System.Globalization.Native.so on specific ICU version
Rama krishnan Raghupathy [Wed, 26 Oct 2016 05:47:27 +0000 (22:47 -0700)]
Merge pull request #7816 from ramarag/ThreadingOverlapped
Adding missing members of threading.overlapped
sandreenko [Wed, 26 Oct 2016 05:32:11 +0000 (22:32 -0700)]
Merge pull request #7806 from sandreenko/fix-VSO-278365
RyuJIT/x86: fix VSO 278365
Bruce Forstall [Wed, 26 Oct 2016 04:36:19 +0000 (21:36 -0700)]
Merge pull request #7814 from dotnet-bot/from-tfs
Merge changes from TFS
Rama Krishnan Raghupathy [Wed, 26 Oct 2016 03:25:03 +0000 (20:25 -0700)]
Adding missing members of threading.overlapped
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]
Pat Gavlin [Tue, 25 Oct 2016 22:55:07 +0000 (15:55 -0700)]
Merge pull request #7802 from pgavlin/VSO279829
Do not promote long-typed args in methods that use JMP.
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
Rama krishnan Raghupathy [Tue, 25 Oct 2016 22:36:23 +0000 (15:36 -0700)]
Merge pull request #7751 from ramarag/MemFailPoint
Making MemoryFailPoint functional on xplat
Bruce Forstall [Tue, 25 Oct 2016 22:03:15 +0000 (15:03 -0700)]
Merge pull request #7800 from BruceForstall/ChangeJITGuid
Change JIT-EE interface GUID
Rama Krishnan Raghupathy [Fri, 7 Oct 2016 23:55:19 +0000 (16:55 -0700)]
Making MemoryFailPoint functional on xplat
Expose GlobalMemoryStatusEx on Xplat
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.
Rahul Kumar [Tue, 25 Oct 2016 21:43:04 +0000 (14:43 -0700)]
Merge pull request #7786 from rahku/_appdomain
Add implementation of AppDomain.GetAssemblies
Rahul Kumar [Mon, 24 Oct 2016 21:46:40 +0000 (14:46 -0700)]
Add implementation of AppDomain.GetAssemblies
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.
Michelle McDaniel [Tue, 25 Oct 2016 19:24:21 +0000 (12:24 -0700)]
Merge pull request #7799 from adiaaida/fixRotateFlagCheck
Fix flag check when morphing into rotate
Andy Ayers [Tue, 25 Oct 2016 18:57:54 +0000 (11:57 -0700)]
Merge pull request #7798 from AndyAyersMS/FixObservationImpact
Inliner: fix RARE_GC_STRUCT observation impact
Bruce Forstall [Tue, 25 Oct 2016 18:39:54 +0000 (11:39 -0700)]
Change JIT-EE interface GUID
This should have been changed with #7672. However, changing it now
will help prevent unexpected bad interactions with SuperPMI and other
tools that expect the old interface.
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.
Dmitry-Me [Tue, 25 Oct 2016 17:02:55 +0000 (20:02 +0300)]
Check index before access (#7795)
Ivan Baravy [Tue, 25 Oct 2016 16:32:15 +0000 (20:32 +0400)]
Add more lldbplugin/libsosplugin tests (#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
Andy Ayers [Tue, 25 Oct 2016 16:31:47 +0000 (09:31 -0700)]
Inliner: fix RARE_GC_STRUCT observation impact
Closes #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.
Jan Kotas [Tue, 25 Oct 2016 16:02:38 +0000 (09:02 -0700)]
Do not materialize CAS PseudoCustomAttribute (#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
Faizur Rahman [Tue, 25 Oct 2016 04:21:29 +0000 (21:21 -0700)]
Add few Interop Marshal APIs (#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)
Daniel Podder [Tue, 25 Oct 2016 04:14:54 +0000 (21:14 -0700)]
Fix typos in windows build instructions (#7789)
Mike McLaughlin [Tue, 25 Oct 2016 01:59:13 +0000 (18:59 -0700)]
Fix performance problem introduced in previous change. (#7783)
sandreenko [Mon, 24 Oct 2016 23:54:56 +0000 (16:54 -0700)]
Merge pull request #7782 from sandreenko/fix-tfs-build
fix 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.
Ian Hays [Mon, 24 Oct 2016 22:23:03 +0000 (15:23 -0700)]
Merge pull request #7778 from ianhays/binaryreadwrite_buffers
Add some extra checks to BinaryReader/Writer buffers
Jan Kotas [Mon, 24 Oct 2016 22:16:12 +0000 (15:16 -0700)]
Add back call to BitArray::ClearAll (#7779)
noahfalk [Mon, 24 Oct 2016 21:51:12 +0000 (14:51 -0700)]
Merge pull request #7706 from mjsabby/lcgjitprofcallbacks
Add LCG JIT Compilation Profiler Callbacks
Sivarv [Mon, 24 Oct 2016 20:44:43 +0000 (13:44 -0700)]
Merge pull request #7776 from sivarv/lsraStatFix
Fix the condition to dump a basic block stats.
Ian Hays [Mon, 24 Oct 2016 20:26:42 +0000 (13:26 -0700)]
PR feedback for BinaryReader/Writer buffers
Ian Hays [Mon, 24 Oct 2016 20:09:36 +0000 (13:09 -0700)]
Add some extra checks to BinaryReader/Writer buffers
Ian Hays [Mon, 24 Oct 2016 19:58:19 +0000 (12:58 -0700)]
Merge pull request #7775 from ianhays/cfg_arm64
Add CFG flag to ARM64 build
Jan Kotas [Mon, 24 Oct 2016 18:51:06 +0000 (11:51 -0700)]
Merge pull request #7772 from jkotas/gcinfo-cleanup
GCInfoDecoder cleanup
sivarv [Mon, 24 Oct 2016 18:42:03 +0000 (11:42 -0700)]
Fix the condition to dump a basic block stats.
Ian Hays [Mon, 24 Oct 2016 18:04:03 +0000 (11:04 -0700)]
Add CFG flag to ARM64 build
Pat Gavlin [Mon, 24 Oct 2016 15:54:25 +0000 (08:54 -0700)]
Merge pull request #7720 from Dmitry-Me/fixBrokenComparison
Fix broken range check
Jan Kotas [Mon, 24 Oct 2016 14:59:16 +0000 (07:59 -0700)]
Replace LPVOID with void*
Jan Kotas [Mon, 24 Oct 2016 04:31:29 +0000 (21:31 -0700)]
Simplify GCINFODECODER_CONTRACT
Jan Kotas [Mon, 24 Oct 2016 04:11:49 +0000 (21:11 -0700)]
Delete DISABLE_EH_VECTORS
Jan Kotas [Mon, 24 Oct 2016 01:21:22 +0000 (18:21 -0700)]
Delete _TARGET_SET_ macro
Jim Ma [Sat, 22 Oct 2016 16:19:57 +0000 (00:19 +0800)]
Fixed month calculating issue of calendars(#7666) (#7769)
Fixed the issue introduced by misunderstanding the precedence of '+' and
'>>'.
fix #7666
Gaurav Khanna [Sat, 22 Oct 2016 16:18:26 +0000 (09:18 -0700)]
Fix Binder based PInvoke resolution for dynamic assembly (#7770)
Vijay Ramakrishnan [Sat, 22 Oct 2016 11:51:20 +0000 (04:51 -0700)]
Fixing the StackOverflowException error message. (#4786)
Jim Ma [Sat, 22 Oct 2016 11:13:17 +0000 (19:13 +0800)]
Fixed typos and format issues on clr-code-guide doc(#7767) (#7768)
There're several typos and format issues. Just fixed them.
Fix issue #7767
Jan Kotas [Sat, 22 Oct 2016 05:07:29 +0000 (22:07 -0700)]
Port GC changes from CoreRT (#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
Dmitry-Me [Sat, 22 Oct 2016 04:05:09 +0000 (07:05 +0300)]
Fix broken #elif (#7756)
Mukul Sabharwal [Sat, 22 Oct 2016 02:45:06 +0000 (19:45 -0700)]
Add Profiling API callbacks for R2R methods (#7732)
Sivarv [Sat, 22 Oct 2016 02:36:25 +0000 (19:36 -0700)]
Merge pull request #7749 from sivarv/VectorIntDot
Recognize Vector<int>.Dot on AVX as a JIT intrinsic.
James Ko [Sat, 22 Oct 2016 01:21:27 +0000 (21:21 -0400)]
Improve ArraySegment's override of GetHashCode (#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.
Pat Gavlin [Sat, 22 Oct 2016 01:21:01 +0000 (18:21 -0700)]
Merge pull request #7739 from pgavlin/DisableGCStressIncompatibleTests
Mark tests GCStress-incompatible for x86.
Pat Gavlin [Sat, 22 Oct 2016 00:24:17 +0000 (17:24 -0700)]
Merge pull request #7760 from pgavlin/VSO279832
Properly initialize the varargs base lclVar.
Pat Gavlin [Sat, 22 Oct 2016 00:22:49 +0000 (17:22 -0700)]
Merge pull request #7759 from pgavlin/VSO278367
Initialize long return type descs in `gtNewCallNode`.
Dmitry-Me [Fri, 21 Oct 2016 23:38:45 +0000 (02:38 +0300)]
Initialize member variable (#7737)
sivarv [Thu, 20 Oct 2016 21:46:00 +0000 (14:46 -0700)]
Optimize Vector<int>.Dot on AVX.
Bruce Forstall [Fri, 21 Oct 2016 22:50:36 +0000 (15:50 -0700)]
Merge pull request #7755 from dotnet-bot/from-tfs
Merge changes from TFS
Rama krishnan Raghupathy [Fri, 21 Oct 2016 22:40:14 +0000 (15:40 -0700)]
Merge pull request #7754 from ramarag/Threading
Exposing Some Threading Apis
Rama Krishnan Raghupathy [Fri, 21 Oct 2016 22:25:49 +0000 (15:25 -0700)]
Adding Isafeserializationdata interface
Mukul Sabharwal [Fri, 21 Oct 2016 22:20:02 +0000 (15:20 -0700)]
Address CR feedback
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.
sandreenko [Fri, 21 Oct 2016 21:19:18 +0000 (14:19 -0700)]
Merge pull request #7672 from sandreenko/helper-for-corert
Ready to run helper for static base lookups in shared generic code
sandreenko [Fri, 21 Oct 2016 21:09:30 +0000 (14:09 -0700)]
Merge pull request #7743 from sandreenko/frozen_strings
fix value numbering for frozen strings.
Pat Gavlin [Fri, 21 Oct 2016 21:03:58 +0000 (14:03 -0700)]
Initialize long return type descs in `gtNewCallNode`.
All long-returning calls (including helper calls) must have a properly
initialized ReturnTypeDesc. Previously, this ReturnTypeDesc was only
initialized by the importer for a subset of long-returning calls
(essentially user calls), which caused asserts whenother long-returning
calls were created by the compiler (e.g. for field accessors). This
change moves the necessary ReturnTypeDesc initialization into
`gtNewCallNode`.
Mukul Sabharwal [Fri, 21 Oct 2016 16:24:21 +0000 (09:24 -0700)]
Add LCG JIT Compilation Profiler Callbacks
Methods that contain no metadata (e.g. of sources are IL Stubs,
DynamicMethod, Expression Trees, etc.) also known as LCG methods are not
reported to profilers via the Profiling API. LCG, introduced in .NET 2.0
timeframe is unique in that it doesn't require the method to be hosted
in an assembly > module > type heirarchy and is GCable in of itself.
This change adds new APIs that notify the profiler of such methods but
since there is no metadata to go lookup, it provides some useful pieces
of information that the profiler author may want to expose to the
profiler user.
In the compilation start method we provide a className (always
dynamicClass), a methodName that can be a set of few predetermined names
like (ILStub_COMToCLR, etc.) or if the user has set the name for the LCG
method that can show up here. For example, when using the Expression
Trees API, the user can specify a friendly name which would be returned
here.
In the jit completed callback we provide information for the native code
start address and size. This is particularly useful to get more accurate
accounting of what the (previously unidentified) code is. At least the
user would know it is JITTed if nothing more (but most likely more
information like what kind of stub).
Furthermore, since this is going to be a profiler callback, the profiler
can initiate a stackwalk and give more contextual information to its
users beyond the pieces of information we can provide here that could
identify what they're encountering.
Finally, there is also the case that today the profiling APIs
underreport JITTed code in the process. Considerable amount of LCG code
can now be present in the program and in security-sensitive environments
where tracking JITTed code for security reasons is important the
profiling apis fall short. In such environments there is also often
restrictions on running with elevated privileges, so procuring this data
through other means (like ETW) may pose a challenge.
kvochko [Fri, 21 Oct 2016 09:17:38 +0000 (12:17 +0300)]
[GDBJIT] Generate more complete debug information (#7617)
* Implement support for classes
* Add support for 'this' argument type
* System.String debug info
* Functions are generated as class members in DWARF, use TypeKey as type key.
* Initial support of references
* Support 'this' artificial argument in gdbjit
* Resolve issue with recursive types in gdbjit
* DWARF classes are terminated even if they don't have children
* Fix System.Char encoding.
* Add support static fields for classes
* Add support for single dimension arrays.
* Simplify signature parsing.
* Preliminary support for multidimensional arrays.
* Add support of value types
Maoni Stephens [Fri, 21 Oct 2016 04:47:19 +0000 (21:47 -0700)]
Merge pull request #7736 from hseok-oh/fix_7649
GC for large object allocation when fail to get new segment
Michelle McDaniel [Fri, 21 Oct 2016 03:50:23 +0000 (23:50 -0400)]
Merge pull request #7724 from adiaaida/implementDecomposeRotate
Implement DecomposeRotate
Jan Kotas [Fri, 21 Oct 2016 03:45:43 +0000 (20:45 -0700)]
Merge pull request #7745 from dotnet-bot/from-tfs
Merge changes from TFS
Rama Krishnan Raghupathy [Fri, 21 Oct 2016 02:51:47 +0000 (19:51 -0700)]
Exposing Some Threading Apis
Andy Ayers [Fri, 21 Oct 2016 01:47:38 +0000 (18:47 -0700)]
Merge pull request #7727 from AndyAyersMS/LateGCStructBailOut
Inliner: avoid inlining callees with GC structs on cold paths
Hyeongseok Oh [Thu, 20 Oct 2016 10:23:53 +0000 (19:23 +0900)]
GC for large object allocation when fail to get new segment
Delete unnecessary line
dotnet-bot [Thu, 20 Oct 2016 23:18:59 +0000 (16:18 -0700)]
Updating the macro redefinition for _isnanf and _copysignf in floatsingle.cpp. This is required for the scenario when the system CRT header files are used instead of the newer MSVCRT header files.
[tfs-changeset: 1634419]
Jan Kotas [Thu, 20 Oct 2016 22:55:30 +0000 (15:55 -0700)]
Fix build break
[tfs-changeset: 1634415]
Sergey Andreenko [Thu, 20 Oct 2016 22:49:08 +0000 (15:49 -0700)]
fix value numbering for frozen strings
As Pat found it was value numbering issue.
Pat Gavlin [Thu, 20 Oct 2016 22:30:29 +0000 (15:30 -0700)]
Add comments describing why these tests are disabled.
Michelle McDaniel [Wed, 19 Oct 2016 17:43:15 +0000 (10:43 -0700)]
Implement DecomposeRotate
fgRecognizeAndMorphBitwiseRotation can potentially morph a tree with a
TYP_LONG return type on x86 if the rotate amount is a GT_CNS_INT. This
change implements DecomposeRotate for those rotate instructions. There are
5 cases:
1) Rotate by 0: do nothing.
2) Rotate by 32: swap hi and lo.
3) Rotate by < 32: produce a shld/shld (for GT_ROL) or a shrd/shrd (for
GT_ROR).
4) Rotate by >= 32: swap hi and lo, subtract from the rotate amount 32, and
do option 3.
5) Rotate by >= 64: do rotateAmount % 64 to get the rotate amount between
0 and 63, then do one of options 1-4.
This change also updates CodegenBringUpTests\Rotate.cs to exercise these
paths.
Jeremy Kuhne [Thu, 20 Oct 2016 18:48:53 +0000 (11:48 -0700)]
Merge pull request #7734 from JeremyKuhne/ArrayPool
Move ArrayPool to System.Private.CoreLib
Bruce Forstall [Thu, 20 Oct 2016 18:30:34 +0000 (11:30 -0700)]
Merge pull request #7730 from dotnet-bot/from-tfs
Merge changes from TFS
Pat Gavlin [Thu, 20 Oct 2016 18:29:37 +0000 (11:29 -0700)]
Mark tests GCStress-incompatible for x86.
These tests time out when GC stress is enabled on x86.
Fixes #7692 and #7695.
Sergey Andreenko [Thu, 20 Oct 2016 17:38:15 +0000 (10:38 -0700)]
return add with offset, add version if-defs
Llewellyn Pritchard [Thu, 20 Oct 2016 17:32:02 +0000 (19:32 +0200)]
Fix Attribute implementations of Equals and GetHashCode to properly deal with derived types. #6232 (#6240)
Andy Ayers [Thu, 20 Oct 2016 17:24:54 +0000 (10:24 -0700)]
Add cross-reference from test case to inspiring issue
Tanner Gooding [Thu, 20 Oct 2016 09:04:15 +0000 (02:04 -0700)]
Fixing the reference declarations for System.MathF. (#7735)
Dmitry-Me [Thu, 20 Oct 2016 00:25:48 +0000 (03:25 +0300)]
Remove misleading check (#7654)
Peter Kukol [Wed, 19 Oct 2016 23:28:20 +0000 (17:28 -0600)]
Call JIT compiler's shutdown logic from crossgen. (#7663)
* Call JIT compiler's shutdown logic from crossgen.
Rahul Kumar [Wed, 19 Oct 2016 23:16:09 +0000 (16:16 -0700)]
Merge pull request #7733 from rahku/_appdomain
fix assembly.Load bug
Jeremy Kuhne [Wed, 19 Oct 2016 23:02:52 +0000 (16:02 -0700)]
Move ArrayPool to System.Private.CoreLib
Copy ArrayPool source from CoreFX and expose in System.Private.CoreLib.
Rahul Kumar [Wed, 19 Oct 2016 22:09:16 +0000 (15:09 -0700)]
fix assembly.Load bug
Carol Eidt [Wed, 19 Oct 2016 21:38:57 +0000 (14:38 -0700)]
Merge pull request #7725 from CarolEidt/Fix278372
RyuJIT/x86: handle must-init multi-reg vars
Bruce Forstall [Wed, 19 Oct 2016 21:10:41 +0000 (14:10 -0700)]
Merge pull request #7726 from dotnet-bot/from-tfs
Merge changes from TFS
Andy Ayers [Wed, 19 Oct 2016 20:51:34 +0000 (13:51 -0700)]
Add comment to test case and run it through codeformatter.
AlexGhiondea [Wed, 19 Oct 2016 20:24:40 +0000 (13:24 -0700)]
Remove the UseLatestBehaviorWhenTFMNotSpecified compat switch (#5708)
* Default to latest behavior when a TFM is not specified
Instead of requiring that a compatibility switch is set in order to get the
latest behavior for all AppContext switches that are based on TFM, have that
behavior on by default.
* Remove the UseLatestBehaviorWhenTFMNotSpecified compat switch
James Ko [Wed, 19 Oct 2016 20:24:01 +0000 (16:24 -0400)]
Better Tuple hashing, avoid boxing in Equals/GetHashCode (#6767)
Bruce Forstall [Wed, 19 Oct 2016 20:14:54 +0000 (13:14 -0700)]
Merge pull request #7612 from BruceForstall/ELT
Enable Enter/Leave/Tailcall hooks for RyuJIT/x86