platform/upstream/coreclr.git
7 years agoMerge pull request #11215 from wtgodbe/ActuallyDoCrossgen
William Godbe [Wed, 26 Apr 2017 04:16:09 +0000 (21:16 -0700)]
Merge pull request #11215 from wtgodbe/ActuallyDoCrossgen

Set RunCrossGen=true for non-Windows R2R runs

7 years agoMove DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (#11193)
Jonghyun Park [Tue, 25 Apr 2017 23:31:29 +0000 (08:31 +0900)]
Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (#11193)

* Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp

* Fix x86/Windows link error

7 years agoSet RunCrossGen=true for non-Windows R2R runs
wtgodbe [Tue, 25 Apr 2017 22:40:22 +0000 (15:40 -0700)]
Set RunCrossGen=true for non-Windows R2R runs

7 years agoMerge pull request #11134 from pgavlin/VSO406163
Pat Gavlin [Tue, 25 Apr 2017 22:36:37 +0000 (15:36 -0700)]
Merge pull request #11134 from pgavlin/VSO406163

Fix fgNewBBinRegion when inserting into filters.

7 years agoMerge pull request #11110 from rartemev/issue_9880
Roman Artemev [Tue, 25 Apr 2017 22:24:09 +0000 (15:24 -0700)]
Merge pull request #11110 from rartemev/issue_9880

Made behavior to conform to ECMA for 'tail.call, pop, ret' case

7 years ago[RyuJIT/ARM32] Move genJumpKindsForTree into common part (#11103)
mskvortsov [Tue, 25 Apr 2017 22:01:43 +0000 (01:01 +0300)]
[RyuJIT/ARM32] Move genJumpKindsForTree into common part (#11103)

* Move genJumpKindsForTree() into codegenarmarch.cpp.

* Edit genJumpKindsForTree().

* Introduce genCodeForJumpTrue() for both ArmArch and XArch.

* Fix GT_JTRUE codegen for ARM32 by using genCodeForJumpTrue().

7 years agoMerge pull request #11118 from rartemev/issue_10094
Roman Artemev [Tue, 25 Apr 2017 21:31:38 +0000 (14:31 -0700)]
Merge pull request #11118 from rartemev/issue_10094

Fixed netci.groove scripts to make CentOS and Ubuntu R2R jitstressregs builds worked.

7 years agoMade behavior to conform to ECMA for 'tail.call, pop, ret' case
Roman Artemev [Thu, 20 Apr 2017 00:49:25 +0000 (17:49 -0700)]
Made behavior to conform to ECMA for 'tail.call, pop, ret' case

7 years agoMerge pull request #11206 from wtgodbe/ContainerName
William Godbe [Tue, 25 Apr 2017 19:56:08 +0000 (12:56 -0700)]
Merge pull request #11206 from wtgodbe/ContainerName

Update R2R Container Names

7 years agoUpdate R2R Container Names
wtgodbe [Tue, 25 Apr 2017 19:55:37 +0000 (12:55 -0700)]
Update R2R Container Names

7 years agoTesting. DO NOT MERGE ME
Roman Artemev [Tue, 25 Apr 2017 00:01:06 +0000 (17:01 -0700)]
Testing. DO NOT MERGE ME

7 years agoAllow FEATURE_INTERPRETER to be enabled by command-line option (#11188)
Jonghyun Park [Tue, 25 Apr 2017 18:40:40 +0000 (03:40 +0900)]
Allow FEATURE_INTERPRETER to be enabled by command-line option (#11188)

* Allow FEATURE_INTERPRETER to be enabled by command-line option

* Set FEATURE_INTERPRETER as 0

7 years agoMerge pull request #11187 from wtgodbe/NonWindowsR2R
William Godbe [Tue, 25 Apr 2017 18:29:37 +0000 (11:29 -0700)]
Merge pull request #11187 from wtgodbe/NonWindowsR2R

Enable running R2R tests in Helix on non-Windows

7 years agoEnable running R2R tests in Helix on non-Windows
wtgodbe [Mon, 24 Apr 2017 20:41:42 +0000 (13:41 -0700)]
Enable running R2R tests in Helix on non-Windows

7 years agoMerge pull request #11203 from mskvortsov/FixLclFld
Bruce Forstall [Tue, 25 Apr 2017 18:14:27 +0000 (11:14 -0700)]
Merge pull request #11203 from mskvortsov/FixLclFld

[RyuJIT/ARM32] Update lclFld codegen

7 years ago[ARM32] clang 3.9 as a default for ARM cross build (#11064)
Hyung-Kyu Choi [Tue, 25 Apr 2017 17:58:22 +0000 (02:58 +0900)]
[ARM32] clang 3.9 as a default for ARM cross build (#11064)

* [ARM32] clang 3.9 as a default for ARM cross build

Use clang 3.9 as a default compiler for ARM cross build

* Both arm and armel will be built using clang 3.9 as a default
* ARM CI will use clang 3.9 as a default
* ARM pipieline build will use clang 3.9 as a default

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM32] Update docs describing clang-3.9 and ARM cross build

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Check minimum version requirement of clang for ARM cross build

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoFix fgNewBBinRegion when inserting into filters.
Pat Gavlin [Fri, 21 Apr 2017 17:26:05 +0000 (10:26 -0700)]
Fix fgNewBBinRegion when inserting into filters.

In order to ensure that the GC operates properly when handling
exceptions, the CLR ABI requires that control exits a filter region
throguh its terminal instruction. `fgNewBBinRegion` was violating this
invariant, however, which lead to GC stress failures when the GC was
invoked immediately after a filter finished executing but before control
entered any handlers. This change fixes the behavior of
`fgNewBBinRegion` when inserting new blocks into filter regions.

There are two cases to consider when inserting a new BB into a filter
region:
1. The filter region consists of multiple blocks
2. The filter region consists of a single block

The first case is straightforward: instead of inserting a new BB after
the last block of the filter, insert it before the last block of the
filter. Because the filter contains multiple blocks, the predecessor of
the filter must also be in the filter region.

The latter case requires splitting the single block, as inserting a new
block before the single block would otherwise change control flow (the
filter would begin with the new block rather than the single block). In
order to acheive this with minimal complexity, this change first inserts
a `BBJ_ALWAYS` block that transfers control to the existing single
block, then inserts a second new block immediately before the existing
single block. The second new block is then returned. To put it
visually, the transformation is from this:

```
    filter start: BBN (BBJ_EHFILTERRET)
```

to this:

```
    filter start: BBN + 1 (BBJ_ALWAYS -> BBN)
                  BBN + 2 (jumpKind)
                  BBN     (BBJ_EHFILTERRET)
```

and the function returns `BBN + 2`.

Fixes VSO 406163.

7 years agoMerge pull request dotnet/corert#3418 from dotnet/nmirror (#11186)
dotnet bot [Tue, 25 Apr 2017 17:05:21 +0000 (10:05 -0700)]
Merge pull request dotnet/corert#3418 from dotnet/nmirror (#11186)

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMerge pull request #11191 from BruceForstall/FixFuncletAssert
Bruce Forstall [Tue, 25 Apr 2017 16:58:16 +0000 (09:58 -0700)]
Merge pull request #11191 from BruceForstall/FixFuncletAssert

Fix funclet begin assert

7 years agoMerge pull request #11080 from BruceForstall/MeasureNoway
Bruce Forstall [Tue, 25 Apr 2017 15:40:26 +0000 (08:40 -0700)]
Merge pull request #11080 from BruceForstall/MeasureNoway

Add code to measure dynamic noway_assert usage

7 years agoRyuJIT/ARM32: Update GT_LCL_FLD codegen.
Mikhail Skvortcov [Tue, 25 Apr 2017 12:04:03 +0000 (15:04 +0300)]
RyuJIT/ARM32: Update GT_LCL_FLD codegen.

7 years ago[x86/Linux] Do not report untracked from filters (#11195)
Hanjoung Lee [Tue, 25 Apr 2017 09:07:38 +0000 (18:07 +0900)]
[x86/Linux] Do not report untracked from filters (#11195)

Related Issue : #11101

7 years agoAdd code to measure dynamic noway_assert usage
Bruce Forstall [Wed, 19 Apr 2017 20:37:34 +0000 (13:37 -0700)]
Add code to measure dynamic noway_assert usage

Set COMPlus_JitMeasureNowayAssert=1 to enable measurement.
Set COMPlus_JitMeasureNowayAssertFile to a path/file to send
output to a file instead of stdout.

Code is under `#if MEASURE_NOWAY` which is enabled for DEBUG
only, though it can be manually enabled for non-DEBUG builds.

7 years agoFix funclet begin assert
Bruce Forstall [Mon, 24 Apr 2017 18:12:14 +0000 (11:12 -0700)]
Fix funclet begin assert

7 years agoMerge pull request #11196 from wateret/fix-formatting
Bruce Forstall [Tue, 25 Apr 2017 06:49:01 +0000 (23:49 -0700)]
Merge pull request #11196 from wateret/fix-formatting

Fix formatting fail

7 years agoMerge pull request #11183 from sdmaclea/PR-FIX-11181
Bruce Forstall [Tue, 25 Apr 2017 06:31:17 +0000 (23:31 -0700)]
Merge pull request #11183 from sdmaclea/PR-FIX-11181

Fix 11181

7 years ago[x86/Linux] Change CI docker image (#11098)
Hyeongseok Oh [Tue, 25 Apr 2017 06:08:38 +0000 (15:08 +0900)]
[x86/Linux] Change CI docker image (#11098)

* [x86/Linux] Change CI docker image

Change CI docker image to support clang-3.9

* Update x86_ci_script.sh

change docker tag name

* Update x86_ci_script.sh

environment set correctly: ROOTFS_DIR

* Update x86_ci_script.sh

change docker image name

7 years agoFix formatting fail
Hanjoung Lee [Tue, 25 Apr 2017 05:51:14 +0000 (14:51 +0900)]
Fix formatting fail

7 years agoEnsure using the given executable path. (#10525)
Jim Ma [Tue, 25 Apr 2017 05:40:36 +0000 (17:40 +1200)]
Ensure using the given executable path. (#10525)

* Ensure using the given executable path.

Fix the bug that corerun trying to load the executable from current directory even if the user has specified a full path of the executable.

Fix #5631

* Revert "Ensure using the given executable path."

This reverts commit d237e6329f85132429176a0644cf6d93c9437ff4.

* Partially implemented.

* Ensure app context using correct IL file path.

Extracting simple name from the given file path and look up its value in tpa list. If the value does not equal to the given file path, we update the value with correct given file path.

Fix #5631

* Re-arrange the slashIndex to eliminate unneccessary code.

* A few performance improvement with a memory leak bug fixed.

* Added the absolute path of target assembly to tpa list.

Fix #5631

* Added the path of target assembly to tpa on Windows.

Fix #5631

7 years agoAdd "createdump" command to SOS. (#11161)
Mike McLaughlin [Tue, 25 Apr 2017 00:12:36 +0000 (17:12 -0700)]
Add "createdump" command to SOS. (#11161)

Uses the createdump utility code as a library.

Changed the "-m, --micro" option to "-t, --triage".

Lots of cleanup.

7 years agoMerge pull request #11152 from AndyAyersMS/FixTailCallStressAssert
Andy Ayers [Mon, 24 Apr 2017 23:42:38 +0000 (16:42 -0700)]
Merge pull request #11152 from AndyAyersMS/FixTailCallStressAssert

JIT: simple fix for the tail call stress assert

7 years agoMerge pull request #11157 from mikedn/reg-encoding
Bruce Forstall [Mon, 24 Apr 2017 23:28:08 +0000 (16:28 -0700)]
Merge pull request #11157 from mikedn/reg-encoding

Simplify emitter's RegEncoding

7 years agoMerge pull request #11108 from BruceForstall/RangedForAllSuccessorIter
Bruce Forstall [Mon, 24 Apr 2017 23:02:18 +0000 (16:02 -0700)]
Merge pull request #11108 from BruceForstall/RangedForAllSuccessorIter

Use C++ ranged 'for' for AllSuccessorIter use

7 years agoMerge pull request #11172 from mskvortsov/ArithOverflowChecks
Bruce Forstall [Mon, 24 Apr 2017 21:28:51 +0000 (14:28 -0700)]
Merge pull request #11172 from mskvortsov/ArithOverflowChecks

[RyuJIT/ARM32] Enable arithmetic overflow checks

7 years agoSupport other toolsets in Win/ARM64 build
Russ Keldorph [Sun, 23 Apr 2017 13:42:14 +0000 (06:42 -0700)]
Support other toolsets in Win/ARM64 build

7 years agoFix 11181
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 24 Apr 2017 19:33:13 +0000 (19:33 +0000)]
Fix 11181

7 years agoFix cmake warning about mismatched if/endif comment (#11176)
Bruce Forstall [Mon, 24 Apr 2017 18:15:35 +0000 (11:15 -0700)]
Fix cmake warning about mismatched if/endif comment (#11176)

7 years agoRemove PAL FileAlignment restriction (#10959)
Steve MacLean [Mon, 24 Apr 2017 17:51:29 +0000 (13:51 -0400)]
Remove PAL FileAlignment restriction (#10959)

* Remove PAL FileAlignment restriction

* Address PR #10959 feedback

* Fix amd64 crossgen error

* Respond to review feedback

* Fix arm32 regression

* Prepare to remove VIRTUAL_PAGE_* from map.cpp

Also simplify previous section code

* Rename function to GetVirtualPageSize()

7 years ago[Local GC] Ensure that handle creation returns null on failure instead of throwing...
Sean Gillespie [Mon, 24 Apr 2017 17:44:25 +0000 (10:44 -0700)]
[Local GC] Ensure that handle creation returns null on failure instead of throwing (#11092)

* [Local GC] Ensure that handle creation returns null on failure instead of throwing

* Fix some clang pedantry about jumping past variable initialization

* Throw OOM if initialization of handle store fails

* Perform the handle OOM check in each handle helper

7 years agodo not use = {nullptr} initialization. (#11153)
Sergey Andreenko [Mon, 24 Apr 2017 16:39:25 +0000 (09:39 -0700)]
do not use = {nullptr} initialization. (#11153)

It worked incorrectly on desktop.

7 years agoMerge pull request #11169 from hseok-oh/ryujit/fix_11128
Bruce Forstall [Mon, 24 Apr 2017 15:43:37 +0000 (08:43 -0700)]
Merge pull request #11169 from hseok-oh/ryujit/fix_11128

[ARM32/RyuJIT] Fix failure related with struct argument passing

7 years agoMerge pull request #11091 from BruceForstall/BlockRefactor
Bruce Forstall [Mon, 24 Apr 2017 15:29:15 +0000 (08:29 -0700)]
Merge pull request #11091 from BruceForstall/BlockRefactor

Refactoring: move some BasicBlock functions to block.cpp

7 years agoRyuJIT/ARM32: Enable arithmetic overflow checks.
Mikhail Skvortcov [Mon, 24 Apr 2017 11:10:20 +0000 (14:10 +0300)]
RyuJIT/ARM32: Enable arithmetic overflow checks.

7 years agoSupport FEATURE_DBGIPC override (#11164)
Jonghyun Park [Mon, 24 Apr 2017 10:20:38 +0000 (19:20 +0900)]
Support FEATURE_DBGIPC override (#11164)

7 years ago[x86/Linux] Remove unnecessary ResumeEsp field (#11167)
Jonghyun Park [Mon, 24 Apr 2017 08:39:52 +0000 (17:39 +0900)]
[x86/Linux] Remove unnecessary ResumeEsp field (#11167)

7 years ago[ARM32/RyuJIT] Fix failure related with struct argument passing
Hyeongseok Oh [Mon, 24 Apr 2017 08:34:47 +0000 (17:34 +0900)]
[ARM32/RyuJIT] Fix failure related with struct argument passing

Block using NYI_ARM when struct value split between registers and stack
Fix type assign error for struct slot

7 years ago[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (#11163)
Jonghyun Park [Mon, 24 Apr 2017 08:24:46 +0000 (17:24 +0900)]
[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (#11163)

7 years ago11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove method...
OmariO [Sun, 23 Apr 2017 20:35:24 +0000 (23:35 +0300)]
11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove methods (#11158)

7 years agoSimplify emitter's RegEncoding
Mike Danes [Sat, 22 Apr 2017 13:41:56 +0000 (16:41 +0300)]
Simplify emitter's RegEncoding

VC++ does't recognize that `(c ? x - 16 : x) & 7` is just `x & 7` and we end up with 5 instructions instead of 1.

7 years agoMark GetGenerationWR2 as GCStressIncompatible across all platforms (#11151)
Sean Gillespie [Sat, 22 Apr 2017 11:41:32 +0000 (04:41 -0700)]
Mark GetGenerationWR2 as GCStressIncompatible across all platforms (#11151)

7 years agoRemove destructor from GCEvent and instead rely on the OS to clean up (#11132)
Sean Gillespie [Sat, 22 Apr 2017 11:39:09 +0000 (04:39 -0700)]
Remove destructor from GCEvent and instead rely on the OS to clean up (#11132)

* Remove destructor from GCEvent and instead rely on the OS to clean up

* Add a comment justifying the lack of destructor

* wording: many -> all

7 years agoTwo improvments for LCG jump stubs (dynamic methods): (#9160)
Brian Sullivan [Sat, 22 Apr 2017 11:16:25 +0000 (04:16 -0700)]
Two improvments for LCG jump stubs (dynamic methods): (#9160)

When requesting a jump stub block for LCG, ask for a block of 4 jump stubs instead of 32
    Enable caching and cache lookup for LCG jump stubs

7 years agoJIT: simple fix for the tail call stress assert
Andy Ayers [Sat, 22 Apr 2017 00:09:07 +0000 (17:09 -0700)]
JIT: simple fix for the tail call stress assert

If class handles match, the return types are compatible, no matter
what the jit types indicate.

Addresses #10047.

7 years agoMove xplat minidump doc to botr. (#11149)
Mike McLaughlin [Sat, 22 Apr 2017 00:01:01 +0000 (17:01 -0700)]
Move xplat minidump doc to botr. (#11149)

Change default minidump type to MiniDumpWithPrivateReadWriteMemory.

Remove language about uploading triage dumps.

Turn off diagnostic output.

7 years agoMove CoreCLR to Preview2 (#11146)
Gaurav Khanna [Fri, 21 Apr 2017 22:06:11 +0000 (15:06 -0700)]
Move CoreCLR to Preview2 (#11146)

7 years agoMerge pull request #11140 from AndyAyersMS/FixRunBenchmarks
Andy Ayers [Fri, 21 Apr 2017 21:53:57 +0000 (14:53 -0700)]
Merge pull request #11140 from AndyAyersMS/FixRunBenchmarks

Update jit RunBenchmarks test to no longer use XPath

7 years agoMerge pull request #11148 from wtgodbe/DisableCoreMangLib
William Godbe [Fri, 21 Apr 2017 20:43:07 +0000 (13:43 -0700)]
Merge pull request #11148 from wtgodbe/DisableCoreMangLib

Disable DynMethodJumpStubTests test

7 years agoDisable DynMethodJumpStubTests test
wtgodbe [Fri, 21 Apr 2017 20:41:57 +0000 (13:41 -0700)]
Disable DynMethodJumpStubTests test

7 years agoMerge pull request #11117 from briansull/zapsig-fix
Brian Sullivan [Fri, 21 Apr 2017 20:35:25 +0000 (13:35 -0700)]
Merge pull request #11117 from briansull/zapsig-fix

ReadyToRun/Crossgen: Disable cross module generic instantiations from profile data

7 years agoMerge pull request #11147 from dotnet/ReEnableHashCodeTest
William Godbe [Fri, 21 Apr 2017 20:04:02 +0000 (13:04 -0700)]
Merge pull request #11147 from dotnet/ReEnableHashCodeTest

Re-enable Hashcode Test

7 years agoRe-enable Hashcode Test
William Godbe [Fri, 21 Apr 2017 20:03:52 +0000 (13:03 -0700)]
Re-enable Hashcode Test

7 years agoMerge pull request #11144 from wtgodbe/DisableSomeTests
William Godbe [Fri, 21 Apr 2017 19:22:40 +0000 (12:22 -0700)]
Merge pull request #11144 from wtgodbe/DisableSomeTests

Temporarily disable failing tests in Helix

7 years agoTemporarily disable failing tests in Helix
wtgodbe [Fri, 21 Apr 2017 19:22:18 +0000 (12:22 -0700)]
Temporarily disable failing tests in Helix

7 years agoUpdate jit RunBenchmarks test to no longer use XPath
Andy Ayers [Fri, 21 Apr 2017 18:53:00 +0000 (11:53 -0700)]
Update jit RunBenchmarks test to no longer use XPath

Rewrite to use linq-to-xml instead. Verified at least that this
can still parse the adjoining xml file. Also now able to crossgen
this test case.

Closes #11082.

7 years agoMerge pull request #11138 from wtgodbe/WrongCrossgen
William Godbe [Fri, 21 Apr 2017 18:49:11 +0000 (11:49 -0700)]
Merge pull request #11138 from wtgodbe/WrongCrossgen

Copy Runtime-specific Crossgen to Core_Root

7 years agoCopy Runtime-specific Crossgen to Core_Root
wtgodbe [Fri, 21 Apr 2017 18:31:21 +0000 (11:31 -0700)]
Copy Runtime-specific Crossgen to Core_Root

7 years agoMerge pull request #11055 from jorive/dev/xUnit-Performance-API
Drew Scoggins [Fri, 21 Apr 2017 17:16:01 +0000 (02:16 +0900)]
Merge pull request #11055 from jorive/dev/xUnit-Performance-API

Improving robustness of the run-xunit-perf.cmd script.

7 years ago[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState...
Jonghyun Park [Fri, 21 Apr 2017 15:51:12 +0000 (00:51 +0900)]
[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState (#10888)

7 years agoMark CharEnumerator as [Serializable] (#11124)
Jan Kotas [Fri, 21 Apr 2017 15:44:43 +0000 (08:44 -0700)]
Mark CharEnumerator as [Serializable] (#11124)

Fixes https://github.com/dotnet/corefx/issues/18704

7 years ago[x86/Linux] Fix pow of tryrun (#11099)
SaeHie Park [Fri, 21 Apr 2017 14:28:07 +0000 (23:28 +0900)]
[x86/Linux] Fix pow of tryrun (#11099)

x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures

7 years agoAdd Marshal.GetExceptionPointers (#11125)
Yi Zhang (CLR) [Fri, 21 Apr 2017 09:01:40 +0000 (02:01 -0700)]
Add Marshal.GetExceptionPointers (#11125)

* Add Marshal.GetExceptionPointers

* Remove SecurityCritical

7 years ago[ARM32/RyuJIT] Argument passing for multireg struct (#10846)
Hyeongseok Oh [Fri, 21 Apr 2017 06:13:02 +0000 (15:13 +0900)]
[ARM32/RyuJIT] Argument passing for multireg struct (#10846)

* [Linux/ARM32] Enable fgMorphMultiregStructArgs

Enable fgMorphMultiregStructArgs: morph struct argument to GT_FILED_LIST when size <= 4
Cannot handle split struct that using register and stack

* Fix formatting

Fix formatting error

* Fix typo and commit with not added file

- Fix typo
- Commit with not added file: src/jit/compiler.h

* Fix formatting and build error

* Fix comment and block using NYI macro

- Fix comment
- Block using NYI when struct passed by value can be split between registers and stack

7 years ago[x86/Linux] Relax inst_JMP assert condition (#11062)
Jonghyun Park [Fri, 21 Apr 2017 05:42:25 +0000 (14:42 +0900)]
[x86/Linux] Relax inst_JMP assert condition (#11062)

* [x86/Linux] Do NOT use exception-throwing block on ESP framed method

* Fix format error

* Relax assert condition

* Fix format error

* Revert changes in codegencommon.cpp

* Add parentheses

7 years agoMerge pull request #11024 from dotnet-bot/master-UpdateDependencies
William Godbe [Fri, 21 Apr 2017 05:04:29 +0000 (22:04 -0700)]
Merge pull request #11024 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively (master)

7 years agoUpdate CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively
dotnet-bot [Fri, 21 Apr 2017 02:27:34 +0000 (02:27 +0000)]
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively

7 years agoUpdate StringBuilder.AppendJoin to approved API (#11059)
Joseph Musser [Fri, 21 Apr 2017 01:54:30 +0000 (21:54 -0400)]
Update StringBuilder.AppendJoin to approved API  (#11059)

* Updated StringBuilder.AppendJoin to approved API

* Organized StringBuilder.AppendJoin overloads

* Added ThrowHelper, removed Contract.Ensures

* Inline array accesses

7 years agoEnable corerun to select Globalization Invariant mode (#11097)
SaeHie Park [Fri, 21 Apr 2017 01:46:30 +0000 (10:46 +0900)]
Enable corerun to select Globalization Invariant mode (#11097)

* Enable corerun to select Globalization Invariant mode

* Support 'true' also

7 years agoFix R2R workaround for Diasymreader (#11116)
Gaurav Khanna [Thu, 20 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix R2R workaround for Diasymreader (#11116)

7 years agoInline List.Clear (#11104)
Ben Adams [Thu, 20 Apr 2017 22:58:31 +0000 (23:58 +0100)]
Inline List.Clear (#11104)

7 years agoWhen we have profile data we can have cross module references in our ZapSig's when...
Brian Sullivan [Thu, 20 Apr 2017 22:53:19 +0000 (15:53 -0700)]
When we have profile data we can have cross module references in our ZapSig's when building ReadyToRun images.
We should return a null TypeHandle to indicate failure so that we don't attempt to add generic types/methods
that have cross module references.  (i.e. MyList<System.Guid> )

7 years agoFixing Delegate's hash code's distribution (#11019)
Peter Smulovics [Thu, 20 Apr 2017 22:46:39 +0000 (18:46 -0400)]
Fixing Delegate's hash code's distribution (#11019)

Delegate's GetHashCode just returns the hash code of the delegate type. For a scenario where delegates are used as keys in a dictionary, this leads to obvious performance problems. We should look at coming up with a better GetHashCode that properly factors in the target object and method, in all of the various forms a delegate can take.

7 years agoMerge pull request #11115 from wtgodbe/readytoruntests
William Godbe [Thu, 20 Apr 2017 22:35:26 +0000 (15:35 -0700)]
Merge pull request #11115 from wtgodbe/readytoruntests

Move readytorun tests into directory one level deeper

7 years agoMerge pull request #11033 from adityamandaleeka/handle_table_local_gc_store
Aditya Mandaleeka [Thu, 20 Apr 2017 21:20:22 +0000 (14:20 -0700)]
Merge pull request #11033 from adityamandaleeka/handle_table_local_gc_store

Move handle object manipulation functions to interface

7 years agoMove readytorun tests into directory one level deeper
wtgodbe [Thu, 20 Apr 2017 20:49:57 +0000 (13:49 -0700)]
Move readytorun tests into directory one level deeper

7 years agoMerge pull request #11020 from adiaaida/hardenPerf
Michelle McDaniel [Thu, 20 Apr 2017 20:14:54 +0000 (13:14 -0700)]
Merge pull request #11020 from adiaaida/hardenPerf

Strip quotes out of BenchviewCommitName

7 years agoRename CompareAndSwap to InterlockedCompareExchange.
Aditya Mandaleeka [Thu, 20 Apr 2017 19:42:30 +0000 (12:42 -0700)]
Rename CompareAndSwap to InterlockedCompareExchange.

7 years agoMerge pull request #11086 from wtgodbe/SecurityPermissions
William Godbe [Thu, 20 Apr 2017 18:44:13 +0000 (11:44 -0700)]
Merge pull request #11086 from wtgodbe/SecurityPermissions

Add dependency on System.Security.Permissions

7 years agoAdd dependency on System.Security.Permissions
wtgodbe [Wed, 19 Apr 2017 23:01:03 +0000 (16:01 -0700)]
Add dependency on System.Security.Permissions

7 years agoAdd the Linux minidump support documentation (#11087)
Mike McLaughlin [Thu, 20 Apr 2017 17:13:45 +0000 (10:13 -0700)]
Add the Linux minidump support documentation (#11087)

Add the Linux minidump support documentation

One minor fix to createdump.

7 years agoUse C++ ranged 'for' for AllSuccessorIter use
Bruce Forstall [Tue, 18 Apr 2017 00:13:25 +0000 (17:13 -0700)]
Use C++ ranged 'for' for AllSuccessorIter use

7 years ago[x86/Linux] Use CDECL as STDAPICALLTYPE (#10969)
Jonghyun Park [Thu, 20 Apr 2017 16:05:51 +0000 (01:05 +0900)]
[x86/Linux] Use CDECL as STDAPICALLTYPE (#10969)

* [x86/Linux] Use CDECL as STDAPICALLTYPE

* Use system default calling convention for internal functions

7 years agoStrip quotes out of BenchviewCommitName
Michelle McDaniel [Mon, 17 Apr 2017 16:39:00 +0000 (09:39 -0700)]
Strip quotes out of BenchviewCommitName

When we pass the name of the pr to submission-metadata.py, we need the
name of the pr to not include quotes, or submission-metadata.py will fail
because it has the "wrong" parameters (because parts of the name are no
longer quoted). This change strips quotation marks out of the benchview
commit name to harden against this kind of failure.

7 years ago[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case...
ragmani [Thu, 20 Apr 2017 14:39:54 +0000 (23:39 +0900)]
[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun. (#11063)

* [x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun.

add DynamicHelperArgsStub and change jmp to call.

* [x86/Linux] set cfi_def_cfa_offset of DynamicHelperArgsStub to 16.

7 years agoMerge pull request #11083 from AndyAyersMS/FixNonDevUseOfCheckProjects
Andy Ayers [Thu, 20 Apr 2017 00:21:23 +0000 (17:21 -0700)]
Merge pull request #11083 from AndyAyersMS/FixNonDevUseOfCheckProjects

Update CheckProjects to not fail for non-dev CORE_ROOT

7 years agoRefactoring: move some BasicBlock functions to block.cpp
Bruce Forstall [Wed, 19 Apr 2017 23:49:07 +0000 (16:49 -0700)]
Refactoring: move some BasicBlock functions to block.cpp

(where they belong)

Delete unused containsStatement().

7 years agoMerge pull request #11081 from mikedn/static-noway
Bruce Forstall [Wed, 19 Apr 2017 23:19:08 +0000 (16:19 -0700)]
Merge pull request #11081 from mikedn/static-noway

Convert some noway_assert to static_assert

7 years agoAllow to run all benchmarks and even upload, but fail the job.
José Rivero [Wed, 19 Apr 2017 23:17:35 +0000 (16:17 -0700)]
Allow to run all benchmarks and even upload, but fail the job.

7 years agoAdd LinkBench to CoreCLR BenchView
Swaroop Sridhar [Fri, 14 Apr 2017 03:12:00 +0000 (20:12 -0700)]
Add LinkBench to CoreCLR BenchView

This change adds Linker tests as scenario tests tracked in
BenchView for CoreCLR benchmarks.

The Benchmarks added are:
HelloWorld, WebAPI, CoreFx, MusicStore (MSIL and ReadyToRun), Roslyn.

The metrics are:
MSIL size before and after ILLINK
Total publish-dir size before and after ILLINK
% Reduction in MSIL and Total dir-size after linking.

7 years agoMove ResetOBJECTHANDLE and the associated holder to the VM side.
Aditya Mandaleeka [Wed, 19 Apr 2017 22:18:57 +0000 (15:18 -0700)]
Move ResetOBJECTHANDLE and the associated holder to the VM side.

7 years agoMerge pull request #11077 from pgavlin/gh10940
Pat Gavlin [Wed, 19 Apr 2017 22:16:26 +0000 (15:16 -0700)]
Merge pull request #11077 from pgavlin/gh10940

Spill side-effects in impAssignMultiRegTypeToVar.