William Godbe [Mon, 18 Jul 2016 22:40:16 +0000 (15:40 -0700)]
Merge pull request dotnet/coreclr#6322 from wtgodbe/packageFixes
Fix package build in build-packages.sh to use dotnet instead of corerun
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b4ad33e5bf5ebc82f4a569b81dcd41b19fe1240
wtgodbe [Mon, 18 Jul 2016 21:49:30 +0000 (14:49 -0700)]
Fix package build in build-packages.sh to use dotnet instead of corerun
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbf1d3e4b38c70a2eebe9b59d7a6939c1561902a
Peter Jas [Mon, 18 Jul 2016 21:13:24 +0000 (00:13 +0300)]
Fix libc path for macOS El Capitan (dotnet/coreclr#6302)
Commit migrated from https://github.com/dotnet/coreclr/commit/
88bebd822986bc80ced22ced30b25c5e421617e5
Dan Moseley [Mon, 18 Jul 2016 20:42:18 +0000 (13:42 -0700)]
Add to model.xml several members we wish to expose in the FX (dotnet/coreclr#6310)
* Add to model.xml several members we wish to expose in the FX.
Done by pulling lines selectively from a model.xml created from the full
s.p.corelib.dll.
* Add parameter to build.cmd to build both mscorlib and its native image, then stop. Also dump any errors to console for CI.
* Fix up to date check of BCLRewriter: should build when model.xml is changed
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a13a029ef492ce167cf2ec0e46ae5e5cd08dda2
Peter Jas [Mon, 18 Jul 2016 19:03:29 +0000 (22:03 +0300)]
Add Lazy<T>(T value) constructor (dotnet/coreclr#6304)
Fix dotnet/corefxdotnet/coreclr#2578
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9774389f13862104605a092921d4e3872524096
Kyungwoo Lee [Mon, 18 Jul 2016 15:49:37 +0000 (08:49 -0700)]
Merge pull request dotnet/coreclr#6315 from kyulee1/disemail
ARM64: Temporarrily disable email notification
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d9906925d65fb96ccb8bf31298673c6581a62b9
Kyungwoo Lee [Mon, 18 Jul 2016 15:46:45 +0000 (08:46 -0700)]
ARM64: Temporarrily disable email notification
Currently all Arm64 boxes are dead.
They need to be upgraded.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0105a941698c7d85b0881fa211031a5ba848df7b
Jostein Kjønigsen [Mon, 18 Jul 2016 06:23:25 +0000 (08:23 +0200)]
Provide guidance for common build-failure scenario. (dotnet/coreclr#6164)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ec1a4908f5fa5ef59af83399600b5727f95486d
Stephen Toub [Mon, 18 Jul 2016 05:44:15 +0000 (01:44 -0400)]
Add ICloneable back to several globalization types on Unix (dotnet/coreclr#6307)
The globalization implementation used for corefx on Unix came from corert, which didn't have ICloneable, and thus the globalization types that implement ICloneable in desktop and coreclr on Windows don't on Unix. Now that ICloneable is coming back, we need these types to implement ICloneable appropriately.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ec09b87b1f1f9cae1c75c603599552863a8ce0d
James Ko [Mon, 18 Jul 2016 05:18:26 +0000 (01:18 -0400)]
Minimize buffer allocations in Stream.CopyTo for seekable streams (dotnet/coreclr#4540)
The current implementation of Stream.CopyTo allocates a giant, 81920-byte buffer if no bufferSize parameter is passed. This is incredibly wasteful if the stream we're copying from can seek, because then we can use the Length and Position properties to determine how many bytes are left and allocate a buffer of that size.
Commit migrated from https://github.com/dotnet/coreclr/commit/
91eb03162ceef78beb33548cacd98105376a2a4c
Jan Kotas [Sun, 17 Jul 2016 07:24:32 +0000 (09:24 +0200)]
GC update from CoreRT (dotnet/coreclr#6305)
https://github.com/dotnet/corert/tree/master/src/Native/gc dotnet/coreclr@
bc9671edca37502794c01647215519d4254d3ad4
Commit migrated from https://github.com/dotnet/coreclr/commit/
bdfce9ed7fb93086f0b10ce999e2c21f34e08ada
Aditya Mandaleeka [Fri, 15 Jul 2016 22:16:31 +0000 (15:16 -0700)]
Merge pull request dotnet/coreclr#6299 from mairaw/patch-1
fix small typos on contributing guide
Commit migrated from https://github.com/dotnet/coreclr/commit/
1383b557d7be7268fa3e80dac8c908eae335a0e5
Maira Wenzel [Fri, 15 Jul 2016 21:50:54 +0000 (14:50 -0700)]
fix small typos
Commit migrated from https://github.com/dotnet/coreclr/commit/
1351cd9ac738f82323a613d0706bc148fdbd02a4
Sean Gillespie [Fri, 15 Jul 2016 21:15:29 +0000 (14:15 -0700)]
Merge pull request dotnet/coreclr#6296 from swgillespie/vscode-gitignore
Add VS Code local settings folder to gitignore
Commit migrated from https://github.com/dotnet/coreclr/commit/
9216c56905f5987a6a6cded69b142c29933b1872
William Godbe [Fri, 15 Jul 2016 19:50:58 +0000 (12:50 -0700)]
Merge pull request dotnet/coreclr#6295 from wtgodbe/initToolsFix
Stop chmoding nonexistant corerun file in Tools dir
Commit migrated from https://github.com/dotnet/coreclr/commit/
4751225a60d76acc4cad3108e634549daa274577
wtgodbe [Fri, 15 Jul 2016 18:10:49 +0000 (11:10 -0700)]
Stop chmoding nonexistant corerun file in Tools dir
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b70df555e2e92f52a45eef0df7bc758a1799118
Sejong Oh [Fri, 15 Jul 2016 17:46:42 +0000 (10:46 -0700)]
Merge pull request dotnet/coreclr#6037 from sejongoh/linux_struct_arg
Unecessary Linux stack argument copy
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a1ad50967ae00888949643307fc87c29880f40a
Jarret Shook [Fri, 15 Jul 2016 16:58:33 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#6249 from prajwal-aithal/devel/arm-ci-documentation
Documentation: Add documentation for building coreclr for emulator
Commit migrated from https://github.com/dotnet/coreclr/commit/
63e59cc3199d4bb480345cb4d90cf447aea702b1
Michal Strehovský [Fri, 15 Jul 2016 06:11:27 +0000 (23:11 -0700)]
Merge pull request dotnet/coreclr#6287 from MichalStrehovsky/removeAssertOnMustExpand
Remove assert validating intrinsic expansion on mustExpand
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a9096bc059c66dbed583cfe986cb2eb61cdfa17
Jarret Shook [Thu, 14 Jul 2016 22:58:09 +0000 (15:58 -0700)]
Merge pull request dotnet/coreclr#6050 from prajwal-aithal/devel/arm-ci-runtests
ARM-CI: Add tests to CI script
Commit migrated from https://github.com/dotnet/coreclr/commit/
73df4f03fe63d981b74afc1c6c09ffe8960c475d
Michal Strehovský [Thu, 14 Jul 2016 22:26:20 +0000 (15:26 -0700)]
Remove assert validating intrinsic expansion on mustExpand
The assert is incorrect. Consider expansion of
CORINFO_INTRINSIC_RTH_GetValueInternal, where the RuntimeTypeHandle was
created through a generic lookup helper call. The intrinsic expansion of
this sequence becomes the generic lookup helper call on it's own.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f063377de71efdba671832772507c1997bb3a046
Sejong OH [Mon, 11 Jul 2016 20:44:09 +0000 (13:44 -0700)]
Remove unnecessary copies for stack struct argument except:
- struct is promoted to registers
- fgMakeOutgoingStructArgCopy is called
- tree pattern of obj - addr - simd operator
* call void foo
...
+--* obj simd16
| \--* addr byref
| | /--* lclVar simd16 V05 loc4
| \--* simd simd16 int -
| \--* lclVar simd16 V08 tmp1
...
Commit migrated from https://github.com/dotnet/coreclr/commit/
68d5832f204e791943a7e1c5a7f0c80063cf3c7a
William Godbe [Thu, 14 Jul 2016 20:20:44 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#6256 from wtgodbe/buildToolsVersion
Update to latest version of buildtools
Commit migrated from https://github.com/dotnet/coreclr/commit/
e06211d164f565242d1a8fab9d88965210eb7f64
wtgodbe [Wed, 13 Jul 2016 17:29:43 +0000 (10:29 -0700)]
Update to latest version of buildtools
Commit migrated from https://github.com/dotnet/coreclr/commit/
a23208ece81828d3524d3318f58e0c45350dc491
Bruce Forstall [Thu, 14 Jul 2016 18:39:48 +0000 (11:39 -0700)]
Merge pull request dotnet/coreclr#6276 from BruceForstall/LocAllocCleanup
Clean up localloc implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8bdf3e20dab4f39649338ab65fb5aa25e7f913c
Bruce Forstall [Wed, 13 Jul 2016 23:00:35 +0000 (16:00 -0700)]
Clean up localloc implementation; improve AMD64 codegen for initialized locallocs
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a516a2b03833d3f445c20f52ea41c45e233c2ab
Brian Sullivan [Thu, 14 Jul 2016 14:14:50 +0000 (07:14 -0700)]
Merge pull request dotnet/coreclr#6274 from hqueue/arm/xor_swap
Introduce XOR swap to legacy codegen for ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
59b0355f4f4308c34610ded81f4d00fe3070d0ee
Hyung-Kyu Choi [Thu, 14 Jul 2016 07:23:57 +0000 (16:23 +0900)]
Introduce XOR swap to legacy codegen for ARM32
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
11f6a0d41a57bb1e80a5e63165de257624fdfb80
Prajwal A N [Wed, 13 Jul 2016 04:12:12 +0000 (13:12 +0900)]
docs: Add building coreclr for emulator
Added documentation for building coreclr for the Linux ARM Emulator.
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c277086192d6a600f81e752239dd0ec2d02ae83
Stephen Toub [Thu, 14 Jul 2016 02:50:23 +0000 (22:50 -0400)]
Merge pull request dotnet/coreclr#6263 from stephentoub/remove_serializable
Add #if FEATURE_SERIALIZATION around customized [Serializable]s
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea12884d1a09b66c4452ef1d962f77446996f681
Rahul Kumar [Thu, 14 Jul 2016 02:26:40 +0000 (19:26 -0700)]
Merge pull request dotnet/coreclr#6257 from rahku/crossgen
ARM64:Similar to arm, in order to preserve volatile semantics MemoryB…
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f95234dcb278e8f68ec508700e5632cf845a015
Jan Vorlicek [Wed, 13 Jul 2016 22:54:42 +0000 (00:54 +0200)]
Make StubHelpers::ProcessByrefValidationList NOTHROW (dotnet/coreclr#6258)
This change fixes StubHelpers::ProcessByrefValidationList so that it doesn't throw.
While there was a EX_TRY / EX_CATCH, the catch handler calls FormatValidationMessage
to format the message before aborting the process and that function can throw.
The fix is to wrap the inside of the EX_CATCH in one more EX_TRY / EX_CATCH and
abort the process without message if there is an exception in the FormatValidationMessage.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a8cae775a27861a37f89b2c042faea90e25cdaa
Stephen Toub [Wed, 13 Jul 2016 22:51:38 +0000 (18:51 -0400)]
Merge pull request dotnet/coreclr#6205 from stephentoub/environmentaugments
Add EnvironmentAugments to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
c93479bd7aa9aa7fa15af9a6d6aa7d24668a6e9a
Carol Eidt [Wed, 13 Jul 2016 22:44:44 +0000 (15:44 -0700)]
Merge pull request dotnet/coreclr#6182 from wateret/fix-6051
[ARM-softfp/Linux] Get precise type for struct
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a685cb47e0335ff3f7cd577cb8f0ba6ccbb8947
Stephen Toub [Wed, 13 Jul 2016 22:43:45 +0000 (18:43 -0400)]
Add #if FEATURE_SERIALIZATION around non-functional [Serializable]
We're adding BinaryFormatter to corefx. At present, ISerializable and friends are declared in corefx rather than being exported from System.Private.Corelib. As a result, there are a fair number of types in mscorlib that try to customize their serialization, but because they're doing so using interfaces that aren't exported (and in some cases, aren't even currently compiled in), a formatter outside of Corelib sees a type as serializable but then tries to serialize it using the default rules and fails.
This commit ifdefs the [Serializable] attribute on types that try to customize their serialization. If in the future we decide we want to expose ISerializable and friends from Corelib in order to enable the serialization of these types (which we'll likely want to), e.g Delegate, Exception, etc. we'll need to turn on FEATURE_SERIALIZATION for coreclr, and these will all come back automatically.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc728f293e5a1fa84edadf5bee3dd37dbdab9108
William Godbe [Wed, 13 Jul 2016 22:14:26 +0000 (15:14 -0700)]
Merge pull request dotnet/coreclr#6255 from wtgodbe/targetingpack
Build the TargetingPack package as part of build-packages scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1770839b1ab1a2dc2922c9567559cae295e61b6
Pat Gavlin [Wed, 13 Jul 2016 22:11:13 +0000 (15:11 -0700)]
Merge pull request dotnet/coreclr#6254 from pgavlin/RemoveRenameUpdatedVars
Remove RenameUpdatedVars.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec23a84b3cf065ad35a8f3bcf44554674241b799
Stephen Toub [Wed, 13 Jul 2016 20:51:54 +0000 (16:51 -0400)]
Conditionally compile EnvironmentAugments.cs for coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
340f1b0b03cc03767ae0ea40c299ec708752b76c
Stephen Toub [Sat, 9 Jul 2016 21:46:12 +0000 (17:46 -0400)]
Add EnvironmentAugments to coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
18ad6e5810ceef54e3c9dda1b880d601f8450696
Bruce Forstall [Wed, 13 Jul 2016 20:30:33 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#6251 from BruceForstall/Localloc
Implement localloc for RyuJIT/x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
8aa21531be9676335d53a79bb4baed0c5de04316
Bruce Forstall [Tue, 12 Jul 2016 23:38:17 +0000 (16:38 -0700)]
Implement localloc for RyuJIT/x86
Fixes dotnet/coreclr#4182
Change RyuJIT to generate localloc code for x86 the same way legacy JIT does.
E.g., use a push/dec loop for initialized memory. And avoid using "sub esp"
to keep the emitter from tracking stack pointer adjustments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b68469c204678cc8f98609d0b5313b87e2b2f120
Bruce Forstall [Wed, 13 Jul 2016 20:15:02 +0000 (13:15 -0700)]
Merge pull request dotnet/coreclr#6224 from BruceForstall/Fix4177
Fix dotnet/coreclr#4177: RyuJIT/x86 NYI related to lvaArgType()
Commit migrated from https://github.com/dotnet/coreclr/commit/
e37cd0beda29f56f2826b5168ba6240c94145876
Bruce Forstall [Mon, 11 Jul 2016 23:44:41 +0000 (16:44 -0700)]
Fix dotnet/coreclr#4177: RyuJIT/x86 NYI related to lvaArgType()
For x86, this function can simply return the variable type. There is
no need to map struct types. The function actually will never be
called on x86 for struct types because it is only called for register
arguments.
This NYI was only hit in the case of JMP calls. I fixed two cases
in the JMP implementation where FEATURE_VARARGS code assumed AMD64, due
to the Windows AMD64 ABI convention to pass float varargs values in both
integer and floating point registers. I put that under `#ifdef _TARGET_AMD64_`.
This removes 426 NYI.
Commit migrated from https://github.com/dotnet/coreclr/commit/
29aa1e0d7b4da493ad59f628a46510f12898c769
Stephen Toub [Wed, 13 Jul 2016 19:21:36 +0000 (15:21 -0400)]
Merge pull request dotnet/coreclr#6253 from stephentoub/stop_stripping_serializable
Stop BclRewriter from trimming serializable metadata
Commit migrated from https://github.com/dotnet/coreclr/commit/
5247f678f0dd29cf99c17fbaade774336c5db3bb
Rahul Kumar [Wed, 13 Jul 2016 19:06:44 +0000 (12:06 -0700)]
ARM64:Similar to arm, in order to preserve volatile semantics MemoryBarrier instructions needs to be inserted. Otherwise writes to memory locations can be re-ordered. For eg. In function leave_spin_lock() we set holding_thread to -1 and then set pSpinLock->lock to -1. Without memorybarrier it is possible for different threads to see pSpinLock->lock new value of -1 and old value of holding_thread. This causes assertion pSpinLock->holding_thread == (Thread*)-1 in function enter_spin_lock() to fire
Commit migrated from https://github.com/dotnet/coreclr/commit/
921e96243f7892c04dd50e7c9f3c9b4291404cb0
Matt Ellis [Wed, 13 Jul 2016 17:50:26 +0000 (10:50 -0700)]
Merge pull request dotnet/coreclr#6247 from ellismg/add-back-exception-members
Add back some surface area to thinned corelib
Commit migrated from https://github.com/dotnet/coreclr/commit/
2272373807023f2fa56cace19d5bcb4341925372
wtgodbe [Wed, 13 Jul 2016 17:21:50 +0000 (10:21 -0700)]
build the TargetingPack package as part of build-packages scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
c89c893bf1162457deaf5d80971799d770fa92ce
Stephen Toub [Wed, 13 Jul 2016 15:36:34 +0000 (11:36 -0400)]
Stop BclRewriter from trimming serializable metadata
Commit migrated from https://github.com/dotnet/coreclr/commit/
0730720e0b6d94b5e75e37b2287e1145fd8a9331
Pat Gavlin [Tue, 12 Jul 2016 21:48:52 +0000 (14:48 -0700)]
Remove RenameUpdatedVars.
The variable renaming performed by rationalize was originally intended
(according to its comments) to allow assignments that were embedded in
subtrees to be hoisted out into a preceding statement. It appears that
this logic has been removed, so the rename pass is no longer needed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c30ee385bc69e677c29a3907daa4a460a20c6b5a
Hanjoung Lee [Wed, 13 Jul 2016 10:39:21 +0000 (19:39 +0900)]
[ARM-softfp/Linux] Get precise type for pointer-size struct
Compiler::getPrimitiveTypeForStruct may return TYP_FLOAT but is off on softfp.
So we need to check that in another way rather than `IsHfa()`.
Otherwise struct types with single float32 will make inconsistency in gentree.
Which ends up with assert failure "Bad IL: Illegal assignment of float into integer!".
Check is done in Compiler::getPrimitiveTypeForStruct, by isSingleFloat32Struct.
Fix dotnet/coreclr#6051
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba66eeab4b8306ac11feb19d09c19fd2d8e5aa95
Rahul Kumar [Wed, 13 Jul 2016 01:08:53 +0000 (18:08 -0700)]
Merge pull request dotnet/coreclr#6246 from rahku/crossgen
Arm64: remove gcstress_fail tag from certain tests in tests.lst
Commit migrated from https://github.com/dotnet/coreclr/commit/
361edab2925026970715546bdc7ccca0b6c058cd
Matt Ellis [Wed, 13 Jul 2016 01:08:37 +0000 (18:08 -0700)]
Add back some surface area to thinned corelib
We are working on expsosing some existing exception types from
System.Runtime in CoreFX. The implementations will facade over
System.Private.CoreLib, but we need to make sure all the members we expect
to expose from the contract are present in the implementation assembly.
Expose the missing members for ExecutionEngineException,
NotFiniteNumberException and ExternalException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63334898fe2bd9d066d716d084b4da4f4163e15c
Andy Ayers [Wed, 13 Jul 2016 01:06:43 +0000 (18:06 -0700)]
Merge pull request dotnet/coreclr#6244 from AndyAyersMS/FixDataCollection
Inliner: Update data collection by targeting a single inline
Commit migrated from https://github.com/dotnet/coreclr/commit/
e536d7aac159632173b6e5a57e6eb9d48cc293fd
Rahul Kumar [Wed, 13 Jul 2016 01:05:12 +0000 (18:05 -0700)]
Arm64: remove gcstress_fail tag from certain tests in tests.lst
Commit migrated from https://github.com/dotnet/coreclr/commit/
25b38ff210f18307b06ce910d6b9c76eee8b6575
Rahul Kumar [Wed, 13 Jul 2016 01:01:22 +0000 (18:01 -0700)]
Merge pull request dotnet/coreclr#6226 from rahku/crossgen
ARM64: In GetDelegateTarget a portion of the _WIN64 code was under _T…
Commit migrated from https://github.com/dotnet/coreclr/commit/
c29dd79de19fba3bef6f530c3637289daa7c2af2
Matt Ellis [Wed, 13 Jul 2016 00:58:02 +0000 (17:58 -0700)]
Suppress Interactive Shell when running PS
On recent builds of Windows/PowerShell it seems like PS wants to write a
prompt after invoking the script, which causes a problem because that puts
extra gunk into the generated source file from h2inc, which causes
downstream failures.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2de2e19645b8ca536940f739e4106d7bdfdf50a3
Pat Gavlin [Wed, 13 Jul 2016 00:10:37 +0000 (17:10 -0700)]
Merge pull request dotnet/coreclr#6225 from pgavlin/RationalizeCleanup
Refactor top-level comma rewriting.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f12cc106e8ea9df6cfeb5fdcd4564351f8dde890
Pat Gavlin [Wed, 13 Jul 2016 00:09:58 +0000 (17:09 -0700)]
Add a comment at the use of RewriteTopLevelComma.
Commit migrated from https://github.com/dotnet/coreclr/commit/
969f1cd722d776d83ca3a7db4f0441892ce7a703
Andy Ayers [Tue, 12 Jul 2016 23:12:46 +0000 (16:12 -0700)]
Inliner: Update data collection by targeting a single inline
The inliner currently will record detailed data about the last successful
inline performed (given a build with DEBUG or INLINE_DATA defined).
However, for purposes of inline profitability analysis we might be more
interested in the data from an earlier inline.
This change creates a mechanism where the replay log can flag one inline
per method as the target of data collection. The inliner checks for this
attribute during replay and captures that inline's data.
Commit migrated from https://github.com/dotnet/coreclr/commit/
06ee8cd72558018e701f8173e4ed0a5e55be2730
Pat Gavlin [Mon, 11 Jul 2016 22:03:42 +0000 (15:03 -0700)]
Refactor top-level comma rewriting.
Top-level commas were being handled in three separate parts of
rationalize: TreeTransformRationalization, RewriteSimpleTransforms,
and DoPhase. Furthermore, the transform performed by the latter
was distinct from the transforms performed by the former two parts,
as those parts called out to RewriteTopLevelComma in order to do
the necessary rewrite. This change collects the two transforms
in RewriteTopLevelComma and centralizes the comma handling in
RewriteSimpleTransforms.
With the comma handling centralized in RewriteSimpleTransforms,
TreeTransformRationalization was not doing much of anything, so
it has been removed and RewriteSimpleTransforms renamed to
TreeTransformRationalization.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f60b6cda6d9437ce7f5a9e430b4ac49f71183de
chunseoklee [Tue, 12 Jul 2016 21:28:26 +0000 (06:28 +0900)]
active exception regression fix (dotnet/coreclr#6117)
This patch fixes regression caused by
597e160 commit.
Previous PAL_VirtualUnwind does not set CONTEXT_UNWOUND_TO_CALL
properly. In this patch, the flag is added for non-signaled exception.
Commit migrated from https://github.com/dotnet/coreclr/commit/
adb2188ed70751f70a1b9e06aa497bc027cdf8a8
Mike McLaughlin [Tue, 12 Jul 2016 21:12:45 +0000 (14:12 -0700)]
Fix !PrintException (pe) -lines bug where line number/source info is not being displayed. (dotnet/coreclr#6241)
The argument bLineNumbers to FormatGeneratedException was being used a local flag.
Commit migrated from https://github.com/dotnet/coreclr/commit/
39703ca1b330bd3857d351fc5e69fe90c01c9901
Dan Moseley [Tue, 12 Jul 2016 20:26:53 +0000 (13:26 -0700)]
Expose missing members of Array to prep for dotnet/corefxdotnet/coreclr#9998. (dotnet/coreclr#6230)
* Expose missing members of Array to prep for dotnet/corefxdotnet/coreclr#9998. modelgen.exe is helpful.
* Remove dead code
* Implement Array.LongLength.
* Revert "Implement Array.LongLength."
This reverts commit dotnet/coreclr@
fdf7e96172d3b816551b827b6a45fbc692b0551d.
* Revert "Remove dead code"
This reverts commit dotnet/coreclr@
432087c2d6f826db93fa30a07476dc2decb12633.
* Expose Array.GetLongLength from VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e9d46373f7067f140c8a2881d87c82d132727da
Rahul Kumar [Tue, 12 Jul 2016 01:10:13 +0000 (18:10 -0700)]
ARM64: In GetDelegateTarget a portion of the _WIN64 code was under _TARGET_AMD64_ whereas at other places (like NDirectStubLinker::DoNDirect & InlinedCallFrame::HasFunction ) related code is under _WIN64. Make the code in GetDelegateTarget to be in sync with other functions and remove ifdef _TARGET_ADM64_. Without this change for arm64 InlinedCallFrame::m_datum stores unmanaged target pointer but StackWalker assumes it to be a NDirectMethodDesc and tries to dereference it and crashes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de4f885883857eb1bdfc50bebdb5475b1dbfc87e
Bruce Forstall [Tue, 12 Jul 2016 18:16:22 +0000 (11:16 -0700)]
Merge pull request dotnet/coreclr#6137 from papaslavik/int_softfp_fix
Fix for dotnet/coreclr#5877: pre-spill just the floating arguments
Commit migrated from https://github.com/dotnet/coreclr/commit/
36efe1f7527ed207b25283832b035a0db0fee2c8
Bruce Forstall [Tue, 12 Jul 2016 18:14:56 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#5966 from mikedn/x86-neg-long
Implement GT_NEG decomposition
Commit migrated from https://github.com/dotnet/coreclr/commit/
429139c4474ec944c271243c595d2b252aea52c7
Brian Sullivan [Tue, 12 Jul 2016 17:06:13 +0000 (10:06 -0700)]
Merge pull request dotnet/coreclr#6198 from briansull/multireg-refactor
Refactor and cleanup work for passing and returning struct types
Commit migrated from https://github.com/dotnet/coreclr/commit/
b33bd67982a8e9eb956b7116c1d89c7307ba0bb3
Jarret Shook [Tue, 12 Jul 2016 14:31:50 +0000 (07:31 -0700)]
Merge pull request dotnet/coreclr#5948 from jyoungyun/fix/issue_5947
Add testsRunningInsideARM.txt
Commit migrated from https://github.com/dotnet/coreclr/commit/
61bd6290fdc073730837922b0e19d1cd82f5992a
Jan Vorlicek [Tue, 12 Jul 2016 07:44:15 +0000 (09:44 +0200)]
Fix exceptions in GC wave 2 (dotnet/coreclr#6220)
I've removed blocks with PAL_TRY that were under CATCH_GC. I also had to
fix contract problem in GCToEEInterface::GcStartWork that was marked as
THROWS due to StubHelpers::ProcessByrefValidationList being marked as
THROWS, but the StubHelpers::ProcessByrefValidationList in fact doesn't
throw since it has body wrapped in EX_TRY / EX_CATCH.
This also fixes a problem that started to appear after my previous exceptions
fix change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a89fdacae800110064aaf7aa0c72456b97dcd42
Mike Danes [Thu, 23 Jun 2016 19:02:50 +0000 (22:02 +0300)]
Implement GT_NEG decomposition
Commit migrated from https://github.com/dotnet/coreclr/commit/
cdb8a214a807ef0207b7e3cd9313cfaf163bf392
Brian Sullivan [Thu, 7 Jul 2016 20:23:20 +0000 (13:23 -0700)]
Refactor and cleanup work for passing and returning struct types
Replaces argOrReturnTypeForStruct with two new methods:
getArgTypeForStruct - Provides information on how to pass a struct type
getReturnTypeForStruct - Provides information on how to return a struct type
A struct can be passed or return in the following different ways:
1. A struct type may be passed/returned as a primitive type when its size is small
2. A struct type may be passed/returned by reference to a copy
3. A struct type may be passed/returned by value using multiple registers
4. A struct type may be passed by value using a copy on the stack
Incorporated code review feedback with expanded comments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65309244833105024caeeaf5b3c8b4204552ba73
Aditya Mandaleeka [Mon, 11 Jul 2016 22:11:03 +0000 (15:11 -0700)]
Merge pull request dotnet/coreclr#6215 from dotnet-bot/UpdateDependencies20160711061707
Updating External dependencies to beta-24311-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
0804d53c08804928e3b92e3c50b284453dab4944
Pat Gavlin [Mon, 11 Jul 2016 22:00:29 +0000 (15:00 -0700)]
Merge pull request dotnet/coreclr#6221 from pgavlin/RemoveDeadCodeInRationalize
Remove dead code in Rationalize.
Commit migrated from https://github.com/dotnet/coreclr/commit/
03fe2dbeec7cba9a677922a213abf7bbe05f9e6d
Pat Gavlin [Mon, 11 Jul 2016 20:38:30 +0000 (13:38 -0700)]
Remove dead code in Rationalize.
Most of the removed code deals with QMARK rewriting. These nodes
are now rewritten as part of fgMorph, so the rationalizer does not
need to deal with them (other than asserting that they do not
exist).
Other dead code:
- The `Rationalizations` type
- A few split-related declarations and helpers
Commit migrated from https://github.com/dotnet/coreclr/commit/
d506aec447ee80e375c726d92a14711a0aa3d334
Andy Ayers [Mon, 11 Jul 2016 18:10:56 +0000 (11:10 -0700)]
Merge pull request dotnet/coreclr#6204 from AndyAyersMS/ModelPolicyDepthCheck
Inliner: add depth check to ModelPolicy
Commit migrated from https://github.com/dotnet/coreclr/commit/
60ae03fc1ce93e3c4b8b1d73d29efb8c5b67ccef
Aditya Mandaleeka [Mon, 11 Jul 2016 17:27:00 +0000 (10:27 -0700)]
Merge pull request dotnet/coreclr#6216 from hqueue/fix/typo_20160710
Fix a misleading typo in comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
801c8370f3d54568a4a58422d243a7018aeab97f
Bruce Forstall [Mon, 11 Jul 2016 17:20:03 +0000 (10:20 -0700)]
Merge pull request dotnet/coreclr#6202 from BruceForstall/RefactorDecomp
Refactor RyuJIT/x86 long decomposition code
Commit migrated from https://github.com/dotnet/coreclr/commit/
c99eaa4d0e3ff619e98b410af5fb619cebaa58b4
Hyung-Kyu Choi [Mon, 11 Jul 2016 14:40:38 +0000 (23:40 +0900)]
Fix a misleading typo in comment
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5a6a10f8b5255346aec756f80ad9de76f3bb8c2
James Ko [Mon, 11 Jul 2016 12:30:13 +0000 (08:30 -0400)]
Avoid repeated virtual method calls in List.Contains (dotnet/coreclr#6212)
Commit migrated from https://github.com/dotnet/coreclr/commit/
372b5934c14d88bf0ac510676c6fe59b331fb7d8
dotnet-bot [Mon, 11 Jul 2016 06:17:06 +0000 (06:17 +0000)]
Updating External dependencies to beta-24311-00
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad4a66daee813885aca2dfe16e6195960d72003b
Bruce Forstall [Sat, 9 Jul 2016 01:38:59 +0000 (18:38 -0700)]
Refactor RyuJIT/x86 long decomposition code
All decomposition code is now in decompose.cpp, in a Decompose class.
Each node type that is decomposed has its own member function to do
the decomposition. Various helpers have been added to reduce code
duplication. In general, though, the code is as it was before.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e5227d3924ea11f28c5f62dee681b780ee7ecaa
Andy Ayers [Sat, 9 Jul 2016 17:58:02 +0000 (10:58 -0700)]
Inliner: add depth check to ModelPolicy
Give the ModelPolicy the standard depth bailout logic. This mainly
serves to prevent runaway inlining for recursive methods marked with
AggressiveInlining attributes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e6a05e91dbb95e92bcb8d2b622b1eb0bf9ca53a
Andy Ayers [Sat, 9 Jul 2016 15:47:14 +0000 (08:47 -0700)]
Merge pull request dotnet/coreclr#6201 from AndyAyersMS/LowerCallsiteWeight
Inliner: updates to ModelPolicy
Commit migrated from https://github.com/dotnet/coreclr/commit/
de510bda5b744468117d126387fb81ac8f564502
Brian Sullivan [Sat, 9 Jul 2016 02:14:10 +0000 (19:14 -0700)]
Merge pull request dotnet/coreclr#6190 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4fc9b7744b6d2deee2a8bd4ffa7793cc53fc833
Andy Ayers [Fri, 8 Jul 2016 00:53:43 +0000 (17:53 -0700)]
Inliner: updates to ModelPolicy
Updates to bring CS and TP impact of the ModelPolicy into more acceptable
ranges.
For CS, reduce the call site weights to values that are more in keeping
with the legacy policy weights. Local test runs show this does not
drastically alter CQ and brings CS down below LegacyPolicy levels, on
average.
Implement an early out rejection based solely on ILSize. The threshold
value is set by conservatively determining when ILSize alone indicates
the method in question will never be inlined (note the policy itself
does not have an explicit ILSize cutoff). See comments for
`ModelPolicy::NoteInt` for details. Note if we adjust the model's size
and profitability estimates, this threshould will also need updating.
CQ (as measured by the CoreCLR perf tests) continues to show about a
2.5% geomean improvement over LegacyPolicy.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff2700a4b43ffd1fd82fc8a3bb1b24ffc638713a
Jan Vorlicek [Fri, 8 Jul 2016 23:56:00 +0000 (01:56 +0200)]
Fix exceptions in GC (dotnet/coreclr#6192)
The GC code in general doesn't expect exceptions to be thrown from functions
it calls. However, the event creation functions were in fact throwing, so
in case of OOM, exception would be thrown from various places of the code.
This change creates non-throwing versions of the event creation functions
and replaces all usages of the throwing ones in the GC.
In addition, I've removed blocks with PAL_TRY that were under NO_CATCH_HANDLERS
define and also added Object::SetAppDomainNoThrow, which allowed me to removed
EX_TRY from GCHeap::StressHeap where the Object::SetAppDomain was called before.
Commit migrated from https://github.com/dotnet/coreclr/commit/
57b3450f4d232cd53d3b9a0f6566806d73fa4156
Bruce Forstall [Fri, 8 Jul 2016 23:33:19 +0000 (16:33 -0700)]
Merge pull request dotnet/coreclr#6193 from BruceForstall/FixTypos
Fix some typos in comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7d37fe7317381a64aa6331d24e6a9f3d6aab6c5
Rahul Kumar [Fri, 8 Jul 2016 23:30:51 +0000 (16:30 -0700)]
Merge pull request dotnet/coreclr#6195 from rahku/crossgen
Fix SOS bpmd for windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
97ffb0abae1cb9a3bb23f4466d50ebd98600105a
William Godbe [Fri, 8 Jul 2016 23:26:18 +0000 (16:26 -0700)]
Merge pull request dotnet/coreclr#6197 from wtgodbe/heapVerify
Add new scenario to code coverage job
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc97bcc9b9fabf84d7a3d79b39e1d91872e3b000
wtgodbe [Fri, 8 Jul 2016 22:49:32 +0000 (15:49 -0700)]
Add new scenario to code coverage job
Commit migrated from https://github.com/dotnet/coreclr/commit/
0299f94e5742ec7bd4e1227f3667dc79126c1836
Sivarv [Fri, 8 Jul 2016 22:15:39 +0000 (15:15 -0700)]
Merge pull request dotnet/coreclr#6176 from sivarv/lsraTodo
Optimize use of a reg-optional lclVar that is marked for both reload and spillAfter
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd9ab6556646fa8f02112e0cc219b792bad45433
Rahul Kumar [Fri, 8 Jul 2016 22:03:41 +0000 (15:03 -0700)]
Fix SOS bpmd for windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef6ad57a343f8796f7616926348de3baf0370957
Bruce Forstall [Fri, 8 Jul 2016 21:24:24 +0000 (14:24 -0700)]
Fix some typos in comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8896b3b90d14830b9205ea2ed0824cd0591213a
Tarek Mahmoud Sayed [Fri, 8 Jul 2016 18:47:55 +0000 (11:47 -0700)]
Fixing the build break/unsigned to signed warning.
This checkin onbehalf of Tijoytk
[tfs-changeset:
1616784]
Commit migrated from https://github.com/dotnet/coreclr/commit/
587690d0b6354a5056f16be5318427b19214b6cb
sivarv [Fri, 8 Jul 2016 00:19:28 +0000 (17:19 -0700)]
Optimize use of a reg-optional lclVar that is marked for both reload
and spillAfter.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aaef75a21433d56543fcff88434b8be7892e1a95
Aditya Mandaleeka [Fri, 8 Jul 2016 18:35:42 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#6163 from josteink/resolve-python
Resolve Python2.7 when executable is not called 'python'.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1eb421cefab252f69dd7b54c03eed1c3011ee44c
Rich Lander [Fri, 8 Jul 2016 18:34:50 +0000 (11:34 -0700)]
Update contributor guidelines (dotnet/coreclr#6183)
Commit migrated from https://github.com/dotnet/coreclr/commit/
64ab292948fff4244517fa632f758e1d06a10e52
Bruce Forstall [Fri, 8 Jul 2016 17:45:10 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#6177 from BruceForstall/FixMultiregStructArgNyi
Fix RyuJIT/x86 fgMorphMultiregStructArg NYI
Commit migrated from https://github.com/dotnet/coreclr/commit/
db5635455e3472044975052894915233af09303a
Prajwal A N [Wed, 29 Jun 2016 07:50:10 +0000 (16:50 +0900)]
ARM-CI: Add tests to CI script
Previously we just built coreclr for the emulator rootfs
With this PR, we add the ability to perform selected
tests using the built binaries in the emulated environment
We copy artifacts from the Windows build only job and the corefx
Linux ARM Emulator job and use the same to run the build and the
test
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
96b978cae6b7f9757b7bb573f7ef5ec40b220b1f
Jostein Kjønigsen [Thu, 7 Jul 2016 08:49:20 +0000 (10:49 +0200)]
Resolve Python2.7 when executable is not called 'python'.
Commit migrated from https://github.com/dotnet/coreclr/commit/
38c683c17a19bb7119d7334061f18257d9d6ccbb