platform/upstream/coreclr.git
7 years agoImprovements in the Zapper to VM interface, no longer throw exceptions across the...
Brian Sullivan [Wed, 12 Jul 2017 22:38:15 +0000 (15:38 -0700)]
Improvements in the Zapper to VM interface, no longer throw exceptions across the interface.

Catch the exception on the VM side of the interface call and report the error to the zapper using an Error() function call rather than letting the exception go across tyhe interface call.

The interface methods LoadIBCTypeHelper and LoadIBCMethodHelper no longer need a ThrowsViolation in their contracts.

Instead oif using BAD_FORMAT exceptions for a failures to load IBC data type and methods, we now
throw TypeLoad exception.

7 years agoMerge pull request #12680 from CarolEidt/RefactorContain
Carol Eidt [Tue, 11 Jul 2017 23:58:07 +0000 (16:58 -0700)]
Merge pull request #12680 from CarolEidt/RefactorContain

Extract containment analysis

7 years agoMerge pull request #12735 from erozenfeld/RecursiveTailCallBug
Eugene Rozenfeld [Tue, 11 Jul 2017 23:10:55 +0000 (16:10 -0700)]
Merge pull request #12735 from erozenfeld/RecursiveTailCallBug

Fix for a bug in tail recursion elimination.

7 years agoPR feedback
Carol Eidt [Tue, 11 Jul 2017 22:15:23 +0000 (15:15 -0700)]
PR feedback

7 years agoMerge pull request #12730 from briansull/remove-ibc-error-string
Brian Sullivan [Tue, 11 Jul 2017 21:35:36 +0000 (14:35 -0700)]
Merge pull request #12730 from briansull/remove-ibc-error-string

Remove m_pIBCErrorNameString and IBCErrorNameString()

7 years agoMerge pull request #12746 from crummel/updateBuildToolsForSymbolFix
Chris Rummel [Tue, 11 Jul 2017 19:35:36 +0000 (14:35 -0500)]
Merge pull request #12746 from crummel/updateBuildToolsForSymbolFix

Update BuildTools to fix output path for signing.

7 years agoMerge pull request #12732 from wateret/fix-runtestdesc
Bruce Forstall [Tue, 11 Jul 2017 17:52:48 +0000 (10:52 -0700)]
Merge pull request #12732 from wateret/fix-runtestdesc

Remove duplicated description in runtest.sh

7 years agoUpdate BuildTools to fix output path for signing.
Chris Rummel [Tue, 11 Jul 2017 17:42:53 +0000 (12:42 -0500)]
Update BuildTools to fix output path for signing.
This takes dotnet/buildtools#1603 which fixes the IntermediateOutputPath -
this is required by MicroBuild for signing.

7 years agoDelete bitset iterators defines (#12642)
Sergey Andreenko [Tue, 11 Jul 2017 17:36:37 +0000 (10:36 -0700)]
Delete bitset iterators defines (#12642)

Delete BLOCKSET_ITER_INIT

Rename blkNum to bbNum.
We usually use bbNum (basic block number), rather than blkNum(block
number).
This change allows to grep for iterator and etc easier.

Delete BITVEC_ITER_INIT and BITVEC_INIT_NOCOPY.

Delete VARSET_ITER_INIT.

Rename some variables around varSet iterators.

7 years agoMerge pull request #12729 from CarolEidt/Fix12724
Carol Eidt [Tue, 11 Jul 2017 17:26:16 +0000 (10:26 -0700)]
Merge pull request #12729 from CarolEidt/Fix12724

Extract Lowering of SIMD12 locals

7 years agoFix typo in method-descriptor.md (#12742)
Bertrand Mermet [Tue, 11 Jul 2017 17:24:17 +0000 (10:24 -0700)]
Fix typo in method-descriptor.md (#12742)

7 years agoMerge pull request #12743 from pgavlin/RemoveUseDef
Pat Gavlin [Tue, 11 Jul 2017 17:01:25 +0000 (12:01 -0500)]
Merge pull request #12743 from pgavlin/RemoveUseDef

Remove `GTF_VAR_USEDEF`.

7 years agoFix crossgen debug directory generation problems. (#12715)
Mike McLaughlin [Tue, 11 Jul 2017 16:58:49 +0000 (09:58 -0700)]
Fix crossgen debug directory generation problems. (#12715)

* Fix crossgen debug directory generation problems.

The first problem was that when the existing/incoming PDB debug
directory entry was a portable PDB (MinorVersion == 0x504d), the
ngen/native PDB added had the same MinorVersion indicating that
it was a portable PDB (but it never can be).

This was fixed by setting MinorVersion to 0 when creating the
ngen PDB debug directory entry.

The second problem was that the ngen PDB entry was being created
even when crossgen was run on linux/mac, etc.

The fix was to ifdef NO_NGENPDB the save ngen PDB entry code.

7 years agoMerge pull request #12695 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Tue, 11 Jul 2017 16:25:42 +0000 (09:25 -0700)]
Merge pull request #12695 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively (master)

7 years agoRemove `GTF_VAR_USEDEF`.
Pat Gavlin [Tue, 11 Jul 2017 15:06:49 +0000 (08:06 -0700)]
Remove `GTF_VAR_USEDEF`.

Nothing sets this flag.

7 years agoFix build.sh break by poorly timed dotnet first time experience (#12727)
Daniel Podder [Tue, 11 Jul 2017 14:59:42 +0000 (07:59 -0700)]
Fix build.sh break by poorly timed dotnet first time experience (#12727)

Depending on machine state, calling `dotnet` to dump the PGO and IBC
package version might trigger the first time experience message. This
breaks build.sh where it tries to parse the package version from `dotnet
msbuild`'s output. The fix is to disable the first time experience path
in these two invocations of `dotnet`.

7 years agoExtract Lowering of SIMD12 locals
Carol Eidt [Tue, 11 Jul 2017 01:04:58 +0000 (18:04 -0700)]
Extract Lowering of SIMD12 locals

Fix #12724

7 years agoUpdate CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively
dotnet-maestro-bot [Tue, 11 Jul 2017 13:45:29 +0000 (13:45 +0000)]
Update CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively

7 years agoFix for a bug in tail recursion elimination.
Eugene Rozenfeld [Tue, 11 Jul 2017 08:03:26 +0000 (01:03 -0700)]
Fix for a bug in tail recursion elimination.

Tail recursion elimination transforms a tail call into a loop.
If compInitMem is set, we may need to zero-initialize some locals. Normally it's done in the prolog
but the loop we are creating can't include the prolog. The fix is to insert zero-initialization
for all non-parameter non-temp locals in the loop. Liveness phase will remove unnecessary initializations.

We never hit this case with normal C# code since C# definite assignment rules ensure that there are
no uninitialized locals in the generated msil. In the repro the method with tail recursion is a dynamic method
and it has an uninitialized local.

7 years agoRemove duplicated description in runtest.sh
Hanjoung Lee [Tue, 11 Jul 2017 06:19:58 +0000 (15:19 +0900)]
Remove duplicated description in runtest.sh

7 years agoRemove m_pIBCErrorNameString and IBCErrorNameString()
Brian Sullivan [Tue, 11 Jul 2017 01:11:46 +0000 (18:11 -0700)]
Remove m_pIBCErrorNameString and IBCErrorNameString()

7 years agoMerge pull request #12670 from parjong/fix/SOS_StackWalk
Bruce Forstall [Tue, 11 Jul 2017 01:10:21 +0000 (18:10 -0700)]
Merge pull request #12670 from parjong/fix/SOS_StackWalk

[ARM/Linux] Fix DacStackWalk

7 years agoExtract containment analysis
Carol Eidt [Fri, 7 Jul 2017 17:48:23 +0000 (10:48 -0700)]
Extract containment analysis

In preparation for moving containment analysis to the 1st phase of Lowering, refactor most of it into separate methods. For some cases, e.g. block stores, it is more efficient to keep the logic integrated, as it will move to a similarly integrated place in Lowering.

Also, remove some dead/unused code for ARM.

7 years agoMerge pull request #12722 from CarolEidt/DumpFixes
Carol Eidt [Tue, 11 Jul 2017 00:04:31 +0000 (17:04 -0700)]
Merge pull request #12722 from CarolEidt/DumpFixes

A couple more fixes to JitDump

7 years agoMerge pull request #12674 from CarolEidt/LowerStoreLoc
Carol Eidt [Mon, 10 Jul 2017 23:44:38 +0000 (16:44 -0700)]
Merge pull request #12674 from CarolEidt/LowerStoreLoc

Move StoreLoc type widening to Lowering

7 years agoChange heading size
Vance Morrison [Mon, 10 Jul 2017 23:25:05 +0000 (16:25 -0700)]
Change heading size

7 years agoMerge pull request #12628 from hseok-oh/ryujit/fix_12602
Bruce Forstall [Mon, 10 Jul 2017 23:24:59 +0000 (16:24 -0700)]
Merge pull request #12628 from hseok-oh/ryujit/fix_12602

[RyuJIT/ARM32] Clear assertion for refany struct and struct type temp

7 years agoPut in a warning that the instructions no longer work properly
Vance Morrison [Mon, 10 Jul 2017 23:23:49 +0000 (16:23 -0700)]
Put in a warning that the instructions no longer work properly

7 years agoRemove another reference to System.Private.Corelib.ni.dll
Vance Morrison [Mon, 10 Jul 2017 23:02:44 +0000 (16:02 -0700)]
Remove  another reference to System.Private.Corelib.ni.dll

7 years agoRemove reference to System.Private.Corelib.ni.dll
Vance Morrison [Mon, 10 Jul 2017 23:00:46 +0000 (16:00 -0700)]
Remove reference to System.Private.Corelib.ni.dll

The build now only has the NGENed image (called but called System.Private.Corelib.dll.   Remove references to the *.ni.dll version

7 years agoMerge pull request #12580 from wtgodbe/disableSync
William Godbe [Mon, 10 Jul 2017 22:25:14 +0000 (15:25 -0700)]
Merge pull request #12580 from wtgodbe/disableSync

Disable sync.cmd -n for Windows binaries

7 years agoA couple more fixes to JitDump
Carol Eidt [Mon, 10 Jul 2017 21:31:34 +0000 (14:31 -0700)]
A couple more fixes to JitDump

7 years agoMerge pull request #12716 from dotnet-bot/from-tfs
Brian Sullivan [Mon, 10 Jul 2017 20:52:31 +0000 (13:52 -0700)]
Merge pull request #12716 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoSpeed up fgLocalVarLiveness in minopts. (#12665)
Pat Gavlin [Mon, 10 Jul 2017 20:43:13 +0000 (15:43 -0500)]
Speed up fgLocalVarLiveness in minopts. (#12665)

In particular:
- Do not re-sort lclVars
- Do not run LVA
- Do not set `mustInit`
- Do not set last uses
- Do not perform DSE

7 years agoMerge pull request #12717 from wtgodbe/disableJITTestArm
William Godbe [Mon, 10 Jul 2017 20:10:25 +0000 (13:10 -0700)]
Merge pull request #12717 from wtgodbe/disableJITTestArm

disable hijacking test for Arm32

7 years agoMerge pull request #12712 from helloguo/errorHandle
Aditya Mandaleeka [Mon, 10 Jul 2017 19:58:27 +0000 (12:58 -0700)]
Merge pull request #12712 from helloguo/errorHandle

Fix error handle of PAL API SetThreadGroupAffinity

7 years agodisable hijacking test for Arm32
wtgodbe [Mon, 10 Jul 2017 18:43:39 +0000 (11:43 -0700)]
disable hijacking test for Arm32

7 years agoAdd symbol signing to published packages. (#12291)
Chris Rummel [Mon, 10 Jul 2017 18:42:57 +0000 (13:42 -0500)]
Add symbol signing to published packages. (#12291)

* Add symbol signing to published packages.
- Enable MicroBuild signing steps.
- Update build to call new BuildTools symbol signing targets.

7 years agoDisable sync.cmd -n for Windows binaries
wtgodbe [Fri, 30 Jun 2017 19:29:12 +0000 (12:29 -0700)]
Disable sync.cmd -n for Windows binaries

7 years agoFix optdata bootstrap test script & Linux skiprestoreoptdata behavior (#12541)
Daniel Podder [Mon, 10 Jul 2017 18:37:25 +0000 (11:37 -0700)]
Fix optdata bootstrap test script & Linux skiprestoreoptdata behavior (#12541)

Fixes #12171.

* bootstrap.py was printing an improperly-cased path to put PGO/IBC
  training data, which breaks on case-sensitive file systems, i.e., on
  Linux.

* On Linux, `skiprestoreoptdata` was improperly skipping PGO even if
  optdata was already present due to some of the conditional checks in
  build.sh. This cleans that up to better match the intent of the
  switch, and to fix Linux behavior to better match Windows.

7 years agoMerge pull request #12710 from hseok-oh/ryujit/fix_12703
Bruce Forstall [Mon, 10 Jul 2017 18:22:08 +0000 (11:22 -0700)]
Merge pull request #12710 from hseok-oh/ryujit/fix_12703

[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct

7 years agoUpdate the telemetry logging to use MEASURES instead of TELEMENTRY
Brian Sullivan [Mon, 10 Jul 2017 18:20:55 +0000 (11:20 -0700)]
Update the telemetry logging to use MEASURES instead of TELEMENTRY

[tfs-changeset: 1665164]

7 years ago[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct
Hyeongseok Oh [Mon, 10 Jul 2017 10:29:16 +0000 (19:29 +0900)]
[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct

To fix register allocation for split GT_FIELD_LIST struct,
set source register for each node of GT_FIELD_LIST

7 years agofix error handle
helloguo [Mon, 10 Jul 2017 09:50:28 +0000 (02:50 -0700)]
fix error handle

7 years agoMerge pull request #12572 from wateret/armel/dblarg_stack
Carol Eidt [Mon, 10 Jul 2017 05:55:28 +0000 (22:55 -0700)]
Merge pull request #12572 from wateret/armel/dblarg_stack

[RyuJIT/armel] Passing stack double arguments

7 years ago[RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA (#12604)
Hyung-Kyu Choi [Mon, 10 Jul 2017 05:08:44 +0000 (14:08 +0900)]
[RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA (#12604)

* [RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [RyuJIT/ARM32] Add comments for ARM32

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoNote that tests don't have to be built to view JIT dumps (#12699)
Petr Onderka [Sun, 9 Jul 2017 18:22:58 +0000 (20:22 +0200)]
Note that tests don't have to be built to view JIT dumps (#12699)

7 years agoUnify LazyInitializers with CoreRT (#12697)
Jan Kotas [Sun, 9 Jul 2017 18:22:23 +0000 (20:22 +0200)]
Unify LazyInitializers with CoreRT (#12697)

CoreCLR implementation cached s_activatorFactorySelector delegate, but CoreRT did not cache it - it got commented out during earlier AOT binary size optimization efforts. I have unified it by avoiding s_activatorFactorySelector delegate altogether to keep the best of both.

7 years agoTypeForward cleanup for Culture=neutral (#12698)
Viktor Hofer [Sun, 9 Jul 2017 15:34:51 +0000 (17:34 +0200)]
TypeForward cleanup for Culture=neutral (#12698)

7 years agoMove files to shared CoreLib partition (#12694)
Jan Kotas [Sun, 9 Jul 2017 06:46:00 +0000 (08:46 +0200)]
Move files to shared CoreLib partition (#12694)

7 years agoUse R2R helper for runtime lookups only when USEHELPER was specified (#12669)
Michal Strehovský [Sun, 9 Jul 2017 04:31:30 +0000 (00:31 -0400)]
Use R2R helper for runtime lookups only when USEHELPER was specified (#12669)

The CoreRT compiler would like to be able to do indirections-based
lookup even when ReadyToRun codegen is specified.

7 years agoAvoid a large local in a recursive visitor. (#12693)
Pat Gavlin [Sun, 9 Jul 2017 00:04:22 +0000 (19:04 -0500)]
Avoid a large local in a recursive visitor. (#12693)

This local of type `CORINFO_CALL_INFO` bloats the frame size of its
caller when the function is inlined and ends up aggravating stack size
issues in deep recursion. This change refactors the offending method a
bit in order to avoid the local entirely.

Hopefully this fixes #12691.

7 years agoUpdate CoreClr, CoreFx to preview2-25508-04, preview2-25508-04, respectively (#12633)
dotnet-maestro-bot [Sat, 8 Jul 2017 21:05:19 +0000 (14:05 -0700)]
Update CoreClr, CoreFx to preview2-25508-04, preview2-25508-04, respectively (#12633)

7 years agoRemove redundant call to TimeSpan.TotalMilliseconds (#12692)
James Ko [Sat, 8 Jul 2017 20:38:23 +0000 (16:38 -0400)]
Remove redundant call to TimeSpan.TotalMilliseconds (#12692)

7 years agoEnsure that ZeroMemoryInGCHeap writes in pointer-sized increments (#12689)
Daniel Podder [Sat, 8 Jul 2017 06:53:38 +0000 (23:53 -0700)]
Ensure that ZeroMemoryInGCHeap writes in pointer-sized increments (#12689)

by adding the volatile keyword (which disables memset optimization).
Fixes #12207

7 years agoMerge pull request dotnet/corert#4110 from jkotas/nmirror-merge
Jan Kotas [Sat, 8 Jul 2017 03:30:52 +0000 (05:30 +0200)]
Merge pull request dotnet/corert#4110 from jkotas/nmirror-merge

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMerge pull request dotnet/corert#4100 from dotnet/nmirror
Michal Strehovský [Fri, 7 Jul 2017 18:03:37 +0000 (14:03 -0400)]
Merge pull request dotnet/corert#4100 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoFix Unix debug assert to not use instance handle (#12687)
Jeremy Kuhne [Sat, 8 Jul 2017 01:24:13 +0000 (18:24 -0700)]
Fix Unix debug assert to not use instance handle (#12687)

7 years agoFix GitHub_3449 test (#12683)
Bruce Forstall [Sat, 8 Jul 2017 00:31:59 +0000 (17:31 -0700)]
Fix GitHub_3449 test (#12683)

* Fix GitHub_3449 test

This test was looking for one answer for ARM and ARM64 but another
for other architectures. This didn't work for ARM32 on Windows
(compared to ARM32 on Linux).

Instead, simply allow either answer. This doesn't seem like a
terrible loss of precision, since we already allowed different
answers based on the platform.

* Update comment

7 years agoMinor fix added to mirrored changes
Tarek Mahmoud Sayed [Fri, 7 Jul 2017 18:06:58 +0000 (11:06 -0700)]
Minor fix added to mirrored changes

7 years agoMerge pull request dotnet/corert#4086 from tarekgh/CleanupSerializationInEncoding
Tarek Mahmoud Sayed [Thu, 6 Jul 2017 19:22:02 +0000 (12:22 -0700)]
Merge pull request dotnet/corert#4086 from tarekgh/CleanupSerializationInEncoding

Clean up serialization from Encoding

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMove StoreLoc type widening to Lowering
Carol Eidt [Thu, 6 Jul 2017 21:38:24 +0000 (14:38 -0700)]
Move StoreLoc type widening to Lowering

7 years agoMerge pull request #12682 from adityamandaleeka/arm64_dump_hang
Aditya Mandaleeka [Fri, 7 Jul 2017 23:13:42 +0000 (16:13 -0700)]
Merge pull request #12682 from adityamandaleeka/arm64_dump_hang

Temporarily block core dump printing on arm64

7 years agoMerge pull request #12675 from mikedn/range-disp
Bruce Forstall [Fri, 7 Jul 2017 22:07:38 +0000 (15:07 -0700)]
Merge pull request #12675 from mikedn/range-disp

Dump tree IDs instead of pointers in RangeCheck

7 years agoMerge pull request #12673 from ruben-ayrapetyan/fix-issue-12643
Bruce Forstall [Fri, 7 Jul 2017 22:05:51 +0000 (15:05 -0700)]
Merge pull request #12673 from ruben-ayrapetyan/fix-issue-12643

Fix copying of FieldMarshaler structures

7 years agoMerge pull request #12681 from BruceForstall/RemoveNonexistentVarargsTests
Bruce Forstall [Fri, 7 Jul 2017 22:03:43 +0000 (15:03 -0700)]
Merge pull request #12681 from BruceForstall/RemoveNonexistentVarargsTests

Remove varargs test references

7 years agoRestore missing native *.ni.pdb file from the Microsoft.NETCore.Runtime.CoreCLR ...
Vance Morrison [Fri, 7 Jul 2017 22:02:12 +0000 (15:02 -0700)]
Restore missing native *.ni.pdb file from the Microsoft.NETCore.Runtime.CoreCLR (#12677)

* Restore missing native *.ni.pdb file from the Microsoft.NETCore.Runtime.CoreCLR package

DLLs that have native code, need both the *.pdb (for IL information) and the *.ni.pdb (for
native information).

When System.Private.Corlib was renamed from System.Private.Corlib.ni.pdb to System.Private.Corlib,
the logic that decides what goes into the  Microsoft.NETCore.Runtime.CoreCLR package lost
the *.ni.pdb for System.Private.Corlib.

This change basically causes this logic to search both for *.ni.pdb as well as the *.pdb file and
thus fixes this issue.

* Remove unnecessary condition (review feedback)

7 years agoTemporarily block core dump printing on arm64 to unblock CI.
Aditya Mandaleeka [Fri, 7 Jul 2017 19:54:35 +0000 (12:54 -0700)]
Temporarily block core dump printing on arm64 to unblock CI.

7 years agoRevert change that always publish runtime layout (#12679)
Yi Zhang (CLR) [Fri, 7 Jul 2017 20:34:38 +0000 (13:34 -0700)]
Revert change that always publish runtime layout (#12679)

7 years agoMerge pull request #12500 from adiaaida/throughputExclusionList
Michelle McDaniel [Fri, 7 Jul 2017 19:56:03 +0000 (12:56 -0700)]
Merge pull request #12500 from adiaaida/throughputExclusionList

Update throughput exclusion list

7 years agoRemove varargs test references
Bruce Forstall [Fri, 7 Jul 2017 18:24:49 +0000 (11:24 -0700)]
Remove varargs test references

varargs tests were removed with 0a427c6d6d87e69ce0f87dafd2f965ee989e6d29

7 years agoDump tree IDs instead of pointers in RangeCheck
Mike Danes [Fri, 7 Jul 2017 15:45:01 +0000 (18:45 +0300)]
Dump tree IDs instead of pointers in RangeCheck

7 years agoFix skipcrossgen option (#12650)
Jonghyun Park [Fri, 7 Jul 2017 18:06:39 +0000 (03:06 +0900)]
Fix skipcrossgen option (#12650)

* Fix skipcrossgen option

* Use return instead of exit

7 years agoMerge pull request #12429 from mikedn/dead-qmark
Pat Gavlin [Fri, 7 Jul 2017 15:16:31 +0000 (10:16 -0500)]
Merge pull request #12429 from mikedn/dead-qmark

Remove QMARK related dead code

7 years agoMerge pull request #12623 from hqueue/arm/ryujit/issue_12615
Carol Eidt [Fri, 7 Jul 2017 15:12:59 +0000 (08:12 -0700)]
Merge pull request #12623 from hqueue/arm/ryujit/issue_12615

[RyuJIT/ARM32] Unassign double register properly

7 years agoMerge pull request #12597 from hseok-oh/ryujit/struct_split/lsra
Carol Eidt [Fri, 7 Jul 2017 15:08:23 +0000 (08:08 -0700)]
Merge pull request #12597 from hseok-oh/ryujit/struct_split/lsra

[RyuJIT/ARM32] Codegen: split struct argument less than 16 bytes

7 years agoFix copying of FieldMarshaler structures in EEClassLayoutInfo::CollectLayoutFieldMeta...
Ruben Ayrapetyan [Fri, 7 Jul 2017 12:54:14 +0000 (15:54 +0300)]
Fix copying of FieldMarshaler structures in EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing.

Related issue: #12643

7 years ago[ARM/Linux] Enable DacStackWalk
Jonghyun Park [Thu, 6 Jul 2017 06:42:51 +0000 (15:42 +0900)]
[ARM/Linux] Enable DacStackWalk

For ARM/Linux, DacUnwindStackFrame failed to unwind stack frame due to
the mismatch between RUNTIME_FUNCTION and IMAGE_ARM_RUNTIME_FUNCTION_ENTRY.

ClrStack SOS command currently does not work due to this bug.

This commit fixes this mismatch and re-enables ClrStack SOS command.

7 years ago[RyuJIT/ARM32] Codegen: split struct argument less than 16 bytes
Hyeongseok Oh [Fri, 7 Jul 2017 02:45:33 +0000 (11:45 +0900)]
[RyuJIT/ARM32] Codegen: split struct argument less than 16 bytes

Enable passing split struct (less than 16 bytes)
- LSRA phase
- Codegen phase

7 years agoMerge pull request #12653 from wateret/arm/lvadump
Bruce Forstall [Fri, 7 Jul 2017 06:03:00 +0000 (23:03 -0700)]
Merge pull request #12653 from wateret/arm/lvadump

[RyuJIT/arm] Fix double type local variable dump

7 years ago[RyuJIT/ARM32] Apply review feedback
Hyung-Kyu Choi [Fri, 7 Jul 2017 05:20:10 +0000 (14:20 +0900)]
[RyuJIT/ARM32] Apply review feedback

Rename vairable and rewrite code to use less #ifdef

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years ago[RyuJIT/armel] Rewrite changes for readibility
Hanjoung Lee [Fri, 7 Jul 2017 05:12:20 +0000 (14:12 +0900)]
[RyuJIT/armel] Rewrite changes for readibility

7 years agoPin GC threads to corresponding processors on Linux (#12486)
Xiangyang (Mark) Guo [Fri, 7 Jul 2017 02:39:32 +0000 (19:39 -0700)]
Pin GC threads to corresponding processors on Linux (#12486)

* fix SetThreadGroupAffinity, add SetThreadAffinityMask and pin GC threads to processors on Linux

* fix loop count and error handler

7 years agoMerge pull request #12667 from rartemev/issue_12465_1
Roman Artemev [Fri, 7 Jul 2017 01:24:28 +0000 (18:24 -0700)]
Merge pull request #12667 from rartemev/issue_12465_1

Added explicit cast float -> double for arguments

7 years agoMerge pull request #12634 from rartemev/issue_12466_1
Roman Artemev [Thu, 6 Jul 2017 23:36:59 +0000 (16:36 -0700)]
Merge pull request #12634 from rartemev/issue_12466_1

Fix misprint in complex condition

7 years agoAdded explicit cast float -> double for arguments
Roman Artemev [Thu, 6 Jul 2017 22:28:43 +0000 (15:28 -0700)]
Added explicit cast float -> double for arguments

7 years agoUse SUB instead of XOR to clear fat pointer bit (#12658)
Jan Kotas [Thu, 6 Jul 2017 18:35:42 +0000 (20:35 +0200)]
Use SUB instead of XOR to clear fat pointer bit (#12658)

This makes the code generated for fat calli smaller because of the clearing of the fat pointer bit gets fused into address mode.

7 years agoMerge pull request #12666 from mskvortsov/UnalignedLdSt
Bruce Forstall [Thu, 6 Jul 2017 18:28:07 +0000 (11:28 -0700)]
Merge pull request #12666 from mskvortsov/UnalignedLdSt

[RyuJIT/Arm32] Support unaligned floating point loads/stores

7 years agoMerge pull request #12655 from YongseopKim/ryujit/arm32/add_nyi_promoted_struct
Bruce Forstall [Thu, 6 Jul 2017 18:15:01 +0000 (11:15 -0700)]
Merge pull request #12655 from YongseopKim/ryujit/arm32/add_nyi_promoted_struct

[RyuJIT/ARM32] Add NYI_ARM for handling promoted struct

7 years agoUpdate throughput exclusion list
Michelle McDaniel [Tue, 27 Jun 2017 21:55:32 +0000 (14:55 -0700)]
Update throughput exclusion list

There are many assemblies in our throughput benchmark package that are
reference or forwarding assemblies. There is no jit work in these
assemblies, so we want to exclude them.

This change also adds an iterations parameter so users can specify a
specific number of iterations for testing.

7 years agoMerge pull request #12053 from mikedn/xcopy-bindir
Bruce Forstall [Thu, 6 Jul 2017 16:29:25 +0000 (09:29 -0700)]
Merge pull request #12053 from mikedn/xcopy-bindir

Do not copy bin subdirectories to test core_root

7 years agoMerge pull request #12652 from hseok-oh/ryujit/fix_split_lower
Bruce Forstall [Thu, 6 Jul 2017 16:26:24 +0000 (09:26 -0700)]
Merge pull request #12652 from hseok-oh/ryujit/fix_split_lower

[RyuJIT/ARM32] Fix register type setting for split struct arg

7 years agoSupport unaligned floating point loads/stores
Mikhail Skvortcov [Thu, 6 Jul 2017 14:09:52 +0000 (17:09 +0300)]
Support unaligned floating point loads/stores

7 years ago[RyuJIT/ARM32] Add NYI_ARM for handling promoted struct
Yongseop Kim [Wed, 5 Jul 2017 11:16:55 +0000 (20:16 +0900)]
[RyuJIT/ARM32] Add NYI_ARM for handling promoted struct

- In RyuJIT/ARM32, promoted struct on stack can't be handled like
  splitted struct arg's one.
- Until implementing handling it, make it entering the NYI_ARM.

7 years agoFix DumpLog to be compatible with CoreRT (#12636)
Jan Kotas [Thu, 6 Jul 2017 07:01:53 +0000 (09:01 +0200)]
Fix DumpLog to be compatible with CoreRT (#12636)

7 years agoAutomatic build runtime layout when skipping tests (#12587)
Yi Zhang (CLR) [Thu, 6 Jul 2017 06:15:57 +0000 (23:15 -0700)]
build runtime layout when skipping tests (#12587)

7 years ago[x86/Linux] Enable thread-abort reraise loop prevention (#12646)
Jonghyun Park [Thu, 6 Jul 2017 06:05:34 +0000 (15:05 +0900)]
[x86/Linux] Enable thread-abort reraise loop prevention (#12646)

7 years ago[RyuJIT/arm] Fix double type local variable dump
Hanjoung Lee [Thu, 6 Jul 2017 05:30:23 +0000 (14:30 +0900)]
[RyuJIT/arm] Fix double type local variable dump

7 years ago[RyuJIT/ARM32] Fix register type setting for split struct arg
Hyeongseok Oh [Thu, 6 Jul 2017 05:07:21 +0000 (14:07 +0900)]
[RyuJIT/ARM32] Fix register type setting for split struct arg

Fix register type setting for split struct argument using GT_FIELD_LIST node

7 years ago[RyuJIT/ARM32] Fix assertion failed 'gcPtrCount == 0' (#12621)
Yongseop Kim [Thu, 6 Jul 2017 04:06:39 +0000 (13:06 +0900)]
[RyuJIT/ARM32] Fix assertion failed 'gcPtrCount == 0' (#12621)

* [RyuJIT/ARM32] Fix assertion failed 'gcPtrCount == 0'

Change wrong gcPtrCount's value from gtNumSlots to gtNumberReferenceSlots of GenTreePutArgStk

* Fix a formatting error