Pat Gavlin [Wed, 19 Apr 2017 20:38:05 +0000 (13:38 -0700)]
Add a regression test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
27ba7c94b06f01d4702c0f54c196cc2028af3b75
Pat Gavlin [Wed, 19 Apr 2017 18:26:46 +0000 (11:26 -0700)]
Spill side-effects in impAssignMultiRegTypeToVar.
This importer function converts IR from the form
tree
to
/- tree
STMT - =
\- lclVar
in order to conform to the JIT's representation of multi-register values.
Today, it does not check whether or not the tree being spilled has any
side-effects that may interfere with the side-effects of trees that are
already on the evaluation stack, which can lead to bad codegen. This
change fixes this function to spill any side-effects on the stack
before generating the temp assign.
Fixes dotnet/coreclr#10940.
Commit migrated from https://github.com/dotnet/coreclr/commit/
961f24096a9c2bfe4f848c27e0756669042a8985
Stephen Toub [Wed, 19 Apr 2017 17:44:12 +0000 (13:44 -0400)]
Merge pull request dotnet/coreclr#11070 from stephentoub/add_stat_fields
Add Dev/Ino fields to Interop.Sys.FileStatus
Commit migrated from https://github.com/dotnet/coreclr/commit/
986b721174fc14bdb7b74bda3d586f6b1dd5adc1
Jim Ma [Wed, 19 Apr 2017 16:39:23 +0000 (16:39 +0000)]
Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun. (dotnet/coreclr#10967)
* Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun.
Since we've introduced ICLRRuntimeHost4 in PR dotnet/coreclr#10842 for Unix, we apply it for Windows corerun as well.
Fix dotnet/coreclr#10960
Commit migrated from https://github.com/dotnet/coreclr/commit/
1399794fd221fc97bce1a3b1f1fe4dbb03c8686d
Yi Zhang (CLR) [Wed, 19 Apr 2017 15:37:44 +0000 (08:37 -0700)]
Stop treating test files as executable and fix encoding (dotnet/coreclr#11065)
* change encoding to UTF-8
* change line ending to UNIX
* remove executable attribute
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8414af792d6a2082d0cb1c5133344e9af0f2982
Stephen Toub [Wed, 19 Apr 2017 15:20:42 +0000 (11:20 -0400)]
Add Dev/Ino fields to Interop.Sys.FileStatus
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6d7b247e8d895889ee0c273da8738637e0e5717
Jonghyun Park [Wed, 19 Apr 2017 08:55:18 +0000 (17:55 +0900)]
[x86/Linux] Do NOT run GC on Transition (dotnet/coreclr#11056)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f6bc8b3a6402706ea60ea68e26a73534091849c
Viktor Hofer [Wed, 19 Apr 2017 02:36:14 +0000 (04:36 +0200)]
Revert "Add SecurityZone stub" (dotnet/coreclr#11053)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4130e4c193083a6bed5e1ed9a0c99f416c286df
Bruce Forstall [Wed, 19 Apr 2017 00:14:13 +0000 (17:14 -0700)]
Merge pull request dotnet/coreclr#10933 from hqueue/ryujit/enable_nodebash_stats
Fix clang build error when enabling NODEBASH_STATS
Commit migrated from https://github.com/dotnet/coreclr/commit/
918dbb4a55c98f24a32b7f55d0c80eed4884fc3f
Bruce Forstall [Wed, 19 Apr 2017 00:13:16 +0000 (17:13 -0700)]
Merge pull request dotnet/coreclr#11021 from mskvortsov/array-offset-mla
[RyuJIT/ARM32] Use mla for array offset computation
Commit migrated from https://github.com/dotnet/coreclr/commit/
797201f009d3f62904fc668b685e935afb32b328
Sean Gillespie [Wed, 19 Apr 2017 00:12:09 +0000 (17:12 -0700)]
Some fixes for the GC Reliability Framework (dotnet/coreclr#11029)
* Quality-of-life fixes for the GC reliability framework to make it run
a little better on CoreCLR
* Remove some p/invokes to kernel32 when building on Core
* Minor fixes to run on non-Windows platforms
* Re-enable ReliabilityFramework sanity run
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd0b8363043b8b073a352b34eb9fef24b799b90a
Mike McLaughlin [Tue, 18 Apr 2017 23:54:53 +0000 (16:54 -0700)]
Implement the createdump policy options and env variables (dotnet/coreclr#11032)
Added these command line options:
-f, --name - dump path and file name. The pid can be placed in the name with %d. The default is "/tmp/coredump.%d"
-n, --normal - create minidump (default).
-h, --withheap - create minidump with heap.
-m, --micro - create triage minidump.
-d, --diag - enable diagnostic messages.
Added these environment variables:
COMPlus_DbgMiniDumpType - if set to "1" generate MiniDumpNormal, "2" MiniDumpWithPrivateReadWriteMemory, "3" MiniDumpFilterTriage. Default is MiniDumpNormal.
COMPlus_DbgMiniDumpName - if set, use as the template to create the dump path and file name. The pid can be placed in the name with %d. The default is "/tmp/coredump.%d".
Commit migrated from https://github.com/dotnet/coreclr/commit/
29e59e81de5489a3c0515b5d1d50baeb06269bd1
William Godbe [Tue, 18 Apr 2017 23:43:11 +0000 (16:43 -0700)]
Merge pull request dotnet/coreclr#11054 from wtgodbe/spacing
Fix spacing in build-test.cmd in Pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8ed08061bdc1c00bd191d954d3f6a526067728e
wtgodbe [Tue, 18 Apr 2017 23:42:00 +0000 (16:42 -0700)]
Fix spacing in build-test.cmd in Pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
2c7ae6b473536bc57cd3574372aa0889692e5193
Matt Ellis [Tue, 18 Apr 2017 23:36:55 +0000 (16:36 -0700)]
Merge pull request dotnet/coreclr#11050 from ellismg/remove-duplicate-resources
Remove some duplicate resource strings
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b62d1e95279965875ab2736bb5139ab8d015da9
William Godbe [Tue, 18 Apr 2017 22:37:22 +0000 (15:37 -0700)]
Merge pull request dotnet/coreclr#11052 from wtgodbe/emptyArgs
Create default variables for Crossgen, TargetsNonWindows in pipebuild
Commit migrated from https://github.com/dotnet/coreclr/commit/
89f5070eb2626bd4ee5c34536dd665c7ff3b5dab
wtgodbe [Tue, 18 Apr 2017 22:36:14 +0000 (15:36 -0700)]
Create default variables for Crossgen, TargetsNonWindows in pipebuild
Commit migrated from https://github.com/dotnet/coreclr/commit/
47d767f62492cd8064e972bcbfead5acaa70adbd
Jan Kotas [Tue, 18 Apr 2017 22:29:43 +0000 (17:29 -0500)]
Convert a few test files from UTF16 to ASCII and add license (dotnet/coreclr#11051)
Commit migrated from https://github.com/dotnet/coreclr/commit/
12899b11ae9e039038fb98bac16bc77787e962e0
William Godbe [Tue, 18 Apr 2017 22:02:10 +0000 (15:02 -0700)]
Merge pull request dotnet/coreclr#10979 from wtgodbe/R2RWindows
Enable running Crossgen tests on Windows in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
78563047ca091cccdeea069c727a77c62732a725
Gaurav Khanna [Tue, 18 Apr 2017 21:02:14 +0000 (14:02 -0700)]
Remove /RELEASE option required for device drivers (dotnet/coreclr#11023)
Commit migrated from https://github.com/dotnet/coreclr/commit/
796cd8bd3c153af929844fcc4b4c950c1f9ad690
Stephen Toub [Tue, 18 Apr 2017 20:43:53 +0000 (16:43 -0400)]
Merge pull request dotnet/coreclr#11047 from stephentoub/task_iscompletedsuccessfully
Expose Task.IsCompletedSuccessfully
Commit migrated from https://github.com/dotnet/coreclr/commit/
0623eb3c85078d84284e5c75eab1ce978ede62f7
Matt Ellis [Tue, 18 Apr 2017 20:26:01 +0000 (13:26 -0700)]
Remove some duplicate resource strings
Commit migrated from https://github.com/dotnet/coreclr/commit/
278c206d3460d78c592321543bf19d1cc1e49a10
wtgodbe [Fri, 14 Apr 2017 21:31:34 +0000 (14:31 -0700)]
Enable running Crossgen tests on Windows in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
90f1d5d6aba780a62ee0e6c47d2cbabb575ffa69
Eric Erhardt [Tue, 18 Apr 2017 19:07:13 +0000 (14:07 -0500)]
Merge pull request dotnet/coreclr#10948 from eerhardt/GetPreviousAdjRulePerf
Fix perf of DateTime.Now on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6a9c1622e807e070bf140b623001e41eb93cc68
Joseph Tremoulet [Tue, 18 Apr 2017 18:43:19 +0000 (14:43 -0400)]
Merge pull request dotnet/coreclr#11045 from JosephTremoulet/TraceEventVersion
Run-xunit-perf: update TraceEvents version number
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a4e8f5e9f7145a717130d418a78ab52e2966ec5
Rahul Kumar [Tue, 18 Apr 2017 18:33:59 +0000 (11:33 -0700)]
fail fast on exceptions that indicate corrupted process state (dotnet/coreclr#10957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ae6fbdc5a83cceb3a2cbd3bda204a95bcea1f0e
Jonghyun Park [Tue, 18 Apr 2017 18:27:29 +0000 (03:27 +0900)]
[x86/Linux] EH Support for Per-Frame P/Invoke Init (dotnet/coreclr#10966)
Commit migrated from https://github.com/dotnet/coreclr/commit/
98a41f0a8711e0d0f3cb0d56adc6f8d0c36c11d2
Stephen Toub [Tue, 18 Apr 2017 17:57:19 +0000 (13:57 -0400)]
Expose Task.IsCompletedSuccessfully
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbd3f54c7dbd3808e2d8b1e4dc1040f511147d19
Sergey Andreenko [Tue, 18 Apr 2017 17:44:01 +0000 (10:44 -0700)]
small clean-up and bug fix in genIntToIntCast (dotnet/coreclr#10989)
genintToIntCast was cleaned-up, the assert that was wrong for x86 was deleted. The repro was added.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bbe202b1de189812866acfa288ab1ac21a5fecdb
Joseph Tremoulet [Tue, 18 Apr 2017 16:47:25 +0000 (12:47 -0400)]
Run-xunit-perf: update TraceEvents version number
The perf harness needs 1.0.3-alpha-experimental now.
Commit migrated from https://github.com/dotnet/coreclr/commit/
903c420ef95e7585236c807a2f8d5c521e2215dc
Eric Erhardt [Tue, 18 Apr 2017 16:39:01 +0000 (11:39 -0500)]
Assert GetAdjustmentRuleForTime sets ruleIndex correctly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9820dd14f878cc427916c242c541fe0e5dfe34c
Bruce Forstall [Tue, 18 Apr 2017 14:18:10 +0000 (07:18 -0700)]
Merge pull request dotnet/coreclr#11035 from BruceForstall/NumSuccImprovement
Hoist calls to NumSucc() out of loops
Commit migrated from https://github.com/dotnet/coreclr/commit/
9051ff8ee9cd8876c169c3756b76af8506d8f89b
Mikhail Skvortcov [Tue, 18 Apr 2017 13:02:17 +0000 (16:02 +0300)]
RyuJIT/ARM32: use mla for array offset computation
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad4ddf088db35ebb91d610f9810d6983524ca8c5
ragmani [Tue, 18 Apr 2017 10:01:55 +0000 (19:01 +0900)]
[x86/Linux] changed to the AT&T syntax to solve a problem related broken stack. (dotnet/coreclr#10932)
This is a problem similar to dotnet/coreclr#10383.
Signed-off-by: ragmani <ragmani0216@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
432e8bf1efbc696b842b1fe5004fed5319d58818
Buyduck [Tue, 18 Apr 2017 08:02:14 +0000 (11:02 +0300)]
* fixed class size calculation (dotnet/coreclr#10916)
Commit migrated from https://github.com/dotnet/coreclr/commit/
12fe7a2082696b8b2aa0aed22e8fad01750b8080
Tarek Mahmoud Sayed [Tue, 18 Apr 2017 05:02:08 +0000 (22:02 -0700)]
Fix String.Replace implementation (dotnet/coreclr#11039)
* Fix String.Replace implementation
String.Replace was callin ga low level CompareInfo method IndexOfCore which cannot be called in some conditions like when using ordinal ignore case option or when running in invariant mode.
The fix is to call a higher level method in CompareInfo which can handle such cases becfore calling the lower level method
* fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb371832f635664f74f99b9e0fa405eef2148a2f
Andy Ayers [Tue, 18 Apr 2017 04:47:38 +0000 (21:47 -0700)]
Merge pull request dotnet/coreclr#10995 from svick/patch-1
Update Viewing JIT dumps to 2.0 and csproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2e17fb21db71da61bb6af477ca48a034f201ea9
William Godbe [Tue, 18 Apr 2017 03:16:22 +0000 (20:16 -0700)]
Fix error caused by passing -TargetsWindows at end of Command Line (dotnet/coreclr#11031)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f32fb077a90bf57376b83fa46e8042d5ad9e361
Michael Letterle [Fri, 31 Mar 2017 15:32:32 +0000 (11:32 -0400)]
Do not throw an assertion on no mscorlib
It's okay to use debuggable attributes from other BaseAsmRef's
Fixes dotnet/coreclr#10608
Commit migrated from https://github.com/dotnet/coreclr/commit/
80f4485197c62b13fa6cbaaab06a2c184e5ed316
Brian Robbins [Tue, 18 Apr 2017 01:35:37 +0000 (18:35 -0700)]
Merge pull request dotnet/coreclr#11036 from brianrob/remove_eventcounter
Remove EventCounter from System.Private.CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
45bdd19a64ae96600ae7b26b36fde2da1357cc3b
danmosemsft [Mon, 17 Apr 2017 23:58:10 +0000 (16:58 -0700)]
Fix build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
b32bc9981f445910686beea4d841c0554fea857f
Omar Tawfik [Mon, 17 Apr 2017 23:33:09 +0000 (16:33 -0700)]
Rename attribute to IsReadOnlyAttribute (dotnet/coreclr#11026)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7828feb1f5f07276c3c804d8c6f2c017b6411278
Bruce Forstall [Mon, 17 Apr 2017 23:32:36 +0000 (16:32 -0700)]
Use isInternalRegDelayFree to avoid temp reg overallocation (dotnet/coreclr#11025)
Use isInternalRegDelayFree to avoid temp reg overallocation
Commit migrated from https://github.com/dotnet/coreclr/commit/
e440f484375f06038f20d615591fa2b98ad3a319
Brian Robbins [Mon, 17 Apr 2017 23:16:22 +0000 (16:16 -0700)]
Remove EventCounter from System.Private.CoreLib.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd36b69455103228074ca2fdbebb2d1f2770bf61
Bruce Forstall [Mon, 17 Apr 2017 23:00:51 +0000 (16:00 -0700)]
Hoist calls to NumSucc() out of loops
Should be a minor throughput improvement.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f503a568fd54d423510323921bb9065e398471e2
Jan Kotas [Mon, 17 Apr 2017 22:37:09 +0000 (17:37 -0500)]
Improve performance of Object.GetType for arrays (dotnet/coreclr#10992)
* Improve performance of Object.GetType for arrays
Cache managed Type object on MethodTable for arrays. Makes Object.GetType for arrays about 5x faster.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0486761d6c019cb696dcd35aeecc031b1d01eef
Viktor Hofer [Mon, 17 Apr 2017 21:39:21 +0000 (23:39 +0200)]
Merge pull request dotnet/coreclr#11028 from danmosemsft/api.zone
Add SecurityZone stub
Commit migrated from https://github.com/dotnet/coreclr/commit/
97079bd97cb1d28aa8b3287850e6894936f56d56
Sergey Andreenko [Mon, 17 Apr 2017 21:05:11 +0000 (14:05 -0700)]
Format spmi sources with clang-format (dotnet/coreclr#11027)
Apply jit style format on spmi sources.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc3a969ad46a4689332792dab01d647db1ce41c1
Andy Ayers [Mon, 17 Apr 2017 20:04:23 +0000 (13:04 -0700)]
Jit intrinsics for Span<T>.get_Item and ReadOnlySpan<T>.get_Item. (dotnet/coreclr#10910)
Implement these two methods as optional-expand jit intrinsics.
Uses `GT_ARR_BOUNDS_CHECK` for the bounds check so in some cases
downstream code is able to eliminate redundant checks. Fully general
support (on par with arrays in most cases) is still work in progress.
Update one bit of code in the optimizer that assumed it knew the
tree types that appeared in a `GT_ARR_BOUNDS_CHECK`.
Add benchmark tests for Span and ReadOnlySpan indexers.
Tests ability of jit to reason about indexer properties with respect
to loop bounds and related indexer uses. Some cases inspired by span
indexer usage in Kestrel.
Closes dotnet/coreclr#10785.
Also addresses lack of indexer inlining noted in dotnet/coreclr#10031. Span indexers
should now always be inlined, even when invoked from shared methods.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c06fb332e7bb77a55bda724a56b33d6094a0a042
Swaroop Sridhar [Fri, 14 Apr 2017 03:07:41 +0000 (20:07 -0700)]
Add scenario-based tests
Modified Xunit runner to run Scenario Benchmarks
Updating xunit-performance packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
81c550179aef561fd6578109ff65185d1daafe8b
danmosemsft [Mon, 17 Apr 2017 19:15:07 +0000 (12:15 -0700)]
Add SecurityZone stub
Commit migrated from https://github.com/dotnet/coreclr/commit/
742d3773b668057f216f3ef7b3bbe6a801bee70d
Rahul Kumar [Mon, 17 Apr 2017 18:47:47 +0000 (11:47 -0700)]
In function Assembly.Load ignore AssemblyName.CodeBase even if it is set (dotnet/coreclr#11010)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e82d10df9dd3de87d575ab488f320287f2d5f61b
Gaurav Khanna [Mon, 17 Apr 2017 18:29:35 +0000 (11:29 -0700)]
Remove Alpine for pipe builds (dotnet/coreclr#11022)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a354193d57c84ef4a3329926cc483be1799c935f
Jonghyun Park [Mon, 17 Apr 2017 18:21:45 +0000 (03:21 +0900)]
Support FEATURE_EVENT_TRACE override (dotnet/coreclr#10961)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6097e8a7632ab2790d02302e6f722e168557a50f
Jonghyun Park [Mon, 17 Apr 2017 18:20:21 +0000 (03:20 +0900)]
Allow build.sh to have multiple cmakeargs options (dotnet/coreclr#10962)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd9cd4206ef5abb9b0a4741fc7d970b40bfed44b
dotnet bot [Mon, 17 Apr 2017 18:17:42 +0000 (11:17 -0700)]
Update CoreClr, CoreFx to preview1-25215-03, preview1-25214-03, respectively (dotnet/coreclr#10952)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8a4eef782cb1f297d499c08896bbbd2c5ceb3099
Sujin Kim [Mon, 17 Apr 2017 17:18:39 +0000 (02:18 +0900)]
[RyuJit/ARM32] Fix assertion of failure on "Instruction cannot be encoded" (dotnet/coreclr#10789)
Fix assertion of failure on "Instruction cannot be encoded"
I figured out the bit set mask for '0xffffff00' which is the imm is not supportted on ARM.
So at first, It would be checked the validation of using instruction with immediate constants.
If not, it would be use the instruction with registers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7231298e767bdfa756b7895118a85cfdcbe75019
Bruce Forstall [Mon, 17 Apr 2017 17:14:13 +0000 (10:14 -0700)]
Merge pull request dotnet/coreclr#11013 from mskvortsov/nullcheck
[RyuJIT/ARM32] Update nullcheck codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1818d821b0ae261ba63b3311bdc6ec09739c539
Bruce Forstall [Mon, 17 Apr 2017 16:53:15 +0000 (09:53 -0700)]
Merge pull request dotnet/coreclr#11016 from alpencolt/ryu-arm-localloc-fix
[RyuJIT/ARM32] Fix amount of allocated registers for Localloc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4535989dd9ff88b585b1e9edc63769cd61632977
Hyeongseok Oh [Mon, 17 Apr 2017 15:56:19 +0000 (00:56 +0900)]
Fix ARM32/Linux release CI test failure (dotnet/coreclr#11008)
* Fix ARM32/Linux release CI test failure
Fix ARM32/Linux release CI test failure by removing libcoreclrptprovider.so from CoreFX build results.
* Fix typo
Fix typo in netci.groovy
Commit migrated from https://github.com/dotnet/coreclr/commit/
591be50e6f74b821a6d2a7776bbae0b33a9e6809
Jan Kotas [Tue, 14 Mar 2017 16:06:56 +0000 (09:06 -0700)]
Add Span and ReadOnlySpan from CoreCLR
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd52e03376af6d02ec1938099bbc796352437798
Alexander Soldatov [Mon, 17 Apr 2017 13:10:36 +0000 (16:10 +0300)]
[RyuJIT/ARM32] Fix amount of allocated registers for Localloc.
Now for small allocation (up to 4 store instructions) we always have
1 temporary register which is different from register where result
of stackalloc is returned. Also one additional register will be allocated
for PSP if needed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
45b693f07b728f3b54aa95b726993eb7bb1c2453
Mikhail Skvortcov [Mon, 17 Apr 2017 09:48:09 +0000 (12:48 +0300)]
RyuJIT/ARM32: update nullcheck codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
2807731af92a16c56be2a1c2a6e4a502c6635ffc
303248153 [Mon, 17 Apr 2017 03:01:52 +0000 (11:01 +0800)]
Fix comment about pinning bit in object.h (dotnet/coreclr#11004)
Commit migrated from https://github.com/dotnet/coreclr/commit/
40c33f6f411d8c104594088a09b9f806006da9fa
Yi Zhang (CLR) [Mon, 17 Apr 2017 02:21:55 +0000 (19:21 -0700)]
Fix warning in LPTSTRTestNative (dotnet/coreclr#10973)
* Fix warning in LPTSTRTestNative and add support for wcsncmp in xplatform.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d02e4417b487c4531df7566bb620c5fddfeb7e5
Hugh Bellamy [Sun, 16 Apr 2017 18:36:47 +0000 (01:36 +0700)]
Fix OOM exception thrown in case insensitive replace for an empty string (dotnet/coreclr#11001)
Commit migrated from https://github.com/dotnet/coreclr/commit/
08c80c57b08647be4b3d050549f48bbe265ad90e
Cyd Haselton [Sun, 16 Apr 2017 18:36:17 +0000 (13:36 -0500)]
Fixed CI link (dotnet/coreclr#11003)
Updated link referenced in CI builds; old link was broken
Commit migrated from https://github.com/dotnet/coreclr/commit/
26523837c67a45b7b951e06a854a7d5203e56bcf
Jan Kotas [Sat, 15 Apr 2017 20:32:58 +0000 (13:32 -0700)]
Move Span/ReadOnlySpan to shared CoreLib partition (dotnet/coreclr#10988)
Fix a few method names to better names used in CoreRT
Contributes to https://github.com/dotnet/corert/issues/2966
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0b8c96334016770680d64fc83a8e7dbdeb657ee
mikedn [Sat, 15 Apr 2017 19:11:51 +0000 (22:11 +0300)]
Make some Dictionary code smaller (dotnet/coreclr#10993)
Store a reference to the relevant entry at the start of the loop to avoid indexing `entries` multiple times.
This avoids some redundant range checks in `Remove` and allows the elimination of a duplicate `index++` in `Enumerator.MoveNext`.
Saves ~7KB of code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cb9a6fa3d0902b54cf3e4216e0641b9cb47182b
Michelle McDaniel [Sat, 15 Apr 2017 18:40:09 +0000 (11:40 -0700)]
Merge pull request dotnet/coreclr#10983 from danmosemsft/revert.jeremy
Revert "Strip out unused reg code. (dotnet/coreclr#10741)"
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbc3557bdc1644a3233b026186f91615f60bfcfe
Petr Onderka [Sat, 15 Apr 2017 17:22:00 +0000 (19:22 +0200)]
Update Viewing JIT dumps to 2.0 and csproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
44f295393626a1f1585cd17307e483ef88ccd98d
Mike McLaughlin [Sat, 15 Apr 2017 18:09:03 +0000 (11:09 -0700)]
Make createdump build and work on Centos (dotnet/coreclr#10985)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc5b99d0e10bb07c6b0c3071e2db9dac3c68b9c0
Eric Erhardt [Sat, 15 Apr 2017 16:54:29 +0000 (11:54 -0500)]
Remember AdjustementRule index
Profiling TimeZoneInfo scenarios on Unix shows most of the time being spent in GetPreviousAdjustmentRule. This is because we need to scan all of the AdjustmentRules, looking for the specified rule, and then getting the one before it.
This change remembers the AdjustmentRule index when passing the AdjustmentRule into GetPreviousAdjustmentRule. This allows us to not scan all the rules, and increases the performance of DateTime.Now significantly in time zones that have daylight savings time.
Fix https://github.com/dotnet/corefx/issues/3571
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4b6694ed6a9d83a475b2f8003486428c1895195
Steve MacLean [Sat, 15 Apr 2017 15:39:02 +0000 (11:39 -0400)]
[Arm64] Fix assembly errors (dotnet/coreclr#10977)
* [Arm64] Fix assembly errors
* [Arm64] Static use ldrb w2, [x2, w1, UXTW]
* Revert changes to src/vm/arm64/asmhelpers.asm
Commit migrated from https://github.com/dotnet/coreclr/commit/
8dd20ec4f14be0b5e4d4e212bc54adcfa066743a
Pat Gavlin [Sat, 15 Apr 2017 05:16:44 +0000 (22:16 -0700)]
Merge pull request dotnet/coreclr#10958 from pgavlin/VSO397793
Preserve VNs in fgMorphIntoHelperCall.
Commit migrated from https://github.com/dotnet/coreclr/commit/
57b7abfe5e6581e611e630a47b7f5d7a24ff31f5
danmosemsft [Fri, 14 Apr 2017 22:53:33 +0000 (15:53 -0700)]
Revert "Strip out unused reg code. (dotnet/coreclr#10741)"
This reverts commit dotnet/coreclr@
ed4f594abf41a71b126152bb8755051d0831e12d.
Commit migrated from https://github.com/dotnet/coreclr/commit/
368b35097bb12ef8ec5df64103303c7488d82dd7
Bruce Forstall [Fri, 14 Apr 2017 22:47:58 +0000 (15:47 -0700)]
Merge pull request dotnet/coreclr#10936 from BruceForstall/TempRegApi
Introduce API for codegen getting temp registers from gtRsvdRegs
Commit migrated from https://github.com/dotnet/coreclr/commit/
b23add035ef6c7d599cf439be0ad7199c0587a7d
Pat Gavlin [Fri, 14 Apr 2017 22:18:12 +0000 (15:18 -0700)]
Add a brief comment to the new test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
53ba241444e15bc772b20b434fd113a728f1b650
Sergey Andreenko [Fri, 14 Apr 2017 20:58:25 +0000 (13:58 -0700)]
Small clean up of stackEntry (dotnet/coreclr#10820)
Make all stackDepth equal unsigned int.
Delete possible wrong function (the comment said : "// used in the inliner, where we can assume typesafe code. please don't use in the importer!!", but it was used).
Delete methods, that used arguments as output buffers.
* delete code without effects
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d7c80353acb86f3bc85b5950179f436b0a45ccc
Bruce Forstall [Thu, 13 Apr 2017 00:16:46 +0000 (17:16 -0700)]
Introduce API for codegen getting temp registers from gtRsvdRegs
LSRA puts a set of temporary registers needed by a node in the
gtRsvdRegs register mask. Currently, evey codegen function that
needs to use a temporary register manually manipulates this mask.
Introduce a few functions to make this simpler and more regular:
1. GetSingleTempReg() // Gets a temp; asserts there is exactly one temp reg.
2. ExtractTempReg() // Gets the lowest temp, removes it from gtRsvdRegs so subsequent calls don't see it.
3. AvailableTempRegCount() // Returns a count of available temp registers.
All take an optional register mask, so you can extract a register from
just the set specified by the mask (typically RBM_ALLINT or RBM_ALLFLOAT).
Commit migrated from https://github.com/dotnet/coreclr/commit/
950b0904511058e3d0254009573535e576fe4574
Aditya Mandaleeka [Fri, 14 Apr 2017 20:03:22 +0000 (13:03 -0700)]
Merge pull request dotnet/coreclr#10955 from adityamandaleeka/makeHandleStoreClass
Make a GCHandleStore class and interface for use by the VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6c2f7834d338e08bf3dcf9dedb48b2a0c08fcfa
Andy Ayers [Fri, 14 Apr 2017 19:46:22 +0000 (12:46 -0700)]
Merge pull request dotnet/coreclr#10956 from AndyAyersMS/FixMorphUnnecessaryNullCheck
Jit: fix unnecessary null checks in some field accesses
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed254aee3b15c30f224b695b5c0f439c6724e5ca
Aditya Mandaleeka [Fri, 14 Apr 2017 03:49:04 +0000 (20:49 -0700)]
Make HandleStores contain their underlying bucket directly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bb12f6ffb876eb51a85f62f7b9967eb31e0b40c
Sean Gillespie [Fri, 14 Apr 2017 16:51:10 +0000 (09:51 -0700)]
[Local GC] Move operations on CLREventStatic to the EE interface (dotnet/coreclr#10813)
* [Local GC] Move operations on CLREventStatic to the EE and add their functionality to the interface
* Fix a missed case
* Split GetWaitForGCEvent into two smaller interface methods to avoid exposing the event itself on the interface
* Initial implementation for Unix
* Complete unix implementation
* Make it work on Windows
* Remove redudant methods from GCToEEInterface
* Fix the Linux build
* First part of code review feedback: make GCEvent dispatch statically (Windows)
* Second part of code review feedback: make GCEvent dispatch statically (Unix)
* Standardize implementation across Windows/Unix (apparently MSVC is more lenient about constructor names than clang)
* Address code review feedback: Add Create*Event methods back onto GCEvent and remove them from GCToOSInterface
* Address code review feedback: remove a dead define
* Remove a bad comment, remove an unnecessary friend class, fix some formatting issues
* Fix an issue when initializing a GCEvent on Linux (should not be allocating an Impl in the constructor)
* Fix the same issue on Windows (less bad, just leaks memory instead of asserting)
Commit migrated from https://github.com/dotnet/coreclr/commit/
13812bfd0f6eda442c944f416e8c871b18d99e3f
Jonghyun Park [Fri, 14 Apr 2017 14:34:07 +0000 (23:34 +0900)]
[x86/Linux] Use appropriate FCALL macro for DoToDecimal (dotnet/coreclr#10963)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c6f23eb3d1ee0e39d6df44ed573f6a0132f71fc
Jan Vorlicek [Fri, 14 Apr 2017 12:13:48 +0000 (05:13 -0700)]
Implement MEM_RESET handling in VirtualAlloc on Unix (dotnet/coreclr#10939)
Commit migrated from https://github.com/dotnet/coreclr/commit/
edd23a10bc574058a42c62dc829973dc48449837
Aditya Mandaleeka [Fri, 14 Apr 2017 02:19:58 +0000 (19:19 -0700)]
Rename IGCHandleTable to IGCHandleManager.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9914b7ab9dfcc7ad8003368715a182d7cbbe289
Omar Tawfik [Fri, 14 Apr 2017 03:07:27 +0000 (20:07 -0700)]
Merge pull request dotnet/coreclr#10945 from OmarTawfik/update-runtimefeature-docs
Update comment to reflect how RuntimeFeature members should be defined
Commit migrated from https://github.com/dotnet/coreclr/commit/
d09465f3c9ae99c3842ff22edb7f92695dd7c7ca
Gaurav Khanna [Fri, 14 Apr 2017 00:58:21 +0000 (17:58 -0700)]
Reenable incremental linking (dotnet/coreclr#10943)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad86b4fa8a4b0898594fcbf0b4a17d0f48db5034
Pat Gavlin [Thu, 13 Apr 2017 23:37:33 +0000 (16:37 -0700)]
Preserve VNs in fgMorphIntoHelperCall.
This method is used to transform a node into a semantically-equivalent
helper call, and should preserve any value numbers that are present on
the the node.
Commit migrated from https://github.com/dotnet/coreclr/commit/
18e2c4ae47893c0f2ffdf19280f27d538ad9d4c1
Sean Gillespie [Thu, 13 Apr 2017 22:35:42 +0000 (15:35 -0700)]
[Local GC] Handle table low-hanging interface violations (dotnet/coreclr#10929)
Commit migrated from https://github.com/dotnet/coreclr/commit/
56776b20f5902ef60d43cb502d734193b2521fca
Andy Ayers [Thu, 13 Apr 2017 22:17:44 +0000 (15:17 -0700)]
Jit: fix unnecessary null checks in some field accesses
Morph was sometimes passing the existing MorphAddressContext down
to fgMorphField even when the field access was for a field value.
If that context contained indefinite offsets, morph would then
insert an explicit null check on the object pointer for the field
access.
Typically the field offset is small enough that this explicit check
is not needed. The implicit check done when fetching the field's value
is sufficient protection.
The fix is to have `fgMorphSmpOp` clear out the context for child
`GT_FIELD` nodes, unless the field parent is a `GT_ADDR`. Note
if there is an `op2` node the parent cannot be `GT_ADDR` so these
field children always get an empty context.
No tests added since this kicks in reasonably frequently in corelib and
elsewhere in frameworks.
Closes dotnet/coreclr#10942.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8936d23a89dd4508b4b5d04e93da0747ca2b7d5d
Aditya Mandaleeka [Wed, 12 Apr 2017 02:34:15 +0000 (19:34 -0700)]
Make a GCHandleStore class and interface for use by the VM.
Commit migrated from https://github.com/dotnet/coreclr/commit/
da00894a5d657b3ba06ebf6e004e5a5a0976434b
William Godbe [Thu, 13 Apr 2017 21:36:14 +0000 (14:36 -0700)]
Merge pull request dotnet/coreclr#10953 from wtgodbe/crossImage
Use updated Docker images for Crossbuild
Commit migrated from https://github.com/dotnet/coreclr/commit/
da623d24ec583073251a30c94ca092080f958623
wtgodbe [Thu, 13 Apr 2017 21:29:56 +0000 (14:29 -0700)]
Use updated Docker images for Crossbuild
Commit migrated from https://github.com/dotnet/coreclr/commit/
acbcc41533c54f837c0bb0d4307dea519385b5dc
William Godbe [Thu, 13 Apr 2017 20:56:26 +0000 (13:56 -0700)]
Merge pull request dotnet/coreclr#10927 from wtgodbe/PortableOSXWin
Enable building Core_Root for any RID against packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
9bc804df0acb52407c5146bb4b411558881fdac8
William Godbe [Thu, 13 Apr 2017 20:28:08 +0000 (13:28 -0700)]
Merge pull request dotnet/coreclr#10949 from wtgodbe/ImageVersion
Update Ubuntu14.04 Cross Docker image
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b5a3d56a1886fa742c4b0ae8cf215bef1b322ac
wtgodbe [Thu, 13 Apr 2017 20:27:50 +0000 (13:27 -0700)]
Update Ubuntu14.04 Cross Docker image
Commit migrated from https://github.com/dotnet/coreclr/commit/
41d4cb44f012957eef08f3f16ae4a352d93e5d9f
Eric Erhardt [Thu, 13 Apr 2017 20:21:58 +0000 (15:21 -0500)]
Fix perf of DateTime.Now on Unix
Profiling DateTime.Now on Unix shows that a lot of time is spent in GetPreviousAdjustmentRule and AdjustmentRule::Equals. Instead, it is safe to use ReferenceEquals, which increases the performance of DateTime.Now and other time zone operations on Unix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3aec163d4a1431b89f6e1ec22d9b88c13b399a66
Omar Tawfik [Thu, 13 Apr 2017 19:33:10 +0000 (12:33 -0700)]
Update comment to reflect how RuntimeFeatures should be defined
Commit migrated from https://github.com/dotnet/coreclr/commit/
392c18f9d7a2140a4d9189d600b10b0b101922c5