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
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`.
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
Rahul Kumar [Wed, 19 Oct 2016 20:03:43 +0000 (13:03 -0700)]
Fix arm32 build break
[tfs-changeset: 1634155]
Steve Desmond [Wed, 19 Oct 2016 19:33:49 +0000 (15:33 -0400)]
cross/build-rootfs.sh: fix default UbuntuPackages for default BuildArch (#7644)
* better default UbuntuPackages for default BuildArch
* Remove multiple sets of _UbuntuPackages to default
Andy Ayers [Thu, 13 Oct 2016 01:00:13 +0000 (18:00 -0700)]
Inliner: avoid inlining callees with GC structs on cold paths
If an inline introduces a local or temp GC struct, the initialization
of that struct is done in the root method prolog. This can hurt
performance if the inline call site is cold. Detect this during
importation and update the inline policy to back out of the inline if
the inline is an always or discretionary candidate.
Jit diffs shows size wins in the core library with no regressions.
```
Total bytes of diff: -8789 (-0.29 % of base)
diff is an improvement.
Total byte diff includes 0 bytes from reconciling methods
Base had 0 unique methods, 0 unique bytes
Diff had 0 unique methods, 0 unique bytes
Top file improvements by size (bytes):
-8789 : System.Private.CoreLib.dasm (-0.29 % of base)
1 total files with size differences.
Top method improvements by size (bytes):
-320 : System.Private.CoreLib.dasm - FrameSecurityDescriptor:CheckDemand2(ref,ref,long,bool):bool:this
-224 : System.Private.CoreLib.dasm - RuntimeConstructorInfo:CheckCanCreateInstance(ref,bool)
-214 : System.Private.CoreLib.dasm - RuntimeType:GetMethodBase(ref,long):ref
-150 : System.Private.CoreLib.dasm - CultureInfo:GetCultureInfoByIetfLanguageTag(ref):ref
-146 : System.Private.CoreLib.dasm - GC:RegisterForFullGCNotification(int,int)
103 total methods with size differences.
```
Desktop testing shows similar wins in a number of places and only
a few sparse small regressions.
Added a perf test. Thanks to @hypersw for noticing this.
Closes #7569.
Tanner Gooding [Wed, 19 Oct 2016 19:15:21 +0000 (12:15 -0700)]
Updating the new `System.MathF` calls which already existed in `System.Math` to call the `System.Math` implementation. (#7721)
* Updating the new `System.MathF` calls which already existed in `System.Math` to call the `System.Math` implementation.
* Removing the FCALL entry for MathF.Abs
Carol Eidt [Wed, 19 Oct 2016 18:28:22 +0000 (11:28 -0700)]
RyuJIT/x86: handle must-init multi-reg vars
In the RyuJIT backend, lclVars can occupy multiple registers, and not have a stack location. These should be handled for must-init as for lvRegister. The existing code was doing this oinly for _TARGET_64_BIT_ when it should be !LEGACY_BACKEND.
This fixes DevDiv VSO bug 278372
Pat Gavlin [Wed, 19 Oct 2016 18:23:10 +0000 (11:23 -0700)]
Merge pull request #7708 from pgavlin/StackParamUntracked
Always treat incoming on-stack parameters as GC-untracked.
Jan Kotas [Wed, 19 Oct 2016 18:17:40 +0000 (11:17 -0700)]
Merge pull request #7718 from dotnet-bot/from-tfs
Merge changes from TFS
Bruce Forstall [Fri, 14 Oct 2016 01:10:33 +0000 (18:10 -0700)]
Enable Enter/Leave/Tailcall hooks for RyuJIT/x86
Sergey Andreenko [Wed, 19 Oct 2016 16:37:55 +0000 (09:37 -0700)]
fix compilation compilation error without ready to run.
Gaurav Khanna [Wed, 19 Oct 2016 16:35:54 +0000 (09:35 -0700)]
Merge pull request #7714 from gkhanna79/CleanupArm32
Cleanup arm32
Rahul Kumar [Wed, 19 Oct 2016 16:12:10 +0000 (09:12 -0700)]
fix arm64 build break
[tfs-changeset: 1634120]
Stephen Toub [Wed, 19 Oct 2016 12:27:47 +0000 (08:27 -0400)]
Merge pull request #7709 from wtgodbe/publishProj
Only build TargetingPack when building on Windows
Matt Ellis [Wed, 19 Oct 2016 08:42:45 +0000 (01:42 -0700)]
Support "offline" initializtion of Tools (#7715)
This change allows init-tools to function in an "offline" mode where
tools are picked up from standalone folders. Specifically, it introduces
support for two new environment variables:
- DOTNET_TOOLSET_DIR
- BUILD_TOOLS_TOOLSET_DIR
If either is set, instead of downloading toolsets, we copy an already
existing one from the folder. The TOOLSET_DIR is a folder with sub
directories for every version of the tool in question.
For buildtools, we expect a published toolset (sans the "dotnetcli"
folder) not just a set of nuget packages (i.e. the layout of Tools/
after running ./init-tools.sh in "online" mode).
The above varibles are useful for situations where we want to carry
multiple toolsets with us, but are less helpful for places where a
developer has produced their own toolset by hand (since the resulting
folder structure contains extra version information). For these cases,
I've added
- DOTNET_TOOL_DIR
- BUILD_TOOLS_TOOL_DIR
Which work like the above but don't require the nested folder structure.
Jan Vorlicek [Wed, 19 Oct 2016 06:43:29 +0000 (08:43 +0200)]
Fix passing struct with four floats in registers via reflection (#7716)
This change fixes a bug in the code that copies a struct into the transition
frame. When it contains four floats, the first two are put to the right place,
but the following two are placed to an address that's offset by 8 instead of
by 16.
It also adds regression test for this problem as Pri 1 test.
Jan Kotas [Wed, 19 Oct 2016 06:18:24 +0000 (23:18 -0700)]
Fix build break
[tfs-changeset: 1634099]
Jan Kotas [Wed, 19 Oct 2016 05:14:41 +0000 (22:14 -0700)]
Merge pull request #7712 from dotnet/revert-7494-CoreLib
Revert "Delete mscorlib from CoreCLR targeting pack"
Gaurav Khanna [Wed, 19 Oct 2016 03:28:12 +0000 (20:28 -0700)]
Cleanup external dependency details
Rahul Kumar [Wed, 19 Oct 2016 03:00:14 +0000 (20:00 -0700)]
Merge pull request #7681 from rahku/_appdomain
Expose apis in System.Reflection.Assembly
Tarek Mahmoud Sayed [Wed, 19 Oct 2016 01:28:36 +0000 (18:28 -0700)]
Enable DateTimeFormatInfo netstandard 1.7 APIs on Linux (#7713)
* Enable DateTimeFormatInfo netstandard 1.7 APIs on Linux
* Remove un-necessary return
Rahul Kumar [Mon, 17 Oct 2016 23:52:57 +0000 (16:52 -0700)]
Expose apis in System.Reflection.Assembly
Sergey Andreenko [Tue, 18 Oct 2016 23:46:59 +0000 (16:46 -0700)]
format fix
Sergey Andreenko [Tue, 18 Oct 2016 23:42:42 +0000 (16:42 -0700)]
helper address is already known
Gaurav Khanna [Tue, 18 Oct 2016 22:04:48 +0000 (15:04 -0700)]
Cleanup External Dependency references
Gaurav Khanna [Tue, 18 Oct 2016 22:00:32 +0000 (15:00 -0700)]
Remove Arm32 dependency from closed build
Sergey Andreenko [Tue, 18 Oct 2016 21:31:55 +0000 (14:31 -0700)]
format fix
William Godbe [Tue, 18 Oct 2016 21:27:25 +0000 (14:27 -0700)]
Revert "Delete mscorlib from CoreCLR targeting pack"
William Godbe [Tue, 18 Oct 2016 21:11:16 +0000 (14:11 -0700)]
Merge pull request #7700 from wtgodbe/1.1
Upgrade build-against-packages frameworks to NetStandard1.1
wtgodbe [Tue, 18 Oct 2016 20:40:35 +0000 (13:40 -0700)]
Only publish TargetingPack when building on Windows
Vance Morrison [Tue, 18 Oct 2016 20:17:28 +0000 (13:17 -0700)]
Fix Link (#7699)
Carol Eidt [Tue, 18 Oct 2016 20:08:33 +0000 (13:08 -0700)]
Merge pull request #7698 from CarolEidt/Fix278371
Allow non-constant size for rep stos InitBlk on x86
Pat Gavlin [Tue, 18 Oct 2016 20:04:28 +0000 (13:04 -0700)]
Always treat incoming on-stack parameters as GC-untracked.
Incoming parameters that are passed on the stack are never reported as
tracked to the GC, but `lvaIsGCTracked` (which is used to determine
whether or not to report liveness for a lclVar's stack slot) still
returned true if the corresponding lclVar was tracked. This caused
problems on x86 when dealing with incoming GC stack parameters in ESP
frames: in this case, writes to a GC stack parameter could incorrectly
change the liveness for a lclVar at the same offset from ESP as the
parameter's offset from EBP.
Fixes #7696.
Rahul Kumar [Tue, 18 Oct 2016 20:00:52 +0000 (13:00 -0700)]
Merge pull request #7701 from rahku/arm64fixes
_isnanf is not defined for arm64 use isnan instead
Sergey Andreenko [Tue, 18 Oct 2016 19:54:51 +0000 (12:54 -0700)]
header for getRuntimeContextTree
Sergey Andreenko [Tue, 18 Oct 2016 19:41:11 +0000 (12:41 -0700)]
return break to the previous position,
Rahul Kumar [Tue, 18 Oct 2016 18:58:20 +0000 (11:58 -0700)]
_isnanf is not defined for arm64 use isnan instead
wtgodbe [Tue, 18 Oct 2016 18:49:19 +0000 (11:49 -0700)]
Upgrade build-against-packages dependencies to NetStandard1.1
Carol Eidt [Tue, 18 Oct 2016 15:52:38 +0000 (08:52 -0700)]
Allow non-constant size for rep stos InitBlk on x86
Fixes DevDiv VSO bug 278371, and adds a test case.
Sivarv [Tue, 18 Oct 2016 17:18:25 +0000 (10:18 -0700)]
Merge pull request #7683 from sivarv/VectorByteFix
Vector<T>.ctor(T val) is not recognized for ubyte/byte/short/ushort when the arg is a local of small int type (e.g. method args).
Evgeny Pavlov [Tue, 18 Oct 2016 17:17:45 +0000 (20:17 +0300)]
Fix issue #7470 (Regression with enabled GDB JIT interface) (#7688)
Tanner Gooding [Tue, 18 Oct 2016 09:56:53 +0000 (02:56 -0700)]
Adding single-precision math functions. (#5492)
* Adding single-precision math functions to floatsingle
* Adding single-precision math functions to the PAL layer.
* Adding single-precision math tests to the PAL layer.
* Adding single-precision math functions to mscorlib.
* Adding single-precision math function support to the vm.
* Updating floatsingle.cpp to define a _isnanf macro for Windows ARM.
Eric Mellino [Tue, 18 Oct 2016 04:48:18 +0000 (21:48 -0700)]
Merge pull request #7684 from mellinoe/fix-alpine-pgks
Fix placeholder pdb file path in alpine nuget packages
Jan Kotas [Tue, 18 Oct 2016 04:40:45 +0000 (21:40 -0700)]
Merge pull request #7648 from jkotas/fix-docs
Update instructions to use local dotnet tool build
Alex Perovich [Tue, 18 Oct 2016 03:55:55 +0000 (20:55 -0700)]
Add missing Arg_BadDecimal resource to corelib (#7673)
Fixes #7671
Pat Gavlin [Tue, 18 Oct 2016 03:18:29 +0000 (20:18 -0700)]
Merge pull request #7676 from pgavlin/EmitKillGCRefRRWSH
Update GC info when emitting IF_RRW_SHF.
Eric Mellino [Tue, 18 Oct 2016 02:46:50 +0000 (02:46 +0000)]
Fix placeholder pdb file path in alpine nuget packages
Jan Kotas [Tue, 18 Oct 2016 01:29:03 +0000 (18:29 -0700)]
Include project.json template in the instructions
Pat Gavlin [Tue, 18 Oct 2016 02:05:14 +0000 (19:05 -0700)]
Merge pull request #7608 from pgavlin/MoveGSCookieCheck
Generate GS cookie checks before consuming call args.