platform/upstream/dotnet/runtime.git
7 years agoCreate default variables for Crossgen, TargetsNonWindows in pipebuild
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

7 years agoConvert a few test files from UTF16 to ASCII and add license (dotnet/coreclr#11051)
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

7 years agoMerge pull request dotnet/coreclr#10979 from wtgodbe/R2RWindows
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

7 years agoRemove /RELEASE option required for device drivers (dotnet/coreclr#11023)
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

7 years agoMerge pull request dotnet/coreclr#11047 from stephentoub/task_iscompletedsuccessfully
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

7 years agoEnable running Crossgen tests on Windows in Helix
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

7 years agoMerge pull request dotnet/coreclr#10948 from eerhardt/GetPreviousAdjRulePerf
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

7 years agoMerge pull request dotnet/coreclr#11045 from JosephTremoulet/TraceEventVersion
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

7 years agofail fast on exceptions that indicate corrupted process state (dotnet/coreclr#10957)
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

7 years ago[x86/Linux] EH Support for Per-Frame P/Invoke Init (dotnet/coreclr#10966)
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

7 years agoExpose Task.IsCompletedSuccessfully
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

7 years agosmall clean-up and bug fix in genIntToIntCast (dotnet/coreclr#10989)
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

7 years agoRun-xunit-perf: update TraceEvents version number
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

7 years agoAssert GetAdjustmentRuleForTime sets ruleIndex correctly.
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

7 years agoMerge pull request dotnet/coreclr#11035 from BruceForstall/NumSuccImprovement
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

7 years ago[x86/Linux] changed to the AT&T syntax to solve a problem related broken stack. ...
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

7 years ago* fixed class size calculation (dotnet/coreclr#10916)
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

7 years agoFix String.Replace implementation (dotnet/coreclr#11039)
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

7 years agoMerge pull request dotnet/coreclr#10995 from svick/patch-1
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

7 years agoFix error caused by passing -TargetsWindows at end of Command Line (dotnet/coreclr...
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

7 years agoDo not throw an assertion on no mscorlib
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

7 years agoMerge pull request dotnet/coreclr#11036 from brianrob/remove_eventcounter
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

7 years agoFix build break
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

7 years agoRename attribute to IsReadOnlyAttribute (dotnet/coreclr#11026)
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

7 years agoUse isInternalRegDelayFree to avoid temp reg overallocation (dotnet/coreclr#11025)
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

7 years agoRemove EventCounter from System.Private.CoreLib.
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

7 years agoHoist calls to NumSucc() out of loops
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

7 years agoImprove performance of Object.GetType for arrays (dotnet/coreclr#10992)
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

7 years agoMerge pull request dotnet/coreclr#11028 from danmosemsft/api.zone
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

7 years agoFormat spmi sources with clang-format (dotnet/coreclr#11027)
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

7 years agoJit intrinsics for Span<T>.get_Item and ReadOnlySpan<T>.get_Item. (dotnet/coreclr...
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

7 years agoAdd scenario-based tests
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

7 years agoAdd SecurityZone stub
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

7 years agoIn function Assembly.Load ignore AssemblyName.CodeBase even if it is set (dotnet...
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

7 years agoRemove Alpine for pipe builds (dotnet/coreclr#11022)
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

7 years agoSupport FEATURE_EVENT_TRACE override (dotnet/coreclr#10961)
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

7 years agoAllow build.sh to have multiple cmakeargs options (dotnet/coreclr#10962)
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

7 years agoUpdate CoreClr, CoreFx to preview1-25215-03, preview1-25214-03, respectively (dotnet...
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

7 years ago[RyuJit/ARM32] Fix assertion of failure on "Instruction cannot be encoded" (dotnet...
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

7 years agoMerge pull request dotnet/coreclr#11013 from mskvortsov/nullcheck
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

7 years agoMerge pull request dotnet/coreclr#11016 from alpencolt/ryu-arm-localloc-fix
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

7 years agoFix ARM32/Linux release CI test failure (dotnet/coreclr#11008)
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

7 years agoAdd Span and ReadOnlySpan from CoreCLR
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

7 years ago[RyuJIT/ARM32] Fix amount of allocated registers for Localloc.
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

7 years agoRyuJIT/ARM32: update nullcheck codegen
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

7 years agoFix comment about pinning bit in object.h (dotnet/coreclr#11004)
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

7 years agoFix warning in LPTSTRTestNative (dotnet/coreclr#10973)
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

7 years agoFix OOM exception thrown in case insensitive replace for an empty string (dotnet...
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

7 years agoFixed CI link (dotnet/coreclr#11003)
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

7 years agoMove Span/ReadOnlySpan to shared CoreLib partition (dotnet/coreclr#10988)
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

7 years agoMake some Dictionary code smaller (dotnet/coreclr#10993)
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

7 years agoMerge pull request dotnet/coreclr#10983 from danmosemsft/revert.jeremy
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

7 years agoUpdate Viewing JIT dumps to 2.0 and csproj
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

7 years agoMake createdump build and work on Centos (dotnet/coreclr#10985)
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

7 years agoRemember AdjustementRule index
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

7 years ago[Arm64] Fix assembly errors (dotnet/coreclr#10977)
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

7 years agoMerge pull request dotnet/coreclr#10958 from pgavlin/VSO397793
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

7 years agoRevert "Strip out unused reg code. (dotnet/coreclr#10741)"
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

7 years agoMerge pull request dotnet/coreclr#10936 from BruceForstall/TempRegApi
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

7 years agoAdd a brief comment to the new test.
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

7 years agoSmall clean up of stackEntry (dotnet/coreclr#10820)
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

7 years agoIntroduce API for codegen getting temp registers from gtRsvdRegs
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

7 years agoMerge pull request dotnet/coreclr#10955 from adityamandaleeka/makeHandleStoreClass
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

7 years agoMerge pull request dotnet/coreclr#10956 from AndyAyersMS/FixMorphUnnecessaryNullCheck
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

7 years agoMake HandleStores contain their underlying bucket directly.
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

7 years ago[Local GC] Move operations on CLREventStatic to the EE interface (dotnet/coreclr...
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

7 years ago[x86/Linux] Use appropriate FCALL macro for DoToDecimal (dotnet/coreclr#10963)
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

7 years agoImplement MEM_RESET handling in VirtualAlloc on Unix (dotnet/coreclr#10939)
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

7 years agoRename IGCHandleTable to IGCHandleManager.
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

7 years agoMerge pull request dotnet/coreclr#10945 from OmarTawfik/update-runtimefeature-docs
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

7 years agoReenable incremental linking (dotnet/coreclr#10943)
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

7 years agoPreserve VNs in fgMorphIntoHelperCall.
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

7 years ago[Local GC] Handle table low-hanging interface violations (dotnet/coreclr#10929)
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

7 years agoJit: fix unnecessary null checks in some field accesses
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

7 years agoMake a GCHandleStore class and interface for use by the VM.
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

7 years agoMerge pull request dotnet/coreclr#10953 from wtgodbe/crossImage
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

7 years agoUse updated Docker images for Crossbuild
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

7 years agoMerge pull request dotnet/coreclr#10927 from wtgodbe/PortableOSXWin
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

7 years agoMerge pull request dotnet/coreclr#10949 from wtgodbe/ImageVersion
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

7 years agoUpdate Ubuntu14.04 Cross Docker image
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

7 years agoFix perf of DateTime.Now on Unix
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

7 years agoUpdate comment to reflect how RuntimeFeatures should be defined
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

7 years agoMerge pull request dotnet/coreclr#10922 from adiaaida/fixXUnitPerf
Michelle McDaniel [Thu, 13 Apr 2017 17:29:36 +0000 (10:29 -0700)]
Merge pull request dotnet/coreclr#10922 from adiaaida/fixXUnitPerf

Fix run-xunit-perf.cmd for local use

Commit migrated from https://github.com/dotnet/coreclr/commit/583713bd78ab202c62ba6beec83db2204bd0a361

7 years ago[x86/Linux] Use appropriate FCALL macro for SafeBuffer methods (dotnet/coreclr#10935)
Jonghyun Park [Thu, 13 Apr 2017 17:23:48 +0000 (02:23 +0900)]
[x86/Linux] Use appropriate FCALL macro for SafeBuffer methods (dotnet/coreclr#10935)

Commit migrated from https://github.com/dotnet/coreclr/commit/92e90a145fd8a9c87e3d909037d734a19ff2bc1b

7 years agoRemove distro specific RIDs from SOS.NETCore's project.json. (dotnet/coreclr#10925)
Mike McLaughlin [Thu, 13 Apr 2017 16:28:23 +0000 (09:28 -0700)]
Remove distro specific RIDs from SOS.NETCore's project.json. (dotnet/coreclr#10925)

Commit migrated from https://github.com/dotnet/coreclr/commit/e55be5a899e5238e94b85f519b88bb69ca2e7b28

7 years agoEnsure Environment.ExitCode works correctly after app domain unloaded. (dotnet/corecl...
Jim Ma [Thu, 13 Apr 2017 15:50:05 +0000 (23:50 +0800)]
Ensure Environment.ExitCode works correctly after app domain unloaded. (dotnet/coreclr#10842)

* Ensure Environment.ExitCode works correctly after app domain unloaded.

This PR addresses 2 problems of Environment.ExitCode:

1. Can't get correct exit code of main function.
2. Can't set %errorlevel%.

Details can be found on dotnet/coreclr#6206

Fix dotnet/coreclr#6206

Commit migrated from https://github.com/dotnet/coreclr/commit/5e138a6d69215546e9bf4b38ec9bdd1c436fca5b

7 years agoUpdate CoreClr to preview1-25213-02 (dotnet/coreclr#10937)
dotnet bot [Thu, 13 Apr 2017 14:56:52 +0000 (07:56 -0700)]
Update CoreClr to preview1-25213-02 (dotnet/coreclr#10937)

Commit migrated from https://github.com/dotnet/coreclr/commit/7f1ebe17e63bf7670c8fc3393a82b2b1ed978762

7 years agoMerge pull request dotnet/coreclr#10875 from rahku/fix_x86_gcstress
Rahul Kumar [Thu, 13 Apr 2017 14:20:52 +0000 (07:20 -0700)]
Merge pull request dotnet/coreclr#10875 from rahku/fix_x86_gcstress

modify lastAvAddress when adjusting context for Stub

Commit migrated from https://github.com/dotnet/coreclr/commit/58a5e48d5fc016aceffedba7ceda0c4855ab79ca

7 years ago[ARM32/Linux] Build libcoreclrtraceptprovider.so (dotnet/coreclr#10406)
Hyeongseok Oh [Thu, 13 Apr 2017 11:09:32 +0000 (20:09 +0900)]
[ARM32/Linux] Build libcoreclrtraceptprovider.so (dotnet/coreclr#10406)

* Build libcoreclrtraceptprovider.so for ARM32 and modify cmake

- Build libcoreclrtraceptprovider.so for ARM32
- Include libcoreclrtraceptprovider.so in nuget package
- Don't build libcoreclrtraceptprovider.so for
Tizen: lttng is not supported in Tizen
- Exclude packaging libcoreclrtraceptprovider.so based on os-name
excluded for tizen

* Remove libcoreclrtraceptprovider.so before test for ARM32/Linux

Remove libcoreclrtraceptprovider.so before test for ARM32/Linux in CI
CI test environment using docker with qemu has some problem to use lttng library

Commit migrated from https://github.com/dotnet/coreclr/commit/e5faef44cac6e86b12b3b586742183293bdd34a7

7 years agoCreate ELF core dump on coreclr exceptions and signals. (dotnet/coreclr#10902)
Mike McLaughlin [Thu, 13 Apr 2017 07:34:01 +0000 (00:34 -0700)]
Create ELF core dump on coreclr exceptions and signals. (dotnet/coreclr#10902)

* Create ELF core dump on coreclr exceptions and signals.

When coreclr aborts because of a unhandled managed exception or hardware signal, the
"createdump" utility is launched if the "COMPlus_DbgEnableMiniDump" environment
variable is set to "1".

This utility uses the DAC enumerate memory interface to determine what memory regions
should be written for the managed state plus all the normal Linux memory regions for
the native state like threads, stacks, DSO, etc.

There still needs some to configure some of the "policies" like the name/location of
the core dump and the type of minidump (MiniDumpNormal, MiniDumpWithFullAuxiliaryState,
MiniDumpWithPrivateReadWriteMemory, etc.).

Currently only supported on Ubuntu Linux.

Make createdump smaller by using PAL in DAC module.

Commit migrated from https://github.com/dotnet/coreclr/commit/63cf53abae162743f1b217ee0ef3bbd3c505d097

7 years agoAdd platform (x64 & arm64) specific optimized jit helpers for statics access (dotnet...
Rahul Kumar [Thu, 13 Apr 2017 05:33:40 +0000 (22:33 -0700)]
Add platform (x64 & arm64) specific optimized jit helpers for statics access (dotnet/coreclr#10912)

Commit migrated from https://github.com/dotnet/coreclr/commit/4a2298203489a9b77ebe8e5c9116de35eb62c3ca

7 years agoMerge pull request dotnet/coreclr#10930 from rahku/marshalfix
Rahul Kumar [Thu, 13 Apr 2017 01:22:18 +0000 (18:22 -0700)]
Merge pull request dotnet/coreclr#10930 from rahku/marshalfix

HelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper

Commit migrated from https://github.com/dotnet/coreclr/commit/402cea75d76b210e7f061d0587d46daa27062e01

7 years agoHelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper
Rahul Kumar [Wed, 12 Apr 2017 23:13:04 +0000 (16:13 -0700)]
HelperMethodFrame missing at certain places in method MarshalNative::PtrToStructureHelper

Commit migrated from https://github.com/dotnet/coreclr/commit/c5e9a125bb1fec179720973139211b4f14bc6bd5

7 years agoMerge pull request dotnet/coreclr#10914 from hqueue/jit/remove_unused_fuction
Bruce Forstall [Wed, 12 Apr 2017 22:28:36 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#10914 from hqueue/jit/remove_unused_fuction

Remove unused function in BasicBlock

Commit migrated from https://github.com/dotnet/coreclr/commit/49b305b966eec1b534c87a80bf1d4cb537e285a1

7 years agoMerge changes from TFS (dotnet/coreclr#10926)
dotnet bot [Wed, 12 Apr 2017 22:27:09 +0000 (15:27 -0700)]
Merge changes from TFS (dotnet/coreclr#10926)

* Fix desktop build break

[tfs-changeset: 1654125]

* JIT formatting

Commit migrated from https://github.com/dotnet/coreclr/commit/07606103cee92290abe7958502a70e01c0df4870

7 years agoMerge pull request dotnet/coreclr#10917 from stephentoub/fix_badges
Stephen Toub [Wed, 12 Apr 2017 22:23:26 +0000 (18:23 -0400)]
Merge pull request dotnet/coreclr#10917 from stephentoub/fix_badges

Fix build badges in OfficialAndDailyBuilds.md

Commit migrated from https://github.com/dotnet/coreclr/commit/fa7293aa82858499ffc7ab4734b3e5c5ccf2f905

7 years ago[x86/Linux] Fix ResumeEsp before resume (dotnet/coreclr#10749)
Jonghyun Park [Wed, 12 Apr 2017 22:09:33 +0000 (07:09 +0900)]
[x86/Linux] Fix ResumeEsp before resume (dotnet/coreclr#10749)

* [x86/Linux] Correctly unwind FCALL frames

* Fix Up ResumeEsp inside ProcessCLRException

* Fix Context Before PC Update

Commit migrated from https://github.com/dotnet/coreclr/commit/03d0d244bca38053d54eef6f4b6db51ae87f7700

7 years ago[x86/Linux] 16-byte aligned BackPatchWorkerAsmStub (dotnet/coreclr#10759)
Jonghyun Park [Wed, 12 Apr 2017 22:07:56 +0000 (07:07 +0900)]
[x86/Linux] 16-byte aligned BackPatchWorkerAsmStub (dotnet/coreclr#10759)

* [x86/Linux] 16-byte aligned BackPatchWorkerAsmStub

* Use fixed alignment padding

* Do NOT push ebx (no longer required)

Commit migrated from https://github.com/dotnet/coreclr/commit/cebfa42d658e9ab39f189aeb01baeb266ed1190a

7 years agoMerge pull request dotnet/coreclr#10905 from pgavlin/VSO406158
Pat Gavlin [Wed, 12 Apr 2017 21:57:32 +0000 (14:57 -0700)]
Merge pull request dotnet/coreclr#10905 from pgavlin/VSO406158

Fix a number of reordering issues in shift decomposition.

Commit migrated from https://github.com/dotnet/coreclr/commit/15cb419c0fae28509cb54ffe991874cde05a11c7

7 years ago[x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760)
Jonghyun Park [Wed, 12 Apr 2017 21:44:20 +0000 (06:44 +0900)]
[x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760)

Commit migrated from https://github.com/dotnet/coreclr/commit/789879bb302416c511b01442d60a037b2c6ece4a