Peter Kukol [Wed, 7 Sep 2016 15:58:44 +0000 (08:58 -0700)]
Fix the fixes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b529eb4a7377b9430d4da86f82e56949d68b087f
Peter Kukol [Tue, 6 Sep 2016 18:28:30 +0000 (11:28 -0700)]
Fix some timing code bit rot, plus minor cleanup.
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6b1ce7d730a7c58c64cb63f3c44265484c5bd2
Pat Gavlin [Thu, 8 Sep 2016 20:24:00 +0000 (13:24 -0700)]
Merge pull request dotnet/coreclr#7107 from pgavlin/gh7089
Fix dotnet/coreclr#7089.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d54da68a2ba1c1b6345bf66931621b17e1d97f9e
Sean Gillespie [Thu, 8 Sep 2016 20:06:21 +0000 (13:06 -0700)]
Merge pull request dotnet/coreclr#6764 from swgillespie/gc-interface-3
Move the GC behind an interface and use that interface in the VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c43df95410e57f0d40e6ee55012ef65bdac2487
Sean Gillespie [Thu, 8 Sep 2016 18:27:24 +0000 (11:27 -0700)]
Introduce an interface separating the GC and the VM,
modifying the VM to utilize this interface.
Introduce an interface separating the GC and the rest of the VM
Remove static members of both IGCHeap and IGCHeapInternal and move the management of the singular GC heap to the VM.
Rename uses of IGCHeap in the VM to GCHeapHolder, as well as other misc. renames throughout the VM and GC.
Split each interface function into categories, document them, use consistent formatting across the interface
Undo some accidental find/replace collateral damage
Remove all ifdefs from the GC interface
Deduplicate function declarations between IGCHeap and IGCHeapInternal, expose AllocAlign8 through the interface and the reference to alloc_context to repair the ARM build
Paper cut: false -> nullptr
Repair the ARM and x86 builds
Rename GCHeapHolder -> GCHeapUtilities and address documentation feedback
Rebase against master
Rename gcholder.h/cpp -> gcheaputilities.h/cpp
Fix an uninitialized field on alloc_context causing test failures on clang
Rename the include guard for gcheaputilities.h
Un-breaks SOS by making the following changes:
1) Instructs the DAC to look for IGCHeap::gcHeapType by name,
instead of assuming that it exists near g_pGCHeap,
2) Eliminate all virtual calls on IGCHeap in the DAC, since we cannot
dispatch on an object in another process,
3) Because of 2, expose the number of generations past the GC interface
using a static variable on IGCHeap that the DAC can read directly.
repair the Windows build
Commit migrated from https://github.com/dotnet/coreclr/commit/
6519911fbccbec049f9592484f69c213b4b78264
Pat Gavlin [Thu, 8 Sep 2016 17:52:21 +0000 (10:52 -0700)]
Merge pull request dotnet/coreclr#7106 from pgavlin/DecompTP
Improve decomp throughput.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65c2ff78e0e88f5052751747f6686084caab3d4c
Pat Gavlin [Thu, 8 Sep 2016 16:36:20 +0000 (09:36 -0700)]
Return false from isRegPairType for RyuJIT.
The RyuJIT backend does not use regpair types, so this method should
simply return false when that backend is in use. In the future we
should consider removing this method (and other regpair-related code).
Fixes dotnet/coreclr#7089.
Commit migrated from https://github.com/dotnet/coreclr/commit/
57d6887745844ea882b3dde4c54155e4f57f41ff
Rahul Kumar [Thu, 8 Sep 2016 16:44:01 +0000 (09:44 -0700)]
Merge pull request dotnet/coreclr#6995 from rahku/appdomain
Exposes runtime functionality to Appdomain implementation in corefx
Commit migrated from https://github.com/dotnet/coreclr/commit/
70fe825e7245a97c32d9af4212d668e6c1f1e3c5
Pat Gavlin [Thu, 8 Sep 2016 16:31:08 +0000 (09:31 -0700)]
Merge pull request dotnet/coreclr#4986 from mikedn/x86-cast-int-long
Implement integer to long/ulong casts for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
a04c2e30fc3a07640bb94d43d97976975a3676bc
Pat Gavlin [Thu, 8 Sep 2016 14:27:36 +0000 (07:27 -0700)]
Improve decomp throughput.
Don't find uses unless necessary. This saves about 50 milliseconds while
crossgen'ing mscorlib.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db2281ccbcc610ca255d174a3d3e5cf287776089
Rahul Kumar [Tue, 30 Aug 2016 21:56:11 +0000 (14:56 -0700)]
Exposes runtime functionality to Appdomain implementation in corefx
Commit migrated from https://github.com/dotnet/coreclr/commit/
0535ab83944028bb8ed1b323c8537ca8ce5ac8e2
Pat Gavlin [Thu, 8 Sep 2016 15:20:47 +0000 (08:20 -0700)]
Merge pull request dotnet/coreclr#7011 from svick/earlyprop-unused-var
Fix BBF_HAS_NULLCHECK test
Commit migrated from https://github.com/dotnet/coreclr/commit/
c880f864bb91bddd83d5390a85a33c34eee04183
Mike Danes [Thu, 8 Sep 2016 12:14:32 +0000 (15:14 +0300)]
Add a NYI for a long compare codegen issue
Tracked by dotnet/coreclr#7038
Commit migrated from https://github.com/dotnet/coreclr/commit/
30803e00e1b4e132c74a9d2e55931e394c2a39b5
Mike Danes [Sun, 15 May 2016 11:04:13 +0000 (14:04 +0300)]
Implement integer to long/ulong casts for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0737c733f674f047cd23d272002a3427f26fad0
Yufei Huang [Thu, 8 Sep 2016 07:07:54 +0000 (15:07 +0800)]
Add constraint to Enum.Parse<TEnum> (dotnet/coreclr#7104)
Commit migrated from https://github.com/dotnet/coreclr/commit/
83629bab155c313e2cf91045be69d3b980f74f23
Joseph Tremoulet [Thu, 8 Sep 2016 05:04:25 +0000 (01:04 -0400)]
Merge pull request dotnet/coreclr#6889 from JosephTremoulet/StaticField
Fix IMGREL32 static field addr value-num blindspot
Commit migrated from https://github.com/dotnet/coreclr/commit/
200845408154acf072d8079236248c37a7133b24
Joseph Tremoulet [Thu, 8 Sep 2016 05:04:07 +0000 (01:04 -0400)]
Merge pull request dotnet/coreclr#6754 from hseok-oh/castd2ul
disable gtFoldExprConst for conversion from negative double to unsigned long
Commit migrated from https://github.com/dotnet/coreclr/commit/
2448e08eedea49b0c325a60ba567a21883e342fd
Bart J.F. De Smet [Thu, 8 Sep 2016 01:37:45 +0000 (18:37 -0700)]
Make TryEnsureSufficientExecutionStack public (dotnet/coreclr#7077)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff7731cd78d11994e8d755f7f005ca010bf900b7
Jan Vorlicek [Thu, 8 Sep 2016 01:37:07 +0000 (03:37 +0200)]
Fix OSX build break in PAL tests (dotnet/coreclr#7101)
This fixes a build break in PAL tests introduced by a recent checkin
that converted PAL tests to C++.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a845642ab71c8a742c3dc54b81df4866ae79250
Pat Gavlin [Wed, 7 Sep 2016 21:56:39 +0000 (14:56 -0700)]
Merge pull request dotnet/coreclr#7023 from pgavlin/X87MathIntrinsics
Stop treating sine/cosine/round as target intrinsics on x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ddc3d67def51efe26f613557db5701f7c016207c
Pat Gavlin [Wed, 7 Sep 2016 21:45:36 +0000 (14:45 -0700)]
Link dotnet/coreclr#7097 to the relevant code in ::IsTargetIntrinsic.
Commit migrated from https://github.com/dotnet/coreclr/commit/
13e41a6f4e2e29138f93d31f94611a5deb787714
kchoi [Wed, 7 Sep 2016 21:12:22 +0000 (14:12 -0700)]
Fix strict aliasing violation from conditional typedef of wchar_t by building entire project as C++ for Unix (dotnet/coreclr#6801)
Enable building CoreCLR as C++ project on Unix
This series of patches fixes the strict aliasing violation from
the conditional typedef of wchar_t in src/pal/inc/pal_char16.h:40
* rename c files to cpp
* modify all cmake files to change .c files to .cpp
* apply c++ linkage to templates
Commit migrated from https://github.com/dotnet/coreclr/commit/
4149bd2070e0a8beec6dedb238e6fd832a39611b
smile21prc [Wed, 7 Sep 2016 20:51:35 +0000 (13:51 -0700)]
Merge pull request dotnet/coreclr#7016 from smile21prc/coreclr-perf
Create coreclr perf jobs for Linux.
Addressed all the comments, and verified coreclr perf run for Linux with latest coreclr/corefx bits passed:
http://dotnet-ci2.cloudapp.net/job/smile21prc_coreclr/job/coreclr-perf/job/perf_Linux/28/consoleFull
Commit migrated from https://github.com/dotnet/coreclr/commit/
09133905fce3b541702044b6d2bbe942a6b40155
Pat Gavlin [Wed, 7 Sep 2016 20:19:31 +0000 (13:19 -0700)]
Merge pull request dotnet/coreclr#7098 from pgavlin/FixTestOutputPath
Fix the output path when building a single test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4af09ac719a6ec7cd398b379c8062af8bd6f5e24
Smile Wei [Tue, 30 Aug 2016 19:31:25 +0000 (12:31 -0700)]
Create coreclr perf jobs for Linux.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd59a687114248831f6343c40d2b4b80c08b01b5
Pat Gavlin [Wed, 7 Sep 2016 18:09:40 +0000 (11:09 -0700)]
Fix the output path when building a single test.
Add a trailing slash to the base output path.
Commit migrated from https://github.com/dotnet/coreclr/commit/
182dd9f60d900bb4de38f1069fa354e3d190793f
Pat Gavlin [Wed, 7 Sep 2016 17:51:29 +0000 (10:51 -0700)]
Stop treating sine/cosine/round as target intrinsics on x86.
These intrinsics were supported by JIT32 using the corresponding
x87 instructions. There are a few downsides to doing the same in
RyuJIT, however, because it uses SSE for all other floating-point
math:
- The mix of precisions used by the combination of SSE + x87
instructions matches neither the JIT32 nor the RyuJIT/x64
behavior.
- Using the x87 instructions is more expensive, as the result of
the instruction may need to be moved via memory to an SSE
register.
- The RA would need to be udpated in order to better understand
that each x87 instruction may require a spill temp in order to
retrieve the result.
Issue dotnet/coreclr#7097 tracks investigating a custom calling convention for
the appropriate helper calls if necessasry.
Commit migrated from https://github.com/dotnet/coreclr/commit/
32f661368e4f5e7eab667216e663c83913a73b5c
Michelle McDaniel [Wed, 7 Sep 2016 15:55:06 +0000 (08:55 -0700)]
Merge pull request dotnet/coreclr#7065 from adiaaida/multiplyLongMul_Hi
Enable long multiply
Commit migrated from https://github.com/dotnet/coreclr/commit/
df5fbfe2d68a73bc797a3d94120b809a1eaac9cd
Wes Haggard [Wed, 7 Sep 2016 15:54:26 +0000 (08:54 -0700)]
Merge pull request dotnet/coreclr#7081 from yufeih/enum_try_parse
Add Enum.TryParse and Enum.Parse<TEnum>
Commit migrated from https://github.com/dotnet/coreclr/commit/
b83b1a72387e342a4a3707df869ca30f5bb39d9e
Ben Adams [Wed, 7 Sep 2016 15:51:49 +0000 (16:51 +0100)]
ConcurrentDictionary<TKey, TValue> Exceptions to ThrowHelper (dotnet/coreclr#7079)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8b530f8a928b6419ab9d944937e3480ec6c256a
Carol Eidt [Wed, 7 Sep 2016 15:39:42 +0000 (08:39 -0700)]
Merge pull request dotnet/coreclr#7068 from CarolEidt/FixArm64
Fix Arm64 build breaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f027788c5aee2783a5f6db828f4b8da6876f4f4
Tarek Mahmoud Sayed [Wed, 7 Sep 2016 15:25:01 +0000 (08:25 -0700)]
Merge pull request dotnet/coreclr#7075 from tarekgh/DisableZh-CHS-CHT
Avoid creating zh-CHS/zh-CHT durng culture enumeration
Commit migrated from https://github.com/dotnet/coreclr/commit/
41aa1990bcd6b0e427e736c5d0253f5f9fcb890d
Michelle McDaniel [Wed, 31 Aug 2016 15:14:57 +0000 (08:14 -0700)]
Enable long multiply
Most long multiplies are converted in morph to helper calls. However,
GT_MULs of the form long = (long)int * (long)int are passed through to be
handled in codegen. In decompose, we convert these multiplies to
GT_MUL_HIs to be handled in a similar manner at GT_MULHI. Since mul and
imul take two ints and return a long in edx:eax, we can handle them
similarly to GT_CALLs, where we save them to lclvars if they aren't
already saved. In codegen, we generate a mul (or imul for signed
multiply), which produces the output in edx:eax, and then we store those
locations when we handle the storelclvar.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef8acec1b92b4fc119b39fd15f7ac5d7df725f0f
Hyung-Kyu Choi [Wed, 7 Sep 2016 13:50:44 +0000 (22:50 +0900)]
Exclude smallFrame.sh test for ARM (dotnet/coreclr#7080)
JIT/Methodical/tailcall_v4/smallFrame/smallFrame.sh contains
"tail.call, pop, ret" pattern. The pattern is not allowed in ECMA and
is only supported on x64 for compatibility. (issue dotnet/coreclr#7036)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
88fbc55acaf4b64c06891663da0b1fc18d79731a
James Ko [Wed, 7 Sep 2016 13:01:33 +0000 (09:01 -0400)]
Correct the virtual overload of Stream.CopyTo (dotnet/coreclr#7082)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef5ceb0b52e3a34f614ab8fd943678b5e1ed1bd1
Yufei Huang [Wed, 7 Sep 2016 08:53:59 +0000 (16:53 +0800)]
Add Enum.TryParse and Enum.Parse<TEnum>
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bba86cf2ddb0e5bc494e56632577fdb5fcebf7e
Ben Adams [Wed, 7 Sep 2016 05:49:53 +0000 (06:49 +0100)]
Task<T> Exceptions to ThrowHelper (dotnet/coreclr#7076)
Commit migrated from https://github.com/dotnet/coreclr/commit/
19346e58c6443638c245f85ee0b31a8c6e7af872
Hyeongseok Oh [Wed, 7 Sep 2016 04:26:05 +0000 (13:26 +0900)]
modify comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
358846b9417e1043818cea18da0f18924ebc2a5d
Hyeongseok Oh [Wed, 7 Sep 2016 04:18:39 +0000 (13:18 +0900)]
add comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fd05c6120036bf180b595aa2321d8656a02c3d7
Tarek Mahmoud Sayed [Wed, 7 Sep 2016 01:33:41 +0000 (18:33 -0700)]
Avoid creating zh-CHS/zh-CHT durng culture enumeration
zh-CHS and zh-CHT are old names that is not really supported in the standards.
when we enabled CultureInfo.GetCultures() there was some code that create cultures
for zh-CHS and zh-CHT. The fix here is disable that otherwise we'll have to enable
a good chunk of legacy code to support it while it never supported by coreclr and in
same time are not names used in standards
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ac54bcc7fc17792e283da809e72b44ae8da02a4
James Ko [Wed, 7 Sep 2016 01:19:51 +0000 (21:19 -0400)]
Make Stream.CopyTo virtual (dotnet/coreclr#7070)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2142296ed4d866f0a6afbf20e4858b6310be5226
Rama krishnan Raghupathy [Wed, 7 Sep 2016 00:20:54 +0000 (17:20 -0700)]
Merge pull request dotnet/coreclr#7022 from lemmaa/prevent-build-output-contamination
[Script] Prevent build output contamination while building test overlay
Commit migrated from https://github.com/dotnet/coreclr/commit/
8bd85fe92fda9a2feff1a7d1388a174b64bab57b
Joseph Tremoulet [Tue, 6 Sep 2016 19:54:32 +0000 (15:54 -0400)]
Merge pull request dotnet/coreclr#7064 from JosephTremoulet/MakeCse
Fix GTF_ flag collision
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ae29e81dc17f31b21caec5a5d95bf5e79511171
Carol Eidt [Tue, 6 Sep 2016 19:39:29 +0000 (12:39 -0700)]
Fix Arm64 build breaks
The `GT_STORE_OBJ` case in codegen was missing a break.
`getStructHandleIfPresent` wasn't correctly handling `GT_ASG'.
The `srcCount` was not being set correctly for block ops with a constant size.
And I lost some code in `fgMakeTmpArgNode` with a merge.
Also, I had introduced a dumping issue in gentree.cpp when I made `GT_OBJ` a `GTK_UNOP` as a result of some PR comments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fedf90c774d63c0423858f2948cb63d2dcd9de3a
Gaurav Khanna [Tue, 6 Sep 2016 19:42:14 +0000 (12:42 -0700)]
Merge pull request dotnet/coreclr#6922 from gkhanna79/WinArm32
Enable Arm32 Test Build
Commit migrated from https://github.com/dotnet/coreclr/commit/
84ce20baf0707e9e50f4fda6f483d0c9f3e8f622
Ben Adams [Tue, 6 Sep 2016 18:14:42 +0000 (19:14 +0100)]
Array<T> exceptions to ThrowHelper (dotnet/coreclr#7059)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e1c7eb886ecf819f166a422d79eaa977258228a
Dmitri-Botcharnikov [Tue, 6 Sep 2016 17:27:13 +0000 (21:27 +0400)]
[Linux][LLDB][GDB/JIT] Add support for lldb 'breakpoint set' for jitted code (dotnet/coreclr#6956)
* Add support for lldb 'breakpoint set' for jitted code
* Updated after review
* Enlarge buffer for line program
Commit migrated from https://github.com/dotnet/coreclr/commit/
365fab07c3e49c9b3ca824aad822a17e3e8061c9
Hyung-Kyu Choi [Tue, 6 Sep 2016 17:13:31 +0000 (02:13 +0900)]
Move genIncRegBy() to codegenclassic.h (dotnet/coreclr#7063)
We don't have to keep genIncRegBy() in codegen.h anymore,
since genIncRegBy() is defined in codegenlegacy.cpp and only used in LEGACY_BACKEND code.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
527edfc09a2bd1060bd66fcce1fc99932a332645
Hanjoung Lee [Tue, 6 Sep 2016 16:42:03 +0000 (01:42 +0900)]
[ARM] Remove ARM_HAZARD_AVOIDANCE (dotnet/coreclr#7019)
remove `ARM_HAZARD_AVOIDANCE` as it is a rare case.
For dotnet/coreclr#7003
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9402adedcf9cf5204fd9ece52183ac61cef7c83
Peter Kukol [Tue, 6 Sep 2016 16:21:13 +0000 (10:21 -0600)]
Enable FEATURE_JIT_METHOD_PERF always (even when FEATURE_CORECLR is on). (dotnet/coreclr#7028)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e70de80ef88f15cdc694ed773006854c1ed0b681
Joseph Tremoulet [Fri, 2 Sep 2016 19:22:01 +0000 (15:22 -0400)]
Fix GTF_ flag collision
Define flag `GTF_IS_IN_CSE` (which is used only to communicate in a call to
`gtNodeHasSideEffects` that the caller wants to disregard the side-effect
of running a .cctor) as `GTF_BOOLEAN` rather than `GTF_MAKE_CSE` -- as the
comment at the definition of `GTF_IS_IN_CSE` indicates, the only
requirement on its value is that it not conflict with one of the
side-effect flags, but `gtNodeHasSideEffects` does in fact check for
`GTF_MAKE_CSE`, so the current value conflicts.
Also update the code in `gtNodeHasSideEffects` that is dictated by
`GTF_IS_IN_CSE` to check just for that bit, instead of checking that the
caller passed in exactly `GTF_PERSISTENT_SIDE_EFFECTS_IN_CSE` -- no need
to entangle conceptually independent parameters.
Fixes dotnet/coreclr#7042.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aae2404c2a74a1d3e7e8a37810e6c7c67aabb64
Sung-Jae Lee [Tue, 6 Sep 2016 15:45:33 +0000 (00:45 +0900)]
Add proper support for custom installed llvm tool chain. (dotnet/coreclr#7050)
* Add LLVM_HOME enviroment variable support
Commit migrated from https://github.com/dotnet/coreclr/commit/
cea91c3bced68cc36fcf2fbe167214f69940d3da
Hyeongseok Oh [Tue, 6 Sep 2016 15:43:39 +0000 (00:43 +0900)]
fix helpers' flag: ULDiv, ULMod can throw Div-by-zero exception (dotnet/coreclr#7052)
Commit migrated from https://github.com/dotnet/coreclr/commit/
237245c84f57d3dec091b9e10293eea4b2bd1a28
Ben Adams [Tue, 6 Sep 2016 14:23:37 +0000 (15:23 +0100)]
ArraySegment<T> exceptions to ThrowHelper (dotnet/coreclr#7058)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a90f60e90ef5d75b69d044ea91360f2b0437882e
Hyung-Kyu Choi [Tue, 6 Sep 2016 14:21:11 +0000 (23:21 +0900)]
Exclude two more tests for ARM (dotnet/coreclr#7062)
According to issue dotnet/coreclr#6217, following three tests fails
, because FEATURE_FASTTAILCALL is not supported in ARM.
JIT/Directed/tailcall/tailcall/tailcall.sh
JIT/Methodical/tailcall_v4/hijacking/hijacking.sh
JIT/Regression/JitBlue/devdiv_902271/DevDiv_902271/DevDiv_902271.sh
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc4444c02ceb7cceaee4fbbfd580fcc851a147f0
Sung-Jae Lee [Thu, 1 Sep 2016 08:06:30 +0000 (17:06 +0900)]
Prevent build output contamination while building test overlay
While building test overlay, all files in `$mscorlibDir/bin` are
copyed to `$mscorlibDir` where usually `$coreclrBinDir`.
It contaminates build output. This commit prevent it by moving
copy commend to function `create_core_overlay`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6621d062ecaaa104c674cd235e8499ce820ba39
Tarek Mahmoud Sayed [Mon, 5 Sep 2016 19:13:23 +0000 (12:13 -0700)]
Allow mapping LCID and culture names mapping for neutral culture (dotnet/coreclr#7049)
This change is to pass the flag LOCALE_ALLOW_NEUTRAL_NAMES to the OS API to allow mapping
LCID to/from culture names.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a3506ec958d920096e8f544d5b19100a5969e75
Ben Adams [Mon, 5 Sep 2016 03:34:28 +0000 (04:34 +0100)]
Improve ThrowHelper (dotnet/coreclr#7048)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c32341eeef9b25919d63051a9f9fd92fc55ce6d
Carol Eidt [Sun, 4 Sep 2016 23:42:04 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#7027 from CarolEidt/1stClassStructBlkOps
1st Class Struct Block Assignments
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed9721c7be52ff867bcce2d26a85798382189a15
Rama krishnan Raghupathy [Sat, 3 Sep 2016 04:56:43 +0000 (21:56 -0700)]
Merge pull request dotnet/coreclr#7015 from ramarag/fixup_precode
Implement FixupPrecode for Arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a1735f19cb0bbda4f853343a57bc05f5dd6aa50
Rama Krishnan Raghupathy [Wed, 31 Aug 2016 23:55:28 +0000 (16:55 -0700)]
Implement FixupPrecode for Arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c5d30e757f3cf191b2f96d472bb022d4ce24f56
Carol Eidt [Fri, 2 Sep 2016 23:28:31 +0000 (16:28 -0700)]
More PR comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee0ea250a6bcfed1032d4ecc0ffd081f7a4467a1
Bruce Bowyer-Smyth [Fri, 2 Sep 2016 22:48:57 +0000 (08:48 +1000)]
Reduce item format allocations in AppendFormat (dotnet/coreclr#4702)
Commit migrated from https://github.com/dotnet/coreclr/commit/
db7a920b9d16008516ffc2eec7048c650dad9fb2
Rahul Kumar [Fri, 2 Sep 2016 21:00:58 +0000 (14:00 -0700)]
Merge pull request dotnet/coreclr#6976 from kvochko/prof_elt_callbacks
Enable FunctionEnter/FunctionLeave callbacks on ARM
Commit migrated from https://github.com/dotnet/coreclr/commit/
3dc7ec8d690f3ec209e36cf1da620093616512d6
Matt Mitchell [Fri, 2 Sep 2016 18:29:56 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#7041 from mmitche/add-help-job
Add help job
Commit migrated from https://github.com/dotnet/coreclr/commit/
54ed5e051412c34a3bb9f087a35a032727028ca2
Matt Mitchell [Fri, 2 Sep 2016 18:11:18 +0000 (11:11 -0700)]
Add help job
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc4a830d73e9b61168fc6cc81ad6aff42e657e0a
Carol Eidt [Fri, 2 Sep 2016 14:53:11 +0000 (07:53 -0700)]
Restore the change to gtNewBlkOpNode
Commit migrated from https://github.com/dotnet/coreclr/commit/
86b72d15a213ddc964efc84043e50ec90339ba9b
kchoi [Fri, 2 Sep 2016 11:00:41 +0000 (04:00 -0700)]
LTO build: fix perf regression from strict alias violation and incorrect inline assembly (dotnet/coreclr#7018)
Fix inline assembly implementation of getextcpuid() and strict aliasing violations in its callers
The implementation writes to the unsigned char result array, so
the clobber "memory" is needed.
As well its callers have strict aliasing violations from reading the
result array as a DWORD array. The fix is to memcpy the resulting
buffer onto the DWORD array.
Commit migrated from https://github.com/dotnet/coreclr/commit/
882a634da1fb2c6acc0b2414be43ceed28544fbf
Andrey Kvochko [Fri, 26 Aug 2016 16:57:51 +0000 (19:57 +0300)]
Enabled FunctionEnter/FunctionLeave hooks on ARM (dotnet/coreclr#6939)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4c2486486bd884160f55797060fee6eed147281
Carol Eidt [Fri, 2 Sep 2016 04:27:46 +0000 (21:27 -0700)]
More PR Feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
e21aeafc31927708972ea301b2155f8313925f04
Bruce Bowyer-Smyth [Fri, 2 Sep 2016 01:25:53 +0000 (11:25 +1000)]
Improve StringBuilder ctor(), ctor(int), and ToString() performance. Consistent changes in other functions. (dotnet/coreclr#7029)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc0bdc8d9ef0d63174435fa9ec6307d8ea30816e
Matt Mitchell [Thu, 1 Sep 2016 23:11:09 +0000 (16:11 -0700)]
Merge pull request dotnet/coreclr#7032 from mmitche/make-triggers-non-default
Changing new perf.groovy triggers to be non-default
Commit migrated from https://github.com/dotnet/coreclr/commit/
df0ff8e59f73ef503ccde1a98071450935d4c10d
Matt Mitchell [Thu, 1 Sep 2016 23:10:04 +0000 (16:10 -0700)]
Changing new perf.groovy triggers to be non-default
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9c61a7d775852829f4b9db90755bbe828ab8a92
Carol Eidt [Thu, 1 Sep 2016 22:48:01 +0000 (15:48 -0700)]
Address PR Feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
f71493a5ad04ec2579052afcc606ee5e62f5a3b8
Jan Kotas [Thu, 1 Sep 2016 21:26:48 +0000 (14:26 -0700)]
Improve ToUpper/ToLower perf (dotnet/coreclr#7026)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad7ae78d67ad3aab90d20df1177b914584a00514
Jose Manuel Heredia Hidalgo [Thu, 1 Sep 2016 21:24:22 +0000 (14:24 -0700)]
Make Lazy initialization of TextInfo::m_IsAsciiCasingSameAsInvariant thread safe (dotnet/coreclr#7021)
Replace bool? with Tristate enum to make it thread safe. Also use Tristate instead of TurkishCasing enum
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b9140c30e647f7ff5b42b01031de43268258639
Michelle McDaniel [Thu, 1 Sep 2016 20:20:56 +0000 (13:20 -0700)]
Merge pull request dotnet/coreclr#6978 from adiaaida/fixFormat
Fix format.py
Commit migrated from https://github.com/dotnet/coreclr/commit/
fa8bf1c77196f5b8c7a61dd30e301139c4360eb2
Michelle McDaniel [Tue, 30 Aug 2016 16:52:13 +0000 (09:52 -0700)]
Fix format.py
In format.py, we were downloading bootstrap.sh/cmd to the current working
directory, but assuming that it was in coreclr/bootstrap, which is
incorrect. This change downloads it directly to coreclr/bootstrap, so that
we download and run to the same location.
This change also modifies where we install the newer version of dotnetcli
needed for jitutils to the coreclr/dotnetcli-jitutils directory. This
change is necessary because build.cmd->run.cmd->init-tools.cmd removes the
Tools directory, including our dotnetcli directory, so we don't want our
version of the cli to be trashed.
We also clean up our work at the end of the script by removing the
created jitutils and dotnetcli directories, and the bootstrap script.
Finally, this change adds some comments to tell the user what it's doing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d51ced0cd78abb9439f31d6599600b33d7e8e0d
Carol Eidt [Thu, 21 Jul 2016 06:07:32 +0000 (23:07 -0700)]
1st Class Struct Block Assignments
Change block ops to assignments, with block nodes (GT_BLK, GT_OBJ and GT_DYN_BLK) as the lhs, and with GT_STORE_* in the backend.
For this initial change, existing behavior is preserved as much as possible, with a few differences in lea generation for SIMD types.
This causes pessimization in some areas; those, as well as the additional opportunities that can be enabled after this change, have all been marked TODO-1stClassStructs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbaf04647bf4fddaeefb35af024b4d099ee4c25a
Jan Kotas [Thu, 1 Sep 2016 17:57:04 +0000 (10:57 -0700)]
Globalization update from CoreRT - part 2 (dotnet/coreclr#7020)
- Persian calendar date formatting
- Fix IsPrefix handling of empty strings
- Formatting changes
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcd4c0c7ff141f854c1c3727f9a5cf45ea3efd43
Jan Kotas [Thu, 1 Sep 2016 17:56:37 +0000 (10:56 -0700)]
Merge pull request dotnet/coreclr#7025 from dotnet/revert-6994-replace_which_with_hash
Revert "Avoid using 'which' for verifying prereqs"
Commit migrated from https://github.com/dotnet/coreclr/commit/
6eee9ea10808549065ca5be4802f87e045ad9437
Jan Kotas [Thu, 1 Sep 2016 16:15:22 +0000 (09:15 -0700)]
Revert "Avoid using 'which' for verifying prereqs"
Commit migrated from https://github.com/dotnet/coreclr/commit/
a37ec7adfbf0832c08839751f1ce7bbe5de4de05
Pat Gavlin [Thu, 1 Sep 2016 16:11:26 +0000 (09:11 -0700)]
Merge pull request dotnet/coreclr#7024 from pgavlin/RunTestFix
Pass /p:Platform to msbuild in runtest.cmd.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5952512f68e10241ab1cc31d55dc91f42cf37ac2
Pat Gavlin [Thu, 1 Sep 2016 14:22:29 +0000 (07:22 -0700)]
Merge pull request dotnet/coreclr#7014 from pgavlin/TestBuildSpeedup
Stop groveling for project.json files when building every test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e076cc363efb14b368893e88c885e558aacfb147
Pat Gavlin [Thu, 1 Sep 2016 13:09:54 +0000 (06:09 -0700)]
Pass /p:Platform to msbuild in runtest.cmd.
Otherwise, the tests will use the ambient setting of the Platform
variable, which might not match the architecture specified on the
command line. This results in the wrong build of the tests running
against the correct runtime, which e.g. causes failures in tests
with native components.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d33c89d5af26e7131a069e9227491a1ad7bcae50
Swaroop Sridhar [Thu, 1 Sep 2016 04:15:56 +0000 (21:15 -0700)]
Merge pull request dotnet/coreclr#7013 from swaroop-sridhar/PtrStruct
GcInfo: Report Struct containing one GcPointer correctly
Commit migrated from https://github.com/dotnet/coreclr/commit/
68afd5c45f9d8175fcd3a8cb3a96097b7a546b80
Swaroop Sridhar [Wed, 31 Aug 2016 23:04:30 +0000 (16:04 -0700)]
GcInfo: Report Struct containing one GcPointer correctly
This change fixes a bug in the the GcInfo header,
where the ReturnKind is reported incorrectly for certain structs.
Structs that contain only one GCPointer or ByRef, can be returned
in a single register (Windows/Unix/OSX). The ReturnKind for these
struct-returns should be RT_Object/RT_ByRef, but they are currently
incorrectly reported as RT_Scalar. This change fixes the problem.
Fixes: dotnet/corefxdotnet/coreclr#11260
Commit migrated from https://github.com/dotnet/coreclr/commit/
060e0c660decc4a694765bd1133fe1e5a59536be
Aditya Mandaleeka [Thu, 1 Sep 2016 01:24:08 +0000 (18:24 -0700)]
Merge pull request dotnet/coreclr#6807 from lemmaa/add-options-for-arm-target-test
[Linux/ARM/Script] Add some features help for arm target test
Commit migrated from https://github.com/dotnet/coreclr/commit/
396180644851266f6be4777586d978110541afaa
Jan Kotas [Thu, 1 Sep 2016 00:21:40 +0000 (17:21 -0700)]
Update Unix System.Globalization implementation from CoreRT (dotnet/coreclr#7004)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dff1a185802abd109371f0317ce84d290c6675f6
Pat Gavlin [Wed, 31 Aug 2016 23:51:58 +0000 (16:51 -0700)]
Stop groveling for project.json files when building every test.
This information is only needed by build.proj. Do not compute it in dir.props,
which is included by every test project.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c810a1111db04086e31d981090b8ba647375bf77
Jan Kotas [Wed, 31 Aug 2016 22:24:46 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#7010 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f441624783d5a2a6c17364c633c21f2eac65215
Eric Mellino [Wed, 31 Aug 2016 21:47:07 +0000 (14:47 -0700)]
Merge pull request dotnet/coreclr#6772 from mellinoe/fix-build-packages
Specify packages.builds by default in build-packages command
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4e5efceace0e173b258cb9c8a54fce4292c10d4
Pat Gavlin [Wed, 31 Aug 2016 21:23:32 +0000 (14:23 -0700)]
Merge pull request dotnet/coreclr#6552 from pgavlin/RemovePreRationalizeLiveness
Do not run local var liveness before rationalize.
Commit migrated from https://github.com/dotnet/coreclr/commit/
001c5173e04a3cbb74179200756d14afb77aeb9f
Pat Gavlin [Wed, 31 Aug 2016 21:04:15 +0000 (14:04 -0700)]
Merge pull request dotnet/coreclr#5884 from mikedn/x86-addsub-long
Fix add/sub decomposition
Commit migrated from https://github.com/dotnet/coreclr/commit/
83276f74de6e9d0b0f3f21bbb361b0124421604c
Joseph Tremoulet [Tue, 23 Aug 2016 01:14:24 +0000 (21:14 -0400)]
Fix IMGREL32 static field addr value-num blindspot
When `fgMorphField` lowers a static field reference for which
`eeGetRelocTypeHint` returns `IMAGE_REL_BASED_REL32`, it creates an
`IntCon`, flagged with `GFT_ICON_STATIC_HDL` and marked with the static
field in its `gtFieldSeq` field, to represent the field's address (as
opposed to the normal case where it generates a `ClsVar`). This change
updates the `IsFieldAddr` helper used by value-numbering/loop-hoisting to
recognize such constants as the appropriate field address, which then
allows the disambiguation/tracking of accesses to these fields to kick in
as it does for `ClsVar` nodes.
Also update test GC/Scenarios/FinalizeTimeout to mark a bool volatile that
otherwise can get hoisted (the test aims to observe finalization from a
side-effect-free busy-loop by communicating through this bool).
Fixes dotnet/coreclr#6900.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e4cb4dd894472a9c5efef31e588a9caefd635d24
Petr Onderka [Wed, 31 Aug 2016 20:10:48 +0000 (22:10 +0200)]
Add missing BBF_HAS_NULLCHECK test
Commit migrated from https://github.com/dotnet/coreclr/commit/
1efc57d9c1a02f591cd37167c603b646a39566b9
Bruce Forstall [Wed, 31 Aug 2016 19:59:14 +0000 (12:59 -0700)]
Merge pull request dotnet/coreclr#7009 from BruceForstall/PrintErrorForFuncInfoFailure
Print an error, in DEBUG, if we fail to open the JitFuncInfoLogFile
Commit migrated from https://github.com/dotnet/coreclr/commit/
046b53d955505e697a25f28de5e557d273352b6f
Eric Mellino [Wed, 31 Aug 2016 19:36:37 +0000 (12:36 -0700)]
Merge pull request dotnet/coreclr#6943 from mellinoe/fedora-24
Add fedora24 native packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
703bd92f2ed695b1323d03df36dcd8b39fb0a7b6
Mike McLaughlin [Wed, 31 Aug 2016 19:27:12 +0000 (12:27 -0700)]
Fix funceval of a function returning 16 byte value type. (dotnet/coreclr#6997)
On Linux and OS X, structs less or equal to 16 bytes (instead of 8 bytes
on Windows) are enregistered. Only 8 bytes is being passed back to
debugger during a funceval of a property or method that returns a 16
byte value type.
To fix this, the 16 byte return value (which is only used for enregistered
structures of that size on xplat) needed to be plumbed from CallTargetWorker
through the MethodDescCallSite macros to the func eval code.
The func eval code needed to also deal with 16 byte results.
NUMBER_RETURNVALUE_SLOTS is the number of ARG_SLOTs that will contain the
maximum enregistered return value.
CordbEval:m_result is now ARG_SLOT[NUMBER_RETURNVALUE_SLOTS].
CallTargetWorker is now passed a pointer and the count of bytes to/of the
return value buffer.
Minor fix to SOS SymbolReader function.
Commit migrated from https://github.com/dotnet/coreclr/commit/
97448547841a58e3b74459d35a48c2b7978d97bc
Petr Onderka [Wed, 31 Aug 2016 19:18:35 +0000 (21:18 +0200)]
Removed unused variable
Commit migrated from https://github.com/dotnet/coreclr/commit/
60575486b9b7156b219b7e42d0e188a29be58304