platform/upstream/coreclr.git
6 years agoMark applicable structs as readonly (#14789)
Stephen Toub [Fri, 3 Nov 2017 11:45:14 +0000 (07:45 -0400)]
Mark applicable structs as readonly (#14789)

In a few cases (e.g. nullable), I added readonly to fields in order to allow readonly on the type.

6 years agoMerge pull request #14838 from BruceForstall/Fix14551
Bruce Forstall [Fri, 3 Nov 2017 06:02:23 +0000 (23:02 -0700)]
Merge pull request #14838 from BruceForstall/Fix14551

Handle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST

6 years agoMerge pull request #14841 from BruceForstall/FixArm64Build
Bruce Forstall [Fri, 3 Nov 2017 06:01:14 +0000 (23:01 -0700)]
Merge pull request #14841 from BruceForstall/FixArm64Build

Fix arm64 build

6 years agoFix arm64 build
Bruce Forstall [Fri, 3 Nov 2017 05:56:07 +0000 (22:56 -0700)]
Fix arm64 build

to have broken the arm64 build. Fix one file by removing non-ASCII
characters.

6 years agofix (#14837)
Sergey Andreenko [Fri, 3 Nov 2017 03:08:27 +0000 (20:08 -0700)]
fix (#14837)

GTF_RET means that this flag is valid only for GTF_RET node, but this check was missed.
The issue was in collision between GTF_RET_MERGED and GTF_CALL_UNMANAGED.

6 years agoMerge pull request #14801 from briansull/newfix
Brian Sullivan [Fri, 3 Nov 2017 01:21:24 +0000 (18:21 -0700)]
Merge pull request #14801 from briansull/newfix

Fixes Assertion failed 'firstILBlock->hasProfileWeight()

6 years agoHandle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST
Bruce Forstall [Fri, 3 Nov 2017 00:51:01 +0000 (17:51 -0700)]
Handle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST

6 years agoJIT: Merge legacy inlining policies (#14815)
Andy Ayers [Thu, 2 Nov 2017 23:28:22 +0000 (16:28 -0700)]
JIT: Merge legacy inlining policies (#14815)

Merge the LegacyPolicy and EnhancedLegacyPolicy into a unified policy that
behaves like the EnhancedLegacyPolicy. Rename this policy to the DefaultPolicy
since it is in fact the default inline policy.

We had been keeping the LegacyPolicy around in case we ever needed to revert
back to the initial RyuJit inline behavior, but that safeguard no longer seems
necessary.

Remove some of the checks in flowgraph.cpp that alter behavior based on policy
as they are no longer needed.

Remove the jit config setting that allowed selection of the LegacyPolicy.

This is the first stage in fixing #14441.

6 years agoAllow coredumps inside docker (#14814)
Karthik Rajasekaran [Thu, 2 Nov 2017 22:14:50 +0000 (15:14 -0700)]
Allow coredumps inside docker (#14814)

6 years agoMerge pull request #14811 from jashook/signing_var_changes
Jarret Shook [Thu, 2 Nov 2017 22:10:16 +0000 (15:10 -0700)]
Merge pull request #14811 from jashook/signing_var_changes

Orchestrated build Config signing.

6 years agoUpdate BuildTools, CoreClr, PgoData to prerelease-02202-02, preview1-25901-06, master...
dotnet-maestro-bot [Thu, 2 Nov 2017 21:37:57 +0000 (14:37 -0700)]
Update BuildTools, CoreClr, PgoData to prerelease-02202-02, preview1-25901-06, master-20171102-0019, respectively (#14766)

6 years agoOrchestrated build Config signing.
jashook [Wed, 1 Nov 2017 22:30:34 +0000 (15:30 -0700)]
Orchestrated build Config signing.

Sign if Real or Test is passed.

6 years agoMerge pull request #14796 from sdmaclea/PR-SIMD-lower-bounds-test
Bruce Forstall [Thu, 2 Nov 2017 21:17:09 +0000 (14:17 -0700)]
Merge pull request #14796 from sdmaclea/PR-SIMD-lower-bounds-test

Add SIMD get_Item lower bounds test

6 years agoMerge pull request #14809 from sdmaclea/PR-ARM64-genSIMDIntrinsicGetItem
Bruce Forstall [Thu, 2 Nov 2017 21:16:37 +0000 (14:16 -0700)]
Merge pull request #14809 from sdmaclea/PR-ARM64-genSIMDIntrinsicGetItem

[Arm64] SIMDIntrinsicGetItem

6 years agoMerge pull request #14820 from sdmaclea/PR-ARM64-SIMDIntrinsicRelOp
Bruce Forstall [Thu, 2 Nov 2017 21:15:17 +0000 (14:15 -0700)]
Merge pull request #14820 from sdmaclea/PR-ARM64-SIMDIntrinsicRelOp

[Arm64] genSIMDIntrinsicRelOp

6 years agoMerge pull request #14827 from jashook/wrong_eq
Jarret Shook [Thu, 2 Nov 2017 21:04:57 +0000 (14:04 -0700)]
Merge pull request #14827 from jashook/wrong_eq

Invert eq

6 years agoInvert eq
jashook [Thu, 2 Nov 2017 21:04:17 +0000 (14:04 -0700)]
Invert eq

6 years agoRemove invalid assert in CLRLifoSemaphore (#14805)
Koundinya Veluri [Thu, 2 Nov 2017 20:49:11 +0000 (13:49 -0700)]
Remove invalid assert in CLRLifoSemaphore (#14805)

After https://github.com/dotnet/coreclr/pull/14535, the assert is no longer valid. A thread that times out does not decrement the count of waiters signaled to wake because a timed-out thread does not observe a signal to the object that was waited upon. If there were no other waiters to observe the signal, the count of waiters signaled to wake can become greater than the waiter count. This is valid, and tracks how many signals are pending. I don't think there is a good way to update the assert to reflect this, removed the assert.

6 years ago[Build Pipeline] Add ability to skip testing (#14813)
Jarret Shook [Thu, 2 Nov 2017 20:41:41 +0000 (13:41 -0700)]
[Build Pipeline] Add ability to skip testing (#14813)

6 years agoMerge pull request #14804 from dotnet/tfUrlUpdate
JC Aguilera [Thu, 2 Nov 2017 20:20:16 +0000 (13:20 -0700)]
Merge pull request #14804 from dotnet/tfUrlUpdate

TransportFeed URL update

6 years agoSwitch to /utf-8 for MSVC (#14822)
刘雨培 [Thu, 2 Nov 2017 20:06:00 +0000 (04:06 +0800)]
Switch to /utf-8 for MSVC (#14822)

* Add /source-charset:utf-8 to force MSVC to compile source as UTF-8.

* Fix the illegal character in siginfo.cpp.

6 years agoMerge pull request #14797 from BruceForstall/FixBuildCmdPriorityHandling
Bruce Forstall [Thu, 2 Nov 2017 18:08:11 +0000 (11:08 -0700)]
Merge pull request #14797 from BruceForstall/FixBuildCmdPriorityHandling

Fix handling of `-priority=N` argument in build.cmd

6 years agoFixes Assertion failed 'firstILBlock->hasProfileWeight()
Brian Sullivan [Wed, 1 Nov 2017 18:31:17 +0000 (11:31 -0700)]
Fixes Assertion failed 'firstILBlock->hasProfileWeight()

When creating a new top block we need to use inheritWeight to properly initialize the the block weight and the profile data flag
The fix now handles multiple predecessor blocks that each contribute profile weights to the newT block.

6 years ago[Arm64] genSIMDIntrinsicRelOp
Steve MacLean [Thu, 2 Nov 2017 16:26:46 +0000 (12:26 -0400)]
[Arm64] genSIMDIntrinsicRelOp

Handle SIMD12 special case

6 years ago[Arm64] SIMDIntrinsicGetItem
Steve MacLean [Mon, 30 Oct 2017 21:37:52 +0000 (17:37 -0400)]
[Arm64] SIMDIntrinsicGetItem

Fix srcCount
Fix item containment
Implement [Arm64] genSIMDIntrinsicGetItem w/ non const index
Handle out of range const index

6 years agoMove Dictionary to shared CoreLib partition (#14795)
Jan Kotas [Thu, 2 Nov 2017 16:22:19 +0000 (09:22 -0700)]
Move Dictionary to shared CoreLib partition (#14795)

6 years agoAdd perf pipeline job full groovy (#14397)
Michelle McDaniel [Thu, 2 Nov 2017 16:20:26 +0000 (09:20 -0700)]
Add perf pipeline job full groovy (#14397)

This change converts our perf testing to use pipeline jobs. Pipeline
jobs allow us to do the following:

1) Test on the same commit for each of the test legs
2) Parallelize the build and test steps.
3) Separate the build and test steps from one another. This gives us the
ability to use the same build assets for all of the test legs of the
same configuration. It also allows us to build on virtual machines and
test on perf machines, so we only use the perf resources for testing.
4) Have different test scenarios for PRs and rolling. This isn't
strictly a benefit of pipeline jobs, but certainly is made easier by
them.
5) Allows us to have one trigger for PR jobs which will get us all the
perf testing scenarios.

This change also cleans up the groovy scripting for perf testing.

6 years agoMerge pull request #14791 from sdmaclea/PR-ARM64-impSIMDSelect
Carol Eidt [Thu, 2 Nov 2017 14:34:54 +0000 (07:34 -0700)]
Merge pull request #14791 from sdmaclea/PR-ARM64-impSIMDSelect

[Arm64] Fix impSIMDSelect

6 years agoFix sync's location. (#14817)
Jarret Shook [Thu, 2 Nov 2017 05:00:52 +0000 (22:00 -0700)]
Fix sync's location. (#14817)

6 years agoMerge pull request #14808 from sdmaclea/PR-ARM64-genSIMDIntrinsicDotProduct
Bruce Forstall [Wed, 1 Nov 2017 23:37:09 +0000 (16:37 -0700)]
Merge pull request #14808 from sdmaclea/PR-ARM64-genSIMDIntrinsicDotProduct

[Arm64] Fix genSIMDIntrinsicDotProduct

6 years agoMerge pull request #14812 from BruceForstall/AddPeriodicAltjitTriggers
Bruce Forstall [Wed, 1 Nov 2017 23:27:55 +0000 (16:27 -0700)]
Merge pull request #14812 from BruceForstall/AddPeriodicAltjitTriggers

Enable periodic triggers for `x86_arm_altjit` and `x64_arm64_altjit` jobs

6 years ago[Local GC] Fix (another) ScanContext layout issue when building without FEATURE_REDHA...
Sean Gillespie [Wed, 1 Nov 2017 23:16:23 +0000 (16:16 -0700)]
[Local GC] Fix (another) ScanContext layout issue when building without FEATURE_REDHAWK (#14777)

6 years agoEnable periodic triggers for x86_arm_altjit and x64_arm64_altjit jobs
Bruce Forstall [Wed, 1 Nov 2017 22:42:44 +0000 (15:42 -0700)]
Enable periodic triggers for x86_arm_altjit and x64_arm64_altjit jobs

These jobs are getting clean enough where having them regularly run
will be valuable.

6 years agoJIT: fix overly aggressive box-unbox.any assert (#14799)
Andy Ayers [Wed, 1 Nov 2017 22:29:16 +0000 (15:29 -0700)]
JIT: fix overly aggressive box-unbox.any assert (#14799)

A recently added assert was trying to ensure that `compareTypesForEqualty`
caught all the box-unbox.any cases we got before by direct handle comparison.
But there are cases where identical handles cannot resolve equality
comparisons, eg when the handles represent shared types like __Canon, and
the assert was not screening for those.

Seems simplest just to remove the assert, it was really only of value when
coding up the new jit interface method.

Closes #14780.

6 years agoJIT: convert fixed-sized locallocs to locals, enable inlining (#14623)
Andy Ayers [Wed, 1 Nov 2017 22:17:40 +0000 (15:17 -0700)]
JIT: convert fixed-sized locallocs to locals, enable inlining (#14623)

Optimize fixed sized locallocs of 32 bytes or less to use local buffers,
if the localloc is not in a loop.

Also "optimize" the degenerate 0 byte case.

Allow inline candidates containing localloc, but fail inlining if any
of a candidate's locallocs do not convert to local buffers.

The 32 byte size threshold was arrived at empirically; larger values did
not enable many more cases and started seeinge size bloat because of
larger stack offsets.

We can revise this threshold if we are willing to reorder locals and see
fixed sized cases larger than 32 bytes.

Closes #8542.

Also add missing handler for the callsite is in try region, this was
an oversight.

6 years ago[Arm64] Fix genSIMDIntrinsicDotProduct
Steve MacLean [Tue, 31 Oct 2017 19:13:59 +0000 (15:13 -0400)]
[Arm64] Fix genSIMDIntrinsicDotProduct

6 years agoRevert sync test sync binaries (#14807)
Karthik Rajasekaran [Wed, 1 Nov 2017 21:00:43 +0000 (14:00 -0700)]
Revert sync test sync binaries (#14807)

6 years agoUpdating xUnit Benchmark Scenarios to capture Etw with Pmc support. (#14734)
José Rivero [Wed, 1 Nov 2017 20:11:04 +0000 (13:11 -0700)]
Updating xUnit Benchmark Scenarios to capture Etw with Pmc support. (#14734)

- Adding 'tiered' jitting
- Enable JitBench to capture Pmc data (Profile=On)
- Fixed some xUnit performance warnings
- Enforce DOTNET_MULTILEVEL_LOOKUP environment to be turned off
- Specify `dotnet publish` output directory.

6 years agoPublishing to the transport feed main feed
JC Aguilera [Wed, 1 Nov 2017 19:45:09 +0000 (12:45 -0700)]
Publishing to the transport feed main feed

Supporting publishing to the main feed where the relative path is empty

6 years agoMerge pull request #14792 from sdmaclea/PR-SIMD-negative-get_Item
Bruce Forstall [Wed, 1 Nov 2017 19:29:27 +0000 (12:29 -0700)]
Merge pull request #14792 from sdmaclea/PR-SIMD-negative-get_Item

SIMD Handle negative indicies in get_Item

6 years agoMerge pull request #14788 from sdmaclea/PR-ARM64-9b-INSTR
Bruce Forstall [Wed, 1 Nov 2017 19:26:55 +0000 (12:26 -0700)]
Merge pull request #14788 from sdmaclea/PR-ARM64-9b-INSTR

[Arm64] Instruction requires 9 bits now

6 years agoMerge pull request #14781 from fiigii/x86reg
Bruce Forstall [Wed, 1 Nov 2017 19:25:32 +0000 (12:25 -0700)]
Merge pull request #14781 from fiigii/x86reg

[RyuJIT/X86] Limit byte register candidates for CRC32

6 years agoTransportFeed URL update
JC Aguilera [Wed, 1 Nov 2017 19:11:27 +0000 (12:11 -0700)]
TransportFeed URL update

Updating URL to point to the new main feed

6 years ago[RyuJit/ARMARCH] lower arg with list of float fields. (#14753)
Sergey Andreenko [Wed, 1 Nov 2017 19:06:26 +0000 (12:06 -0700)]
[RyuJit/ARMARCH] lower arg with list of float fields. (#14753)

apply bitcast on reg fields
rename ReplaceArgWithPutArgOrBitcast

6 years agoMerge pull request #14761 from hseok-oh/ryujit/fix_13746
Carol Eidt [Wed, 1 Nov 2017 18:28:51 +0000 (11:28 -0700)]
Merge pull request #14761 from hseok-oh/ryujit/fix_13746

[RyuJIT/ARM32] Fix double type PutArgStk check bug on LSRA init

6 years agoFix handling of `-priority=N` argument in build.cmd
Bruce Forstall [Wed, 1 Nov 2017 18:05:25 +0000 (11:05 -0700)]
Fix handling of `-priority=N` argument in build.cmd

This argument is intended to be passed through directly to msbuild,
but CMD doesn't handle `=` well, so using `-priority=N` with
`build all` didn't work, for instance.

Add special handling for the `-priority` argument to get around
this problem.

6 years agoFix (#14778)
Sergey Andreenko [Wed, 1 Nov 2017 17:58:22 +0000 (10:58 -0700)]
Fix (#14778)

skip commas and nops.

6 years agoAdd SIMD get_Item lower bounds test
Steve MacLean [Wed, 1 Nov 2017 17:53:08 +0000 (13:53 -0400)]
Add SIMD get_Item lower bounds test

6 years agoMerge pull request #14779 from fiigii/fixclone
Bruce Forstall [Wed, 1 Nov 2017 17:36:39 +0000 (10:36 -0700)]
Merge pull request #14779 from fiigii/fixclone

Fix #14773

6 years agoMerge pull request #14629 from sdmaclea/PR-ARM64-SIMD-CODEGEN
Bruce Forstall [Wed, 1 Nov 2017 16:59:31 +0000 (09:59 -0700)]
Merge pull request #14629 from sdmaclea/PR-ARM64-SIMD-CODEGEN

[Arm64] Add SIMD codegen

6 years agoMerge pull request #14616 from sdmaclea/PR-ARM64-SIMDINTRINSICLIST
Bruce Forstall [Wed, 1 Nov 2017 16:51:08 +0000 (09:51 -0700)]
Merge pull request #14616 from sdmaclea/PR-ARM64-SIMDINTRINSICLIST

[Arm64] Implement simdintrinsiclist.h

6 years ago[Arm64] Fix impSIMDSelect
Steve MacLean [Wed, 1 Nov 2017 14:59:54 +0000 (10:59 -0400)]
[Arm64] Fix impSIMDSelect

6 years agoMerge pull request #14790 from sdmaclea/PR-ARM64-insEncodeDatasizeLS
Bruce Forstall [Wed, 1 Nov 2017 16:35:32 +0000 (09:35 -0700)]
Merge pull request #14790 from sdmaclea/PR-ARM64-insEncodeDatasizeLS

[Arm64] Revise insEncodeDatasizeLS

6 years agoSIMD Handle negative indicies in get_Item
Steve MacLean [Wed, 1 Nov 2017 16:22:49 +0000 (12:22 -0400)]
SIMD Handle negative indicies in get_Item

6 years ago[Arm64] Revise insEncodeDatasizeLS
Steve MacLean [Tue, 31 Oct 2017 18:20:35 +0000 (14:20 -0400)]
[Arm64] Revise insEncodeDatasizeLS

6 years ago[Arm64] Instruction requires 9 bits now
Steve MacLean [Tue, 31 Oct 2017 23:26:40 +0000 (19:26 -0400)]
[Arm64] Instruction requires 9 bits now

6 years agoUpdate URLs to use for formatter job (#14785)
Andy Ayers [Wed, 1 Nov 2017 07:23:31 +0000 (00:23 -0700)]
Update URLs to use for formatter job (#14785)

Need 2.0 SDK now. Not sure of the best URLs but these seem to work.

Also shorten path so we don't run into windows pathlength issues.

6 years agoLimit byte register candidates for CRC32
Fei Peng [Tue, 31 Oct 2017 23:43:36 +0000 (16:43 -0700)]
Limit byte register candidates for CRC32

6 years agoMerge pull request #14767 from CarolEidt/Fix14373
Carol Eidt [Wed, 1 Nov 2017 04:56:14 +0000 (21:56 -0700)]
Merge pull request #14767 from CarolEidt/Fix14373

Fix checking for reg in use

6 years agoRemove intermediate sync for test build (#14775)
Karthik Rajasekaran [Wed, 1 Nov 2017 03:44:27 +0000 (20:44 -0700)]
Remove intermediate sync for test build (#14775)

6 years agoFix slot size for transformed long
Hyeongseok Oh [Wed, 1 Nov 2017 01:41:59 +0000 (10:41 +0900)]
Fix slot size for transformed long

Fix slot size as 2 for transformed long from double
Use expected slot size for assertion check

6 years agofix #14773
Fei Peng [Tue, 31 Oct 2017 22:42:16 +0000 (15:42 -0700)]
fix #14773

6 years agoPR feedback & fix an error in `isRegInUse`
Carol Eidt [Tue, 31 Oct 2017 21:04:11 +0000 (14:04 -0700)]
PR feedback & fix an error in `isRegInUse`

6 years agoMerge pull request #14705 from hseok-oh/ryujit/fix_14666
Bruce Forstall [Tue, 31 Oct 2017 20:37:37 +0000 (13:37 -0700)]
Merge pull request #14705 from hseok-oh/ryujit/fix_14666

[RyuJIT/ARMARCH] Use ActualType for PutArgStk size

6 years ago[Arm64] Add SIMD codegen
Steve MacLean [Fri, 20 Oct 2017 20:38:18 +0000 (16:38 -0400)]
[Arm64] Add SIMD codegen

6 years agoClean up YieldProcessorNormalized (#14739)
Koundinya Veluri [Tue, 31 Oct 2017 19:04:44 +0000 (12:04 -0700)]
Clean up YieldProcessorNormalized (#14739)

Move YieldProcessorNormalized into separate files

Clean up YieldProcessorNormalized

6 years agoMake NonRandomizedStringEqualityComparer serialize into GenericEqualityComparer<strin...
Viktor Hofer [Tue, 31 Oct 2017 15:06:35 +0000 (16:06 +0100)]
Make NonRandomizedStringEqualityComparer serialize into GenericEqualityComparer<string> (#14756)

6 years agoFix checking for reg in use
Carol Eidt [Tue, 31 Oct 2017 14:49:51 +0000 (07:49 -0700)]
Fix checking for reg in use

Combine the check for an inactive but not-yet-freed interval, with the check for other cases of a register that is in use at the current location. This simplifies the code and fixes the assert condition for double registers.

Fix #14373

6 years agoMerge pull request #14614 from hqueue/arm/ryujit/issue_14374_pr2
Carol Eidt [Tue, 31 Oct 2017 14:25:33 +0000 (07:25 -0700)]
Merge pull request #14614 from hqueue/arm/ryujit/issue_14374_pr2

[RyuJIT/ARM32] Fix resolving TYP_DOUBLE and TYP_FLOAT intervals

6 years agoMerge pull request #14748 from dseefeld/addRetryInInitTools
Dan Seefeldt [Tue, 31 Oct 2017 14:17:39 +0000 (09:17 -0500)]
Merge pull request #14748 from dseefeld/addRetryInInitTools

Add retry logic for setup of dotnet cli

6 years agoChange leading bracked to char as well
Jan Kotas [Tue, 31 Oct 2017 10:34:45 +0000 (03:34 -0700)]
Change leading bracked to char as well

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoMerge pull request #14759 from stephentoub/gettaskforresult_inlining
Stephen Toub [Tue, 31 Oct 2017 12:30:29 +0000 (08:30 -0400)]
Merge pull request #14759 from stephentoub/gettaskforresult_inlining

Don't inline GetTaskForResult when await'ing ValueTask

6 years agoMove System.Tuple to shared CoreLib partition (#14762)
Jan Kotas [Tue, 31 Oct 2017 10:15:14 +0000 (03:15 -0700)]
Move System.Tuple to shared CoreLib partition (#14762)

6 years agoUpdate BuildTools, PgoData to prerelease-02131-01, master-20171031-0018, respectively...
dotnet-maestro-bot [Tue, 31 Oct 2017 10:14:43 +0000 (03:14 -0700)]
Update BuildTools, PgoData to prerelease-02131-01, master-20171031-0018, respectively (#14764)

6 years agoUpdate CoreFx to preview1-25831-01 (#14760)
dotnet-maestro-bot [Tue, 31 Oct 2017 06:43:37 +0000 (23:43 -0700)]
Update CoreFx to preview1-25831-01 (#14760)

6 years ago[RyuJIT/ARM32] Fix double type PutArgStk check bug on LSRA init
Hyeongseok Oh [Tue, 31 Oct 2017 05:14:25 +0000 (14:14 +0900)]
[RyuJIT/ARM32] Fix double type PutArgStk check bug on LSRA init

Fix to handle hardfp/softfp all

6 years ago[RyuJIT/ARM32] Fix resolving TYP_DOUBLE and TYP_FLOAT intervals
Hyung-Kyu Choi [Fri, 20 Oct 2017 08:23:32 +0000 (17:23 +0900)]
[RyuJIT/ARM32] Fix resolving TYP_DOUBLE and TYP_FLOAT intervals

- When generating fromReg to toReg move to resolve edges,
  we have to consider either of fromReg and toReg can contain double type.

- Add a new helper, i.e. addResolutionForDouble()

- Fix bug when reserving temp reigster for TYP_DOUBLE by introducing tempRegDbl.
  There was a bug when it can't find a double reg, but find a even-numbered float reg,
  because we check validness of tempFltReg with register number only.
  We found that it is not easy to check validness of tempRegFlt,
  if we use tempRegFlt for both TYP_DOUBLE for TYP_FLOAT.
  Therefore we decide to introduce tempRegDbl to reserve a temp double reigster separately.

- Apply review feedback

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoAdd retry logic for setup of dotnet cli
dseefeld [Mon, 30 Oct 2017 20:28:22 +0000 (20:28 +0000)]
Add retry logic for setup of dotnet cli

6 years agoDon't inline GetTaskForResult when await'ing ValueTask
Stephen Toub [Tue, 31 Oct 2017 01:39:28 +0000 (21:39 -0400)]
Don't inline GetTaskForResult when await'ing ValueTask

When await'ing a ValueTask, we should only ever end up calling AwaitUnsafeOnCompleted when the ValueTask wraps a non-null _task; if its _task were null, IsCompleted would have returned true due to treating the _result as the successful result.  However, the value task's AsTask() is currently used via an inlined interface invocation in AwaitUnsafeOnCompleted to get the _task from the ValueTask, and AsTask ends up inlining the _task==null branch that inlines AsyncTaskMethodBuilder'1.GetTaskForResult, which ends up bloating the asm unnecessarily.  We can simply change the interface implementation used by AwaitUnsafeOnCompleted to not inline GetTaskForResult.  In a simple example, this cuts the asm for AwaitUnsafeOnCompleted by ~50%.

6 years agoAdd wrapper support for getUnboxedEntry (#14752)
Andy Ayers [Tue, 31 Oct 2017 01:34:02 +0000 (18:34 -0700)]
Add wrapper support for getUnboxedEntry (#14752)

6 years agoSet toolset dir only for ARM64 (#14755)
Karthik Rajasekaran [Tue, 31 Oct 2017 00:49:45 +0000 (17:49 -0700)]
Set toolset dir only for ARM64 (#14755)

6 years agoMerge pull request #14730 from fiigii/SSE4
Bruce Forstall [Tue, 31 Oct 2017 00:41:07 +0000 (17:41 -0700)]
Merge pull request #14730 from fiigii/SSE4

[RyuJIT] Rename and Simplify SSE3_4 flag

6 years ago[Local GC] Fix an issue where the size of ScanContext differs between EE and GC ...
Sean Gillespie [Tue, 31 Oct 2017 00:18:55 +0000 (17:18 -0700)]
[Local GC] Fix an issue where the size of ScanContext differs between EE and GC (#14747)

6 years agoFix build warning (#14751)
Jan Kotas [Tue, 31 Oct 2017 00:18:09 +0000 (17:18 -0700)]
Fix build warning (#14751)

6 years agoUpdate BuildTools to prerelease-02130-03 (#14750)
dotnet-maestro-bot [Tue, 31 Oct 2017 00:03:52 +0000 (17:03 -0700)]
Update BuildTools to prerelease-02130-03 (#14750)

6 years agoMerge pull request #14683 from weshaggard/MergeDevRelease200
Wes Haggard [Mon, 30 Oct 2017 22:06:18 +0000 (15:06 -0700)]
Merge pull request #14683 from weshaggard/MergeDevRelease200

Merge changes from dev/release/2.0.0

6 years agoUpdate code in AwaitUnsafeOnCompleted to use interface matching
Andy Ayers [Tue, 24 Oct 2017 21:39:29 +0000 (14:39 -0700)]
Update code in AwaitUnsafeOnCompleted to use interface matching

Given that the jit can now avoid boxing on some interface calls to value types,
generalize the patterns introduced in AwaitUnsafeOnCompleted in #14718 by
using interfaces instead of checking for specific types.

Also move the catch-all processing back in line as the jit can now fold the
interface tests early and not pull in the EH portion of the method unless it is
needed.

6 years agoJIT: optimize calls on boxed objects
Andy Ayers [Tue, 24 Oct 2017 00:46:41 +0000 (17:46 -0700)]
JIT: optimize calls on boxed objects

For calls with boxed this objects, invoke the unboxed entry point if available
and modify the box to copy the original value or struct to a local. Pass the
address of this local as the first argument to the unboxed entry point.

Defer for cases where the unboxed entry point requires an extra type parameter.

This may enable subsequent inlining of the method, and if the method has other
boxed parameters, may enable undoing those boxes as well.

The jit is not yet as proficient at eliminating the struct copies, but they
are present with or without this change, and some may even be required when the
methods mutate the fields of `this`.

Closes #14213.

6 years agoMerge pull request #14677 from CarolEidt/Fix14626
Carol Eidt [Mon, 30 Oct 2017 20:34:48 +0000 (13:34 -0700)]
Merge pull request #14677 from CarolEidt/Fix14626

Avoid allocating IP0 and IP1

6 years agoUpdate dependencies to latest with new property names
Wes Haggard [Wed, 25 Oct 2017 00:09:55 +0000 (17:09 -0700)]
Update dependencies to latest with new property names

6 years agoUpdate dependency properties used in PerfHarness project
Wes Haggard [Fri, 27 Oct 2017 18:38:23 +0000 (11:38 -0700)]
Update dependency properties used in PerfHarness project

6 years agoAdd RoslynIncompatibleMsbuildVersion condition on Roslyn import
Wes Haggard [Fri, 27 Oct 2017 17:11:35 +0000 (10:11 -0700)]
Add RoslynIncompatibleMsbuildVersion condition on Roslyn import

Due to merge conflict this condition got removed so adding it back
to allow for older msbuild versions to work (at least temporarily).

6 years agoAdd blob feed to the restore sources
Wes Haggard [Fri, 27 Oct 2017 00:26:57 +0000 (17:26 -0700)]
Add blob feed to the restore sources

Merge the blob feed restore source added in
https://github.com/dotnet/coreclr/pull/14709

6 years agoSwitch to sourcing in init-tools to enable the return statements to work
Wes Haggard [Thu, 26 Oct 2017 16:31:31 +0000 (09:31 -0700)]
Switch to sourcing in init-tools to enable the return statements to work

6 years agoMove CoreCLRPackageVersion property useage
Wes Haggard [Wed, 25 Oct 2017 16:02:45 +0000 (09:02 -0700)]
Move CoreCLRPackageVersion property useage

Also did some small clean-up:
Fix missing tag from bad merge
Fix spacing in init-tools.sh

6 years agoUse restore with no --source for optdata proj feed
Wes Haggard [Tue, 24 Oct 2017 23:46:07 +0000 (16:46 -0700)]
Use restore with no --source for optdata proj feed

This lets dotnet pick up RestoreSources hierarchically rather than only use what's predefined in DotnetRestoreCommand (in dir.props).

6 years agoImplement auto dependency flow Repo API (#14518)
Wes Haggard [Tue, 24 Oct 2017 23:44:37 +0000 (16:44 -0700)]
Implement auto dependency flow Repo API (#14518)

6 years agoPass overridden packages directory to CMake
Wes Haggard [Tue, 24 Oct 2017 23:38:17 +0000 (16:38 -0700)]
Pass overridden packages directory to CMake

6 years agoAlign init-tools scripts with other source-build repos
Wes Haggard [Tue, 24 Oct 2017 23:36:03 +0000 (16:36 -0700)]
Align init-tools scripts with other source-build repos

6 years agoNormalize the alpine and rhel RIDs
Wes Haggard [Tue, 24 Oct 2017 23:22:45 +0000 (16:22 -0700)]
Normalize the alpine and rhel RIDs

See: https://github.com/dotnet/core-setup/commit/c8a27076f93c3107759b8a86a02ea4f40d100b67

We need to strip the last part of the version number for alpine and rhel because
they are compatible and we don't want the specific versions.