Kyungwoo Lee [Thu, 15 Jun 2017 22:55:34 +0000 (15:55 -0700)]
Remove static for function pointer
qsort with static compare functions crashes with ALTJIT.
It appears due to _guard_check_icall_fptr in Windows 10.
Simply dropping static keyword works.
Stephen Toub [Thu, 15 Jun 2017 22:49:56 +0000 (18:49 -0400)]
Merge pull request #12307 from stephentoub/iswhitespace
Small cleanup to Char.IsWhiteSpaceLatin1
Jarret Shook [Thu, 15 Jun 2017 22:01:00 +0000 (15:01 -0700)]
Merge pull request #12311 from jashook/arm64_unix_ci
Add the arm64 unix CI
Jarret Shook [Thu, 15 Jun 2017 21:36:22 +0000 (14:36 -0700)]
Merge branch 'master' into arm64_unix_ci
jashook [Mon, 17 Apr 2017 22:53:12 +0000 (15:53 -0700)]
Add the arm64 unix CI
This will enable unix arm64 testing in CI. Currently there are no
default tirggers; however, anyone will be able to request the jobs.
Jarret Shook [Thu, 15 Jun 2017 21:31:55 +0000 (14:31 -0700)]
Merge pull request #12310 from dotnet/revert-11743-arm64_unix_ci
Revert "Add the arm64 unix CI"
Jarret Shook [Thu, 15 Jun 2017 21:31:30 +0000 (14:31 -0700)]
Revert "Add the arm64 unix CI"
Jarret Shook [Thu, 15 Jun 2017 21:20:11 +0000 (14:20 -0700)]
Merge pull request #11743 from jashook/arm64_unix_ci
Add the arm64 unix CI
Stephen Toub [Thu, 15 Jun 2017 20:22:10 +0000 (16:22 -0400)]
Merge pull request #12297 from stephentoub/getdatepart
Avoid duplicated computations with DateTime.GetDatePart
Stephen Toub [Thu, 15 Jun 2017 20:14:32 +0000 (16:14 -0400)]
Small cleanup to Char.IsWhiteSpaceLatin1
For some reason this is resulting in measurably better throughput, in particular for non-whitespace chars, so much so that it's visible in microbenchmarks against string.IsNullOrWhiteSpace.
If nothing else, it's cleaner.
Jan Kotas [Thu, 15 Jun 2017 14:32:54 +0000 (07:32 -0700)]
Merge pull request dotnet/corert#3890 from jkotas/nmirror-merge
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Roman Artemev [Thu, 15 Jun 2017 19:51:28 +0000 (12:51 -0700)]
Merge pull request #12047 from rartemev/issue_4122_2
Fixed determintaion of need to make code that contains tail.call loop fully interuptible
Sean Gillespie [Thu, 15 Jun 2017 19:45:12 +0000 (12:45 -0700)]
[Local GC] Fix a number of handle table interface violations (#12277)
* Fix a smattering of GC handle table interface violations
Stub out a few other handle violations
* [Local GC] Add SetExtraInfoForHandle onto GC handle manager interface
* [Local GC] Changes uses of HndGetHandleADIndex to GetHandleContext
* Add HandleGetType to GC handle table interface
1) Change IGCHandleManager methods that take "int" to represent the type of a handle to HandleType, and fix callers to cast to HandleType
2) Add HandleFetchType to IGCHandleManager, returning a HandleType
3) Fix uses of handtablepriv's HandleFetchType and remove the GC directory from the include path
* 9 -> HNDTYPE_WEAK_WINRT, 0 -> HNDTYPE_WEAK_SHORT in assert
Jarret Shook [Thu, 15 Jun 2017 18:28:54 +0000 (11:28 -0700)]
Merge branch 'master' into arm64_unix_ci
Brian Sullivan [Thu, 15 Jun 2017 18:16:42 +0000 (11:16 -0700)]
Merge pull request #12287 from briansull/nowarn-SIMD
Crossgen - Disable the Target-dependent SIMD vector types warning
Bruce Forstall [Thu, 15 Jun 2017 17:15:47 +0000 (10:15 -0700)]
Merge pull request #12251 from kyulee1/override
Missing override keyword to DoPhase
Steve MacLean [Thu, 15 Jun 2017 15:52:15 +0000 (15:52 +0000)]
Add sdmaclea to arm64Users
dotnet-maestro-bot [Thu, 15 Jun 2017 15:42:52 +0000 (08:42 -0700)]
Update CoreClr, CoreFx to preview1-25415-03, preview1-25415-01, respectively (#12284)
Stephen Toub [Thu, 15 Jun 2017 15:31:12 +0000 (11:31 -0400)]
Avoid duplicated compuations with DateTime.GetDatePart
- Remove duplicate code in GregorianCalendar. GetDatePart is identical to the implementation in DateTime. Just reuse it via the Year/Month/Day properties. Also avoids an unnecessary virtual call.
- Then copy GetDatePart into a version that returns year/month/day rather than just one of them.
- And use that in several places throughout corelib where all three are retrieved, avoiding redoing all of the calculations three times.
Steve MacLean [Thu, 15 Jun 2017 06:35:49 +0000 (02:35 -0400)]
[Arm64] JIT_WriteBarrier optimization (#12227)
* [Arm64] JIT_WriteBarrier optimization
Add skipEphemeralCheck if gcServer=1
Copy all gc parameters into a literal pool which
fits in single cache line
Add dmb ishst on gcHeap changes
Reduce unpredictable branches
Remove unneeded instructiuons
Fixes #11374
Fixes #12197
* [Arm64] fix typo in asm
* Fixup asm
* [Arm64] Revise per comments
Nits - Whitespace, Labels to PascalCase
Fix state change order
Add Suspend/Resume to fix race
Fix errors in Windows arm64 assembly
* [Arm64] Remove SuspendEE/RestartEE in StompWriteBarrierResize
* Use Volatile<> for g_highest_address
* Revise synchronization per comments
Jonghyun Park [Thu, 15 Jun 2017 06:06:41 +0000 (15:06 +0900)]
Remove unused forward declaration (#12288)
chcosta [Thu, 15 Jun 2017 06:05:46 +0000 (23:05 -0700)]
Fix build break
Download from Azure task does not retain blob prefix when downloading blobs.
Brian Sullivan [Thu, 15 Jun 2017 01:44:12 +0000 (18:44 -0700)]
Crossgen - Disable the Target-dependent SIMD vector types warning
When a SIMD type is referenced during CEEPreloader instead of loading it
we throw a type load exception with a unique resource ID and message.
This commit changed the ICorCompileDataStore interface to allow us to pass
the unique resource ID over to the zapper from the VM.
The Zapper can then demote certain resource ID warnings down to the
lowest informational level, so that they aren't printed out during crossgen.
With this commit we currently are demoting IDS_EE_SIMD_NGEN_DISALLOWED
dotnet-maestro-bot [Thu, 15 Jun 2017 00:29:45 +0000 (17:29 -0700)]
Update CoreClr to preview1-25414-05 (#12282)
chcosta [Thu, 15 Jun 2017 00:28:10 +0000 (17:28 -0700)]
Update buildtools to 2.0.0-prerelease-01714-04 (#12280)
Tarek Mahmoud Sayed [Wed, 14 Jun 2017 23:36:24 +0000 (16:36 -0700)]
Fix NullReferenceException thrown when using CurrentCulture (#12281)
CurrentCulture used the static field s_userDefaultCulture which used to store the current culture. We always ensure this field is initialized all the time. When we introduced the v2.0 added APIs, we have added ClearCachedData(). This method was setting s_userDefaultCulture to null which can cause any other thread to throw this NullReferenceException if it is using s_userDefaultCulture. Here is example of such stack
System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace :
at System.Globalization.NumberFormatInfo.get_CurrentInfo()
at System.Double.ToString(String format, IFormatProvider provider)
Viktor Hofer [Wed, 14 Jun 2017 19:57:36 +0000 (21:57 +0200)]
Renaming serializable field (#12273)
Brian Sullivan [Wed, 14 Jun 2017 19:57:20 +0000 (12:57 -0700)]
Remove the warning about Implicit boxing during crossgen (#12274)
Jarret Shook [Wed, 14 Jun 2017 19:47:55 +0000 (12:47 -0700)]
Merge pull request #12272 from jashook/add_documentation_for_building_tests_on_unix
Add documentation for building test(s) on Unix
jashook [Wed, 14 Jun 2017 17:01:58 +0000 (10:01 -0700)]
Add documentation for building test(s) on Unix
This also includes steps on how to build individual tests.
Han Lee [Wed, 14 Jun 2017 16:14:18 +0000 (09:14 -0700)]
Fix a COMDouble::Round() issue (#12210)
* Fix a COMDouble::Round() issue
fixes https://github.com/dotnet/coreclr/issues/12137
* Add a couple tests for Math.Round(double)
based on https://github.com/dotnet/coreclr/issues/12137
* Use G17 format specifier for printing double values
dotnet-maestro-bot [Wed, 14 Jun 2017 16:09:10 +0000 (09:09 -0700)]
Update CoreClr to preview1-25414-04 (#12270)
Jiyoung Giuliana Yun [Wed, 14 Jun 2017 14:50:51 +0000 (23:50 +0900)]
Add `-PortableBuild=false` option in Tizen CI build (#12241)
sergey ignatov [Wed, 14 Jun 2017 14:28:12 +0000 (17:28 +0300)]
Additional to fix #12104 for CoreRT issue #3672 (armel tizen) (#12244)
* Additional to fix #12104 for CoreRT issue #3672 (armel tizen)
* Fix for unregistered info.compLvFrameListRoot
Viktor Hofer [Wed, 14 Jun 2017 11:34:45 +0000 (13:34 +0200)]
Fix gethashcode for ordinal comparer (#12267)
Fix GetHashCode for ordinal comparer
Jacek Blaszczynski [Wed, 14 Jun 2017 06:16:26 +0000 (08:16 +0200)]
Rewrite of OpCodeGen.pl script to generate correctly IL OpCodes (#12040)
* Rewrite of OpCodeGen.pl script to generate correctly IL OpCodes related C# code: FlowControl.cs, OpCodes.cs, OpCodeTypes.cs, OperandType.cs, StackBehaviour.cs from opcode.def file
* Update OpcodeType.cs to OpCodeType.cs in System.Private.CorLib.csproj
Bruce Forstall [Wed, 14 Jun 2017 06:16:05 +0000 (23:16 -0700)]
Improve the packing of RefPosition (#12263)
The LSRA RefPosition type was not packing well. In particular,
bitfields don't pack unless they have the same base type.
Move all the data member declarations to the top, and make them adjacent,
so it is easier to see them all together. Also, change all bitfields
to "unsigned char" base type.
This reduces the size from 36 to 28 bytes for x86, and 48 to 40 bytes
for x64 (release, on Windows).
Steve MacLean [Wed, 14 Jun 2017 06:04:01 +0000 (02:04 -0400)]
[Arn64/Unix] Revise Volatile.T barriers (#12156)
* [Arm64] Revise Volatile<T> barriers
* Remove VolateStore from CopyValueClassUnchecked
* Replace MemoryBarrier() in CopyValueClassUnchecked
Omair Majid [Wed, 14 Jun 2017 05:39:08 +0000 (01:39 -0400)]
Keep previous cmake arguments when using buildstandalonegc (#12108)
Currently, using buildstandalonegc makes ./build.sh discard any
previous values of __cmakearg set explicitly or implicitly. Preserve
those arguments.
Without this fix, the following invocations behave differently:
$ ./build.sh ignorewarnings buildstandalonegc verbose
$ ./build.sh buildstandalonegc ignorewarnings verbose
dotnet-maestro-bot [Wed, 14 Jun 2017 05:29:42 +0000 (22:29 -0700)]
Update CoreClr, CoreFx to preview1-25414-02, preview1-25414-01, respectively (#12258)
Viktor Hofer [Wed, 14 Jun 2017 01:49:02 +0000 (03:49 +0200)]
Remove serializable attribute from OrdinalIgnoreCaseComparer (#12215)
* Remove serializable attribute from OrdinalIgnoreCaseComparer
* Introducing OrdinalCaseSensitiveComparer to serialize correctly with netfx
* Updated PR feedback
Brian Sullivan [Wed, 14 Jun 2017 00:55:05 +0000 (17:55 -0700)]
Merge pull request #12255 from briansull/concat-fix
Removed the unused vararg version of String Concat
Brian Sullivan [Tue, 13 Jun 2017 21:19:30 +0000 (14:19 -0700)]
Removed the unused vararg version of String Concat
The __arglist version of varargs is not supported on CoreCLR
Fixes issue #12146 - crossgen warning - Vararg calling convention not supported.
Added a new test case for String Concat
Added <DebugType>None
Fixed src\JIT\Directed\Misc\gettype csproj as well
Daniel Podder [Tue, 13 Jun 2017 21:51:55 +0000 (14:51 -0700)]
Skip PGO if clang is too old, and add warnings for skipped PGO (#12248)
Clang/LLVM cannot merge profile data generated by a newer version of
itself. Training currently requires 3.6, but we don't want to completely
break the build for 3.5. I'm adding a version check to allow non-PGO
release builds on 3.5, along with a warning message. I'm also updating
the LTO detection to print a warning message if it causes PGO to be
disabled.
Brian Sullivan [Tue, 13 Jun 2017 20:57:33 +0000 (13:57 -0700)]
Added the checked CORE_ROOT path to this
William Godbe [Tue, 13 Jun 2017 20:55:54 +0000 (13:55 -0700)]
Merge pull request #12092 from wtgodbe/CoreDisTools
Explicitly download correct version of CoreDisTools package
Brian Sullivan [Tue, 13 Jun 2017 20:08:43 +0000 (13:08 -0700)]
Specified where the failing tests are listed.
Brian Sullivan [Tue, 13 Jun 2017 20:04:12 +0000 (13:04 -0700)]
Updated the path for the test results html file
Brian Sullivan [Tue, 13 Jun 2017 19:59:42 +0000 (12:59 -0700)]
Fixed typo
Brian Sullivan [Tue, 13 Jun 2017 19:58:37 +0000 (12:58 -0700)]
Updated for checked build testing and corrected some paths
Kyungwoo Lee [Tue, 13 Jun 2017 18:37:14 +0000 (11:37 -0700)]
Missing override keyword to DoPhase
Bruce Forstall [Tue, 13 Jun 2017 17:35:43 +0000 (10:35 -0700)]
Merge pull request #12105 from alpencolt/ryu-arm-softfp-pass-ret
[RyuJIT/armel] Fix for correct passing and returning float values.
Sujin Kim [Tue, 13 Jun 2017 17:31:50 +0000 (02:31 +0900)]
[RyuJIT/ARM32] Fix assertion when using invalid imm for INS_add (#12162)
* [RyuJIT/ARM32] Fix assertion when using invalid imm for INS_add
`JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b54611/b54611/b54611.sh`
Assertion failed '!"Instruction cannot be encoded" has been occurred.
INS_add couldn't process with the invalid imm of -273 on this test.
So in this PR, If it got the value that cannot be processed, moving to register that after changing status would be ran so that it can be processed.
* Modify 'Lowering::IsContainableImmed' to work normally.
insFlags when the function is called was always INS_FLAGS_DONT_CARE.
In this case, if the imm is such as -273, the result would be false.
The correct flags have to be set.
* add ifdef for the flags variable
Bruce Forstall [Tue, 13 Jun 2017 17:16:30 +0000 (10:16 -0700)]
Merge pull request #12243 from hqueue/arm/ryujit/issue_11842
[RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct
Vance Morrison [Tue, 13 Jun 2017 16:56:20 +0000 (09:56 -0700)]
Make ActivityID guids process specific. (#11726)
This is a port a change from the Nuget version of this library.
Bascially it hashs in the process ID into the activity ID GUID. This make collisions across processes unlikely.
Bruce Forstall [Tue, 13 Jun 2017 16:50:40 +0000 (09:50 -0700)]
Merge pull request #12235 from BruceForstall/FixSuperPmiCollect
Fix SuperPMI collection script to allow passing arch/flavor args
Michelle McDaniel [Tue, 13 Jun 2017 16:27:39 +0000 (09:27 -0700)]
Merge pull request #12245 from adiaaida/throughputJobChanges
Replace System.Private.CoreLib with new version in TP jobs
Daniel Podder [Tue, 13 Jun 2017 16:22:29 +0000 (09:22 -0700)]
Pull CoreCLR build from RHEL7.2 in perf runs (#12238)
Our Ubuntu perf testing has been creating Linux CoreCLR builds by
creating the build locally. This fits the local developer scenario, but
doesn't actually test the bits that ship; the 'official' product
configuration is generated by building on RHEL 7.2 and packaging those
bits for various distros, including Ubuntu.
In order to more accurately measure end-user-perceived performance, we
should do the same thing official builds do: build on RHEL7.2, then copy
those bits onto other OSes to test perf on those OSes.
This PR makes that happen by structuring Linux perf and throughput jobs
as flow jobs, with builds up front on a RHEL VM, before the bits are
dropped onto Ubuntu perf test machines.
dotnet bot [Tue, 13 Jun 2017 15:28:51 +0000 (08:28 -0700)]
Update CoreClr, CoreFx to preview1-25413-01, preview1-25413-02, respectively (#12242)
Michelle McDaniel [Tue, 13 Jun 2017 15:03:18 +0000 (08:03 -0700)]
Replace System.Private.CoreLib with new version in TP jobs
SPC and the jit/coreclr are tightly coupled. With the changes to
crossgen into the dll, rather than the ni.dll, the throughput jobs are
now using the non-crossgen'd version of SPC on TP runs, which led to a
regression in TP on Linux because our comparison was not the same. This
change updates testing to replace the System.Private.CoreLib in the
throughput directory with the System.Private.CoreLib built by the
coreclr build.
Ruben Ayrapetyan [Tue, 13 Jun 2017 13:58:41 +0000 (16:58 +0300)]
Partially remove relocations for ModuleSection (ZapVirtualSectionType). (#11853)
Davis Goodin [Tue, 13 Jun 2017 13:55:25 +0000 (08:55 -0500)]
Use NuGetPush target from BuildTools (#12221)
Hyung-Kyu Choi [Tue, 13 Jun 2017 13:04:23 +0000 (22:04 +0900)]
[RyuJIT/ARM32] Enable HasMultiRegRetVal() for struct
This will pass some tests and will trigger NYI assertions as expected.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Daniel Podder [Tue, 13 Jun 2017 08:14:34 +0000 (01:14 -0700)]
Fix Linux PGO optdata consumption + PGO count update (#12239)
* Update PGO package version to
20170612-1411
* Fix PGO optdata path issue on Linux
dotnet bot [Tue, 13 Jun 2017 04:01:29 +0000 (21:01 -0700)]
Update CoreClr, CoreFx to preview1-25412-03, preview1-25413-01, respectively (#12234)
Jarret Shook [Tue, 13 Jun 2017 02:34:48 +0000 (19:34 -0700)]
Fix legacy backend build when FEATURE_READYTORUN_COMPILER is undefined (#12232)
William Godbe [Tue, 13 Jun 2017 00:56:29 +0000 (17:56 -0700)]
Merge pull request #12175 from wtgodbe/VS2017
Use roslyn common props in test build
Drew Scoggins [Tue, 13 Jun 2017 00:16:24 +0000 (17:16 -0700)]
Merge pull request #12223 from DrewScoggins/AddHelpToPerf
Add help statement for perf.groovy
Steve MacLean [Mon, 12 Jun 2017 23:49:39 +0000 (19:49 -0400)]
[Arm64/Unix] Implement YieldProcessor() (#12229)
Bruce Forstall [Mon, 12 Jun 2017 23:26:23 +0000 (16:26 -0700)]
Fix SuperPMI collection script to allow passing arch/flavor args
Previously, runtest would always be invoked with the default
args, meaning x64 debug.
This script is not used in the coreclr test run.
Steve MacLean [Mon, 12 Jun 2017 21:14:12 +0000 (17:14 -0400)]
[Arm64/Unix] Add 64K page support (#10981)
* [Arm64/Unix] Support 64K pages
* GC move GCToOSInterface::Initialize() into InitializeGarbageCollector()
Bruce Forstall [Mon, 12 Jun 2017 20:33:13 +0000 (13:33 -0700)]
Merge pull request #12163 from hseok-oh/ryujit/fix_11850_2
[RyuJIT/ARM32] Fix comment and ifdef condition
Sergey Andreenko [Mon, 12 Jun 2017 20:16:08 +0000 (13:16 -0700)]
make REG_VIRTUAL_STUB_PARAM depended on Abi. (#12209)
* make REG_VIRTUAL_STUB_PARAM depended on Abi.
Add VirtualStubParamInfo that is part of compiler and must be init in
compCompile.
Wes Haggard [Mon, 12 Jun 2017 19:55:53 +0000 (12:55 -0700)]
Disable some test cases to workaround compiler bug
Need to workaround compiler bug https://github.com/dotnet/roslyn/issues/14785
so disabling some test cases in the JIT isisnt tests.
wtgodbe [Mon, 12 Jun 2017 18:58:04 +0000 (11:58 -0700)]
Disable some GC tests
Drew Scoggins [Mon, 12 Jun 2017 17:15:55 +0000 (10:15 -0700)]
Add help statement for perf.groovy
When you use the help from dotnet bot you do not get any of the
performance runs in the help. This should add those in.
jashook [Mon, 17 Apr 2017 22:53:12 +0000 (15:53 -0700)]
Add the arm64 unix CI
This will enable unix arm64 testing in CI. Currently there are no
default tirggers; however, anyone will be able to request the jobs.
dotnet bot [Mon, 12 Jun 2017 17:00:13 +0000 (10:00 -0700)]
Update CoreClr, CoreFx to preview1-25412-01, preview1-25412-02, respectively (#12214)
Jonghyun Park [Mon, 12 Jun 2017 15:40:24 +0000 (00:40 +0900)]
[x86/Linux] Port 'ThrowControlForThread' (#11641)
Daniel Podder [Sat, 10 Jun 2017 19:06:34 +0000 (12:06 -0700)]
Update PGO counts to version
20170609-1125 (#12201)
Yi Zhang (CLR) [Sat, 10 Jun 2017 16:08:41 +0000 (09:08 -0700)]
Disable IEnumerable.GetEnumerator on RCW through IDispatch (#11865)
dotnet bot [Sat, 10 Jun 2017 04:51:16 +0000 (21:51 -0700)]
Update CoreClr, CoreFx to preview1-25409-02, preview1-25410-01, respectively (#12212)
Swaroop Sridhar [Fri, 9 Jun 2017 03:30:02 +0000 (20:30 -0700)]
Move ILLink Perf to a separate job
This changes ILLink performance testing to its own leg.
With this change, ILLink perf test will not be run for every PR by default.
It can be requested explicitly on a PR, and will run on the rolling builds.
JitBench build breaks have broken the PR builds a few times, so this change
moves ILLink perf tests out of the PR job, so that MusicStore testing can be
enabled again.
Santiago Fernandez Madero [Sat, 10 Jun 2017 00:18:01 +0000 (17:18 -0700)]
Revert ResourceManager change to unblock uap tests (#12179)
Sean Gillespie [Fri, 9 Jun 2017 23:08:10 +0000 (16:08 -0700)]
[Local GC] No longer need to initialize SVR dacvars separately (#12173)
* [Local GC] No longer need to initialize SVR dacvars separately
* Remove rest of uses of DEFINE_DACVAR_SVR
Roman Artemev [Fri, 9 Jun 2017 23:06:53 +0000 (16:06 -0700)]
Merge pull request #12208 from rartemev/fix_encoding_1
Fixed files encoding to utf8 (issue #12182)
Eugene Rozenfeld [Fri, 9 Jun 2017 22:24:26 +0000 (15:24 -0700)]
Merge pull request #12200 from erozenfeld/FastTailCallLoweringFix
Fix fast tail call lowering bug.
William Godbe [Fri, 9 Jun 2017 21:25:47 +0000 (14:25 -0700)]
Merge pull request #12206 from wtgodbe/OverlayOnly
Add documentation for build-overlay-only
wtgodbe [Fri, 9 Jun 2017 21:20:54 +0000 (14:20 -0700)]
Add documentation for build-overlay-only
Roman Artemev [Fri, 9 Jun 2017 20:12:51 +0000 (20:12 +0000)]
Fix files encoding to utf8
Roman Artemev [Fri, 9 Jun 2017 19:42:00 +0000 (12:42 -0700)]
Merge pull request #12184 from rartemev/legacy_jit_1
Fix and enable legacy jit for x86
Eugene Rozenfeld [Fri, 9 Jun 2017 18:05:48 +0000 (11:05 -0700)]
Fix fast tail call lowering bug.
Lowering::LowerFastTailCall has code that handles the case when the caller and the callee both have parameters
passed on the stack and the callee has register arguments that are computed from the caller's stack-passed arguments.
In that case the stack arguments of the callee are set up in the caller's incoming argument area so they override
the caller's arguments. Lowering::LowerFastTailCall creates temps for any caller's arguments passed on the stack that are
used to compute callee's register arguments. That code had a bug where it was converting GT_LCL_FLD nodes into
GT_LCL_VAR nodes. That's problematic both for the case of a single-field struct with a double field and for multi-field structs.
In the former case we were getting LSRA asserts in checked builds and SBCG in release builds. In the latter case we were getting SBCG
both in checked and release builds.
The fix is not to convert GT_LCL_FLD nodes into GT_LCL_VAR nodes and mark the new temps as not-enregisterable if the
local is not-enregisterable.
An alternative fix would be to create multiple register temps for each GT_LCL_FLD or GT_LCL_VAR targeting the local but that
would complicate the code and I decided to go with a simlper solution for this uncommon case.
Carol Eidt [Fri, 9 Jun 2017 18:40:22 +0000 (11:40 -0700)]
Merge pull request #12189 from mskvortsov/FixExplicitContainedness
[RyuJIT/ARM32] Fix failures related to explicit containedness
Pat Gavlin [Fri, 9 Jun 2017 16:51:06 +0000 (09:51 -0700)]
Merge pull request #10996 from mikedn/magic-udiv
Do unsigned magic division
Alexander Soldatov [Tue, 6 Jun 2017 14:10:12 +0000 (17:10 +0300)]
[RyuJIT/armel] Correct returning float values.
Returned from function float pointing value in softfp mode should be
stored into r0 (r0-r1 for TYP_DOUBLE).
Jonghyun Park [Fri, 9 Jun 2017 15:47:07 +0000 (00:47 +0900)]
Allow users to set the number of build processes (#12188)
* Allow users to set the number of build processes
* Add a command-line option
* Use common initialization style (use __NumProc and extract initialization from build_native)
* Set __NumProc before argument parsing (and replace NumProc with __NumProc)
dotnet bot [Fri, 9 Jun 2017 15:10:58 +0000 (08:10 -0700)]
Update CoreClr, CoreFx to preview1-25409-01, preview1-25409-03, respectively (#12187)
Viktor Hofer [Fri, 9 Jun 2017 15:08:13 +0000 (17:08 +0200)]
DateTime serialization fixed, added attention labels to serialized fields (#12181)
* DateTime serialization fixed, added attention labels to serialized fields
* CultureAwareComparer serialization fix
* Order or property fixed
Jonghyun Park [Fri, 9 Jun 2017 10:48:49 +0000 (19:48 +0900)]
[ARM/Linux] Validate memory using ldrb instead of ldr (#12191)
Mikhail Skvortcov [Fri, 9 Jun 2017 07:55:19 +0000 (10:55 +0300)]
RyuJIT/ARM32: Fix failures related to explicit containedness