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
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
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
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
kvochko [Fri, 21 Oct 2016 09:17:38 +0000 (12:17 +0300)]
[GDBJIT] Generate more complete debug information (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a9ee939d1043f8347ce94a49bb38d517e3bb52d
Maoni Stephens [Fri, 21 Oct 2016 04:47:19 +0000 (21:47 -0700)]
Merge pull request dotnet/coreclr#7736 from hseok-oh/fix_7649
GC for large object allocation when fail to get new segment
Commit migrated from https://github.com/dotnet/coreclr/commit/
59c8c059bd474bf8105059de86bd3b22d92bc5c0
Michelle McDaniel [Fri, 21 Oct 2016 03:50:23 +0000 (23:50 -0400)]
Merge pull request dotnet/coreclr#7724 from adiaaida/implementDecomposeRotate
Implement DecomposeRotate
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd13c8956ac768649b41f50fd046dbc3547d36a4
Jan Kotas [Fri, 21 Oct 2016 03:45:43 +0000 (20:45 -0700)]
Merge pull request dotnet/coreclr#7745 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
21f4c8f7440fc2dddca366206356f3b9d57daf79
Rama Krishnan Raghupathy [Fri, 21 Oct 2016 02:51:47 +0000 (19:51 -0700)]
Exposing Some Threading Apis
Commit migrated from https://github.com/dotnet/coreclr/commit/
c18542c420e2b095bf6e90643bc1738974217d8f
Andy Ayers [Fri, 21 Oct 2016 01:47:38 +0000 (18:47 -0700)]
Merge pull request dotnet/coreclr#7727 from AndyAyersMS/LateGCStructBailOut
Inliner: avoid inlining callees with GC structs on cold paths
Commit migrated from https://github.com/dotnet/coreclr/commit/
e70eadba0eb182f046f9be85833a23784c6d675f
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f09643f0a8d550eaa6e4f5ad131955b6eefdab9
Jan Kotas [Thu, 20 Oct 2016 22:55:30 +0000 (15:55 -0700)]
Fix build break
[tfs-changeset: 1634415]
Commit migrated from https://github.com/dotnet/coreclr/commit/
347cc35af5e5676ab57ba23a16624a6d6ce002d6
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
953b945d2d5dac2821e76a59b5ffb5e8fe89d2ad
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d24a3008cd1bbed78dd4e82414228da6e21361d2
Jeremy Kuhne [Thu, 20 Oct 2016 18:48:53 +0000 (11:48 -0700)]
Merge pull request dotnet/coreclr#7734 from JeremyKuhne/ArrayPool
Move ArrayPool to System.Private.CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
74cbc9e2c42ffb01c84a68adb59a2ff35ae23333
Bruce Forstall [Thu, 20 Oct 2016 18:30:34 +0000 (11:30 -0700)]
Merge pull request dotnet/coreclr#7730 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ea3efb93bf965148957274dc3af8bee9a218292
Sergey Andreenko [Thu, 20 Oct 2016 17:38:15 +0000 (10:38 -0700)]
return add with offset, add version if-defs
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab97fb505212ee3d22ec6e5b7e6885040bd6b753
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. dotnet/coreclr#6232 (dotnet/coreclr#6240)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9463e5d384c09fcc0c17a71c616b2bcb3d633c8a
Andy Ayers [Thu, 20 Oct 2016 17:24:54 +0000 (10:24 -0700)]
Add cross-reference from test case to inspiring issue
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6a14f199e22c657f394f4dd8c9325e77fffe7a8
Tanner Gooding [Thu, 20 Oct 2016 09:04:15 +0000 (02:04 -0700)]
Fixing the reference declarations for System.MathF. (dotnet/coreclr#7735)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e66fca59b40409829eec5dca5da827843dabaeff
Dmitry-Me [Thu, 20 Oct 2016 00:25:48 +0000 (03:25 +0300)]
Remove misleading check (dotnet/coreclr#7654)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e798126fc5c5d5cf045530c73d296e5aacc8b5d
Peter Kukol [Wed, 19 Oct 2016 23:28:20 +0000 (17:28 -0600)]
Call JIT compiler's shutdown logic from crossgen. (dotnet/coreclr#7663)
* Call JIT compiler's shutdown logic from crossgen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dcce190472393d828d3fb364e9e5fe5906c42822
Rahul Kumar [Wed, 19 Oct 2016 23:16:09 +0000 (16:16 -0700)]
Merge pull request dotnet/coreclr#7733 from rahku/_appdomain
fix assembly.Load bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6dcbb66bace9a1f3fc081ec0740258b0c9358ea
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6eecf7f7848d23f99ebc9d7312a59a7f12d2f16
Rahul Kumar [Wed, 19 Oct 2016 22:09:16 +0000 (15:09 -0700)]
fix assembly.Load bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3e39e95a917decaf586f325ae66e387a298b50a
Carol Eidt [Wed, 19 Oct 2016 21:38:57 +0000 (14:38 -0700)]
Merge pull request dotnet/coreclr#7725 from CarolEidt/Fix278372
RyuJIT/x86: handle must-init multi-reg vars
Commit migrated from https://github.com/dotnet/coreclr/commit/
a410ded42ba14ae87efa5e9627a5d300cc9aadc1
Bruce Forstall [Wed, 19 Oct 2016 21:10:41 +0000 (14:10 -0700)]
Merge pull request dotnet/coreclr#7726 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
f18e23891aa657d849d7a30f6d4e423c97c3835c
Andy Ayers [Wed, 19 Oct 2016 20:51:34 +0000 (13:51 -0700)]
Add comment to test case and run it through codeformatter.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bf79f0f1edf2de19175c1275372e782916f56a2
AlexGhiondea [Wed, 19 Oct 2016 20:24:40 +0000 (13:24 -0700)]
Remove the UseLatestBehaviorWhenTFMNotSpecified compat switch (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e4869a6930cfb6278b51130bbccfc323ef61053
James Ko [Wed, 19 Oct 2016 20:24:01 +0000 (16:24 -0400)]
Better Tuple hashing, avoid boxing in Equals/GetHashCode (dotnet/coreclr#6767)
Commit migrated from https://github.com/dotnet/coreclr/commit/
361e6eb85c74b57691955d97dda801d725cd2a59
Bruce Forstall [Wed, 19 Oct 2016 20:14:54 +0000 (13:14 -0700)]
Merge pull request dotnet/coreclr#7612 from BruceForstall/ELT
Enable Enter/Leave/Tailcall hooks for RyuJIT/x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6c000b2890e28dd3f6a4b1afa30b035b3d2e47a
Rahul Kumar [Wed, 19 Oct 2016 20:03:43 +0000 (13:03 -0700)]
Fix arm32 build break
[tfs-changeset: 1634155]
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6de1c286130035629e6554ddb2ac2004abc4aad
Steve Desmond [Wed, 19 Oct 2016 19:33:49 +0000 (15:33 -0400)]
cross/build-rootfs.sh: fix default UbuntuPackages for default BuildArch (dotnet/coreclr#7644)
* better default UbuntuPackages for default BuildArch
* Remove multiple sets of _UbuntuPackages to default
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f572b68ebbcedfebd05c956c2137492cc403253
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 dotnet/coreclr#7569.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e0359ce3e5d25ba4dbbe72336653ea1c94113ac
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. (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
841155bca0f1fe0202fd53833e476980e398dab7
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ed511b7d60853fb32938d9cab252fbfeafce85e
Pat Gavlin [Wed, 19 Oct 2016 18:23:10 +0000 (11:23 -0700)]
Merge pull request dotnet/coreclr#7708 from pgavlin/StackParamUntracked
Always treat incoming on-stack parameters as GC-untracked.
Commit migrated from https://github.com/dotnet/coreclr/commit/
38495badc123a9d9a2d0e1640f5bf23da40d13f7
Jan Kotas [Wed, 19 Oct 2016 18:17:40 +0000 (11:17 -0700)]
Merge pull request dotnet/coreclr#7718 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
59e73762ca23c6d34036ce8b06643efaa47333ed
Bruce Forstall [Fri, 14 Oct 2016 01:10:33 +0000 (18:10 -0700)]
Enable Enter/Leave/Tailcall hooks for RyuJIT/x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
fba86f9b18cb39195aea1465beed3df90f004524
Sergey Andreenko [Wed, 19 Oct 2016 16:37:55 +0000 (09:37 -0700)]
fix compilation compilation error without ready to run.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e51701cf141dacd8e1426dfc1b90118fedb5d39
Gaurav Khanna [Wed, 19 Oct 2016 16:35:54 +0000 (09:35 -0700)]
Merge pull request dotnet/coreclr#7714 from gkhanna79/CleanupArm32
Cleanup arm32
Commit migrated from https://github.com/dotnet/coreclr/commit/
2eefb2d2e64caec9e4c4bbbe805495109e35a1c3
Rahul Kumar [Wed, 19 Oct 2016 16:12:10 +0000 (09:12 -0700)]
fix arm64 build break
[tfs-changeset: 1634120]
Commit migrated from https://github.com/dotnet/coreclr/commit/
43a39ebe216b36b16edc11275c9bfa5bac2679c8
Stephen Toub [Wed, 19 Oct 2016 12:27:47 +0000 (08:27 -0400)]
Merge pull request dotnet/coreclr#7709 from wtgodbe/publishProj
Only build TargetingPack when building on Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8b86d144d337f0f0d698ac1c60cf87e1b9c1011
Matt Ellis [Wed, 19 Oct 2016 08:42:45 +0000 (01:42 -0700)]
Support "offline" initializtion of Tools (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
380dd6d4aad88103efa6ae58830be356d20e742d
Jan Vorlicek [Wed, 19 Oct 2016 06:43:29 +0000 (08:43 +0200)]
Fix passing struct with four floats in registers via reflection (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6dc1f30d29893b8bb085523c49cc79d47d13f2b7
Jan Kotas [Wed, 19 Oct 2016 06:18:24 +0000 (23:18 -0700)]
Fix build break
[tfs-changeset: 1634099]
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c7a8bb321980e86517947bf4b7140f375ff3cd7
Jan Kotas [Wed, 19 Oct 2016 05:14:41 +0000 (22:14 -0700)]
Merge pull request dotnet/coreclr#7712 from dotnet/revert-7494-CoreLib
Revert "Delete mscorlib from CoreCLR targeting pack"
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a9c0c94484cc9102ef0ec34de372b828a8f05fa
Gaurav Khanna [Wed, 19 Oct 2016 03:28:12 +0000 (20:28 -0700)]
Cleanup external dependency details
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3d88b2aec06b00a29a2c6da8ea33624632e82bd
Rahul Kumar [Wed, 19 Oct 2016 03:00:14 +0000 (20:00 -0700)]
Merge pull request dotnet/coreclr#7681 from rahku/_appdomain
Expose apis in System.Reflection.Assembly
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3374228fd9f978f512a4d2156017b0b6494b90a
Tarek Mahmoud Sayed [Wed, 19 Oct 2016 01:28:36 +0000 (18:28 -0700)]
Enable DateTimeFormatInfo netstandard 1.7 APIs on Linux (dotnet/coreclr#7713)
* Enable DateTimeFormatInfo netstandard 1.7 APIs on Linux
* Remove un-necessary return
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c4bbb1fd51955ed87b583d25103c436bd3eb5dc
Rahul Kumar [Mon, 17 Oct 2016 23:52:57 +0000 (16:52 -0700)]
Expose apis in System.Reflection.Assembly
Commit migrated from https://github.com/dotnet/coreclr/commit/
153162f00bff94660b69237bcea341fb11e90926
Sergey Andreenko [Tue, 18 Oct 2016 23:46:59 +0000 (16:46 -0700)]
format fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
04d35297084bf8c8d2bb2c93d969555ab17a9ee0
Sergey Andreenko [Tue, 18 Oct 2016 23:42:42 +0000 (16:42 -0700)]
helper address is already known
Commit migrated from https://github.com/dotnet/coreclr/commit/
f35e83864482792785865d3286686d6a5e3dae60
Gaurav Khanna [Tue, 18 Oct 2016 22:04:48 +0000 (15:04 -0700)]
Cleanup External Dependency references
Commit migrated from https://github.com/dotnet/coreclr/commit/
66b9f6796f40e18f0179b018a59cf25e66b3c0a7
Gaurav Khanna [Tue, 18 Oct 2016 22:00:32 +0000 (15:00 -0700)]
Remove Arm32 dependency from closed build
Commit migrated from https://github.com/dotnet/coreclr/commit/
724e30463d73b1a297d5205e287f07ef78da0fe4
Sergey Andreenko [Tue, 18 Oct 2016 21:31:55 +0000 (14:31 -0700)]
format fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe41679021568d467ad00b79449684be900e9760
William Godbe [Tue, 18 Oct 2016 21:27:25 +0000 (14:27 -0700)]
Revert "Delete mscorlib from CoreCLR targeting pack"
Commit migrated from https://github.com/dotnet/coreclr/commit/
85054b58ce069495a2595a2bafba86777d7ca045
William Godbe [Tue, 18 Oct 2016 21:11:16 +0000 (14:11 -0700)]
Merge pull request dotnet/coreclr#7700 from wtgodbe/1.1
Upgrade build-against-packages frameworks to NetStandard1.1
Commit migrated from https://github.com/dotnet/coreclr/commit/
c764a9585625d88922ca92ea0798cd1bbce316c0
wtgodbe [Tue, 18 Oct 2016 20:40:35 +0000 (13:40 -0700)]
Only publish TargetingPack when building on Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
88dde249e83a99211ee82df8288da409acd38134
Vance Morrison [Tue, 18 Oct 2016 20:17:28 +0000 (13:17 -0700)]
Fix Link (dotnet/coreclr#7699)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a48315e9924d148d38a6b3ebca4ffa0c1537f1a
Carol Eidt [Tue, 18 Oct 2016 20:08:33 +0000 (13:08 -0700)]
Merge pull request dotnet/coreclr#7698 from CarolEidt/Fix278371
Allow non-constant size for rep stos InitBlk on x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d9184ccaaf86e1a1d627750e3e980fef8f3b8f5
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 dotnet/coreclr#7696.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a24d7e9eca0d1d8bf93f854bd9985a8e97526fab
Rahul Kumar [Tue, 18 Oct 2016 20:00:52 +0000 (13:00 -0700)]
Merge pull request dotnet/coreclr#7701 from rahku/arm64fixes
_isnanf is not defined for arm64 use isnan instead
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b05f1c2e523ebd88c20f00130ad87954e4f358d
Sergey Andreenko [Tue, 18 Oct 2016 19:54:51 +0000 (12:54 -0700)]
header for getRuntimeContextTree
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0a00ddccdf3a667e39591eaf07e4128b7fee48f
Sergey Andreenko [Tue, 18 Oct 2016 19:41:11 +0000 (12:41 -0700)]
return break to the previous position,
Commit migrated from https://github.com/dotnet/coreclr/commit/
42207e600a621af6a5a4636c8de629e8f67063a7
Rahul Kumar [Tue, 18 Oct 2016 18:58:20 +0000 (11:58 -0700)]
_isnanf is not defined for arm64 use isnan instead
Commit migrated from https://github.com/dotnet/coreclr/commit/
0229860b530829e3ed2ccbfefa2574a529f9ede4
wtgodbe [Tue, 18 Oct 2016 18:49:19 +0000 (11:49 -0700)]
Upgrade build-against-packages dependencies to NetStandard1.1
Commit migrated from https://github.com/dotnet/coreclr/commit/
d809b0a8d135f4a25f3943beef9cd34bded4b7c8
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2027a48c8c6f674b0392d74436f192c96f7d6337
Sivarv [Tue, 18 Oct 2016 17:18:25 +0000 (10:18 -0700)]
Merge pull request dotnet/coreclr#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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a09852cff2a62619d423ad7f5ebf2284981250f
Evgeny Pavlov [Tue, 18 Oct 2016 17:17:45 +0000 (20:17 +0300)]
Fix issue dotnet/coreclr#7470 (Regression with enabled GDB JIT interface) (dotnet/coreclr#7688)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1893774823adf393c3688536825a1bbad2581640
Tanner Gooding [Tue, 18 Oct 2016 09:56:53 +0000 (02:56 -0700)]
Adding single-precision math functions. (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6057b18d33216c3ee1436411e42e75a915a4714b
Eric Mellino [Tue, 18 Oct 2016 04:48:18 +0000 (21:48 -0700)]
Merge pull request dotnet/coreclr#7684 from mellinoe/fix-alpine-pgks
Fix placeholder pdb file path in alpine nuget packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
bed314bb3005e3c5fc0b3c0723e398e702e08f65
Jan Kotas [Tue, 18 Oct 2016 04:40:45 +0000 (21:40 -0700)]
Merge pull request dotnet/coreclr#7648 from jkotas/fix-docs
Update instructions to use local dotnet tool build
Commit migrated from https://github.com/dotnet/coreclr/commit/
fbbe590055c89744097838355744541c71132a08
Alex Perovich [Tue, 18 Oct 2016 03:55:55 +0000 (20:55 -0700)]
Add missing Arg_BadDecimal resource to corelib (dotnet/coreclr#7673)
Fixes dotnet/coreclr#7671
Commit migrated from https://github.com/dotnet/coreclr/commit/
005b0473a938a9f6ea8223ae5158893322402b04
Pat Gavlin [Tue, 18 Oct 2016 03:18:29 +0000 (20:18 -0700)]
Merge pull request dotnet/coreclr#7676 from pgavlin/EmitKillGCRefRRWSH
Update GC info when emitting IF_RRW_SHF.
Commit migrated from https://github.com/dotnet/coreclr/commit/
293b56c817ca6dbaaf3470117a09aab4f9d9b246
Eric Mellino [Tue, 18 Oct 2016 02:46:50 +0000 (02:46 +0000)]
Fix placeholder pdb file path in alpine nuget packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
3738bb62bbcd12bb6711ae42f44d3ac60f8d55ab
Jan Kotas [Tue, 18 Oct 2016 01:29:03 +0000 (18:29 -0700)]
Include project.json template in the instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
99937eea327509bef5bec333596d91daebd5abde
Pat Gavlin [Tue, 18 Oct 2016 02:05:14 +0000 (19:05 -0700)]
Merge pull request dotnet/coreclr#7608 from pgavlin/MoveGSCookieCheck
Generate GS cookie checks before consuming call args.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cea717ba929c3f6318e9f2f776465b7d55133ec8
Jan Kotas [Tue, 18 Oct 2016 01:53:39 +0000 (18:53 -0700)]
Merge pull request dotnet/coreclr#7682 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
1dd2b671dd782bd1fe6a7a4eb2aad50e27e25376
Jan Vorlicek [Tue, 18 Oct 2016 01:53:27 +0000 (03:53 +0200)]
Fix memcpy undef (dotnet/coreclr#7675)
This change fixes a memcpy #undef in the palinternal.h. It was undefed only for
non-debug builds, but it needs to be undefed for debug build as well. The non-debug
undef covers the case where memcpy is defined as DUMMY_memcpy, but doesn't cover
the debug case where memcpy is defined as PAL_memcpy.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b24e111d001aea593e87b4b55c77b8a050691202
Jan Kotas [Mon, 17 Oct 2016 23:27:08 +0000 (16:27 -0700)]
Change the name buildtools semaphore temporarily
Commit migrated from https://github.com/dotnet/coreclr/commit/
943b05e15ea0d8936b7ebd145391d7c82f26d3e7
Jan Kotas [Mon, 17 Oct 2016 03:32:46 +0000 (20:32 -0700)]
Update instructions to use local dotnet tool build
Commit migrated from https://github.com/dotnet/coreclr/commit/
b39d1afb8f6d28340786eeaba142afbd2eff3790
sivarv [Tue, 18 Oct 2016 00:20:30 +0000 (17:20 -0700)]
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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2632e674b99f189b44050ac3acd6739d63b23b95
Sergey Andreenko [Mon, 17 Oct 2016 23:58:27 +0000 (16:58 -0700)]
ifdef for EE version
Commit migrated from https://github.com/dotnet/coreclr/commit/
a29a646cb5b5337854054f81573ae545433814d8
William Godbe [Mon, 17 Oct 2016 23:55:35 +0000 (16:55 -0700)]
Merge pull request dotnet/coreclr#7628 from wtgodbe/HelixFinal
Build tests against packages & produce Core_Root for arbitrary OS
Commit migrated from https://github.com/dotnet/coreclr/commit/
15711b096d9990881bb6464532811f2d58630c8d
Koundinya Veluri [Mon, 17 Oct 2016 23:52:38 +0000 (16:52 -0700)]
Merge pull request dotnet/coreclr#7667 from kouvel/ApiThreadCleanup
Expose RuntimeThread.Yield, fix warning
Commit migrated from https://github.com/dotnet/coreclr/commit/
56032e0e66cfa4f5f4a35316cf98dd7dcd57e5c3
Rama Krishnan Raghupathy [Mon, 17 Oct 2016 23:36:01 +0000 (16:36 -0700)]
Adding SafeSerializationEventArgs to netstandard2.0
[tfs-changeset: 1633663]
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc382fd9ef27b9d200045cc030cf09b7bf547173
Pat Gavlin [Thu, 13 Oct 2016 23:59:28 +0000 (16:59 -0700)]
Generate GS cookie checks before consuming call args.
This is necessary in order to correctly calculate the liveness of the
call arguments. Generating this check after consuming the arguments
causes errors in the GC info s.t. GC ref arguments are not considered
live past the call instruction: instead, they are considered dead
before the call instruction.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ade4f81640356ab647f552ade6ac57e5f2d723d
Matthew Parkinson [Mon, 17 Oct 2016 22:56:50 +0000 (23:56 +0100)]
Fixing PAL_TRY use in BOTR (dotnet/coreclr#7658)
In the Exceptions Section it gives an example use of `PAL_TRY`,
but the parameters to the `PAL_TRY` need to be passed as an argument,
and cannot be implicit. This commit brings the change inline with
the programming model.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e085b70a10638aab4b7b1341da99b7698e1c131
Tarek Mahmoud Sayed [Mon, 17 Oct 2016 22:44:36 +0000 (15:44 -0700)]
Enable NumberFormatInfo netstandard 1.7 APIs (dotnet/coreclr#7659)
* Enable NumberFormatInfo netstandard 1.7 APIs
* Remove ComVisible attributes
* Remove more ComVisible attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
afed5fd929d862f3b41eb1f2185e132b4d8364cd
Jan Kotas [Mon, 17 Oct 2016 22:36:34 +0000 (15:36 -0700)]
Merge pull request dotnet/coreclr#7657 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9f04e2c9bd6fd0c4dc9075ec9b38f6fdaa97646
Pat Gavlin [Mon, 17 Oct 2016 22:26:53 +0000 (15:26 -0700)]
Update GC info when emitting IF_RRW_SHF.
Instructions with this format should never produce a GC reference, and
should kill any GC reference that was in the destination register.
This situation can arise with IR such as the following:
t1347 = &lclFld byref V00 loc0 [+8] Fseq[m_b] REG ecx
/--* t1347 byref
* st.lclVar int V271 tmp270 d:3 ecx REG ecx RV
t8942 = lclVar int V271 tmp270 ecx REG ecx RV
t8937 = const int 0 reuse reg val REG eax RV
/--* t8942 int
+--* t8937 int
t8943 = * gt_long long REG NA
t8939 = const int 4 REG NA
/--* t8943 long
+--* t8939 int
t8944 = * <<Hi int REG eax
t6676 = lclVar int V271 tmp270 u:3 ecx (last use) REG ecx RV $6b6
t8940 = const int 4 REG NA
/--* t6676 int
+--* t8940 int
t8941 = * << int REG ecx
For this IR, we generate the following x86 assembly:
IN04b3: 001218 8D4DE8 lea ecx, bword ptr [ebp-18H]
IN04b4: 00121B
0FA4C804 shld eax, ecx, 4
IN04b5: 00121F C1E104 shl ecx, 4
Where the `lea` corresponds to the `&lclFld` node, the `shld`
corresponds to the `<<Hi` node, and the `shl` corresponds to the `<<`
node. Because the `&lclFld` node is typed as a byref, the `lea`
instruction marks `ecx` as a byref register. Normally, the `st.lclVar`
would update the gc-ness of its destination, but in this case it is
elided because its source register matches its destination register. As
a result, `ecx` is still considered to contain a byref value at the
point of the `shl`.
It is very likely that it is also a bug that the elided `st.lclVar` does
not udpate the gc-ness of its destination, though it remains to be seen
whether or not this can cause SBCG in other cases.
The typing of the `&lclFld` node as a byref is also questionable, as
these nodes are guaranteed to point to the stack (and are therefore
never heap references). This typing is conservatively correct, however,
and AFAICT only causes us to over-report registers or stack slots in the
generated GC info.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2d82e2740d666ef9c4e661ad5798b387ced75b13
Bruce Forstall [Mon, 17 Oct 2016 22:25:15 +0000 (15:25 -0700)]
Merge pull request dotnet/coreclr#6679 from parjong/fix/issue_6569
Revises isSingleFloat32Struct
Commit migrated from https://github.com/dotnet/coreclr/commit/
17c64ff8fa9651419e0e4ca7fe3dcd719f88a685
Pat Gavlin [Mon, 17 Oct 2016 22:10:06 +0000 (15:10 -0700)]
Merge pull request dotnet/coreclr#7661 from pgavlin/FixInteropTestCC
Fix calling conventions in ByValArray test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3cef5bf091c6e8b44ce61ca7335f9ee794a25b6
Eric Mellino [Mon, 17 Oct 2016 22:07:52 +0000 (15:07 -0700)]
Merge pull request dotnet/coreclr#7668 from mellinoe/alpine-rids
Add native package projects for alpine.3.4.3-x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
25a5ef7ca464f674d3ea72031532a2541932af4d
Sergey Andreenko [Mon, 17 Oct 2016 19:52:12 +0000 (12:52 -0700)]
helper for corert
Helper to get ready to run, shared, generic, static base.
Commit migrated from https://github.com/dotnet/coreclr/commit/
303423012bdce22a871dc14a30e600525dc33d57
William Godbe [Mon, 17 Oct 2016 20:49:55 +0000 (13:49 -0700)]
Merge pull request dotnet/coreclr#6613 from wtgodbe/packagebuilds
Use packages.builds when generating nuget packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
28e1653a673d7ed86b523af8227ba1d5d037ae45
Sergey Andreenko [Mon, 17 Oct 2016 19:52:12 +0000 (12:52 -0700)]
helper for corert
Helper to get ready to run, shared, generic, static base.
Commit migrated from https://github.com/dotnet/coreclr/commit/
03487ab5fb497031c2b2a770156361eef2da2672
Eric Mellino [Mon, 17 Oct 2016 20:16:05 +0000 (13:16 -0700)]
Add new alpine packages to pkg .builds and .pkgproj files
Commit migrated from https://github.com/dotnet/coreclr/commit/
39d735eb309eba3e249f34d19ede9678cd3c0735
Eric Mellino [Mon, 17 Oct 2016 20:11:13 +0000 (20:11 +0000)]
Allow Alpine to build System.Private.CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
b73909cc0e0d5c0e51eb6780f7cfb587357a0617