platform/upstream/coreclr.git
7 years agoMore update in /dev/defaultintf (#11693)
Yi Zhang (CLR) [Tue, 23 May 2017 00:52:59 +0000 (17:52 -0700)]
More update in /dev/defaultintf (#11693)

* Support non-virtual calls on interface private members correctly
* Support protected methods
* Properly handle precode
* Throw (tentative) exception when seeing conflict overrides and add a test case

(This updates CoreCLR dev/defaultintf the same with the build we are showing at //build)

7 years agoMore update for default interface methods (#10818)
Yi Zhang (CLR) [Sat, 8 Apr 2017 00:36:48 +0000 (17:36 -0700)]
More update for default interface methods (#10818)

* Support protected methods
* add a test for diamond shape scenario and tentatively throw exception when that happens

7 years agoDefault Interface Method Prototype (#10505)
Yi Zhang (CLR) [Thu, 6 Apr 2017 04:04:25 +0000 (21:04 -0700)]
Default Interface Method Prototype (#10505)

* allow non-zero RVA on abstract interface method in ilasm

* Revert "allow non-zero RVA on abstract interface method in ilasm"

This reverts commit eecb8024e58f14a20e5e49359f38019f5768ac41.

* add a test case and allow virtual non-abstract method in ilasm

* allow non-abstract methods in the loader

* fixup dispatch map

* support for simple default interface method scenario

* fix a bug with incorrect usage of MethodIterator skpping the first method. add a test case for overriding but it may not be what we want

* add another simple test case for base class

* allow private/internal methods in ilasm and add a explict impl test

* update reference to mscorlib in il test

* add shared generics and variance case

* allow interface dispatch to return instantiating stubs with the right PARAM_TYPE calling conv

* simple factoring and add a valuetype test case

* add a test case for generic virtual methods

* a bit more refactoring by moving the CALLCONV_PARAMTYPE logic inside getMethodSigInternal

* support explicit methodimpl and remove implicit methodimpl test case

* update test cases to give more clear output

* Fix a bug where GetMethodDescForSlot chokes on interface MethodDesc without precode. This is accdentally discovered by methodimpl test case when iterating methods on a default interface method that has already been JITted

* cleanup code after review and add a bit more comments

* update comments

* only use custom ILAsm for default interface methods tests - some tests are choking on CoreCLR ilasm for security related stuff

* address comments and allow instance methods, and add a constraint value type call test scenario

* disable the failing protected method scenario

7 years agoMerge pull request #12819 from stephentoub/cts_perf
Stephen Toub [Wed, 19 Jul 2017 17:24:47 +0000 (13:24 -0400)]
Merge pull request #12819 from stephentoub/cts_perf

Improve performance of CancellationToken.Register / CancellationTokenRegistration.Dispose

7 years agoMerge pull request #12755 from tannergooding/classify
Eric Mellino [Wed, 19 Jul 2017 17:17:04 +0000 (10:17 -0700)]
Merge pull request #12755 from tannergooding/classify

Floating-Point Classification APIs

7 years agoMerge pull request #12896 from YongseopKim/ryujit/arm32/block_copy_3bytes_struct
Bruce Forstall [Wed, 19 Jul 2017 16:23:15 +0000 (09:23 -0700)]
Merge pull request #12896 from YongseopKim/ryujit/arm32/block_copy_3bytes_struct

[RyuJIT/ARM32] Add block copy for 3bytes struct

7 years agoMerge pull request #12807 from jashook/add_arm32_windows_ci_testing
Jarret Shook [Wed, 19 Jul 2017 16:20:15 +0000 (09:20 -0700)]
Merge pull request #12807 from jashook/add_arm32_windows_ci_testing

Add arm32 ci testing.

7 years agoAdd arm32 ci testing.
jashook [Thu, 13 Jul 2017 22:41:31 +0000 (15:41 -0700)]
Add arm32 ci testing.

Note this will add a new lst file and leverage the old existing arm64
infrastructure.

7 years agoFix errors in MSBuild prperties initialization in System.Private.CoreLib.csproj ...
Jacek Blaszczynski [Wed, 19 Jul 2017 15:36:41 +0000 (17:36 +0200)]
Fix errors in MSBuild prperties initialization in System.Private.CoreLib.csproj (#12356)

Fixes issue #12355

Project System.Private.CoreLib.csproj imports directly Microsoft.Net.Compilers.props
at line# 4 before including dir.props from repo root. $(RepoRoot)/dir.props imports
Microsoft.Net.Compilers.props at line# 186. As a result of this sequence of duplicated
project imports and lack of safeguards against importing the same .props file twice
MSBuild reports that Microsoft.Net.Compilers.props file is included twice with warning
that second import will be ignored - in this case not evaluated. This results
in initialization of Microsoft.Net.Compilers.props values to defaults because MSBuild
evaluates Microsoft.Net.Compilers.props only once before $(RepoRoot)/dir.props are included.
Removing import of Microsoft.Net.Compilers.props from System.Private.CoreLib.csproj
and moving $(RepoRoot)/dir.props file import to top of System.Private.CoreLib.csproj
solves these problems by ensuring expected order of evaluation of Microsoft.Net.Compilers.props
file by MSBuild after all project wide values are initialized in $(RepoRoot)/dir.props.

7 years agoImprove the performance of CancellationToken.Register / CancellationTokenRegistration...
Stephen Toub [Mon, 10 Jul 2017 01:52:29 +0000 (21:52 -0400)]
Improve the performance of CancellationToken.Register / CancellationTokenRegistration.Dispose

CancellationToken.Register currently allocates an object per call.  This PR makes it allocation-free (amortized).

The current implementation was optimized for scalability, using a lock-free algorithm to minimize contention when lots of threads are registering with a token concurrently.  Each registration allocates an object which is then stored into a lock-free sparse array data structure.  But the level of scalability enabled is unnecessary for the vast majority of CancellationToken usage, adds non-trivial complexity to the implementation, and adds costs to the most common usage scenarios, e.g. a single CancellationToken that registered with and the unregistered with repeatedly.

The new implementation strikes a (IMO) better balance between performance and scalability, retaining most of the latter while doing much better for the former in the most interesting use cases.  CancellationTokenSource now maintains an array of partition objects, each of which is lazily-initialized, contains a lock that protects that partition, and contains a linked list of registration objects.  The striped locking helps maintain most of the scalability and also enables node reuse due to not suffering from ABA problems.

(All numbers that follow are 64-bit.)

The size of CancellationTokenSource itself doesn't change (64 bytes), so allocating a CancellationTokenSource and then never registering with its token remains the same in both speed and space.

The size overhead associated with the first registration on a CancellationTokenSource improves.  With the old implementation, the first registration would result in 272 bytes allocated, whereas with the new implementation that shrinks to 218.

Each additional registration at the same time in the CancellationToken is now larger than in the old implementation, 80 bytes instead of ~56 bytes (it varies in the old implementation due to the details of the lock-free algorithm and when new segments are created), but these new node allocations are reusable.  So if you register 100 registrations with the same CancellationToken and don't unregister any of them, you'll incur ~8000 bytes of allocation instead of ~5600, but if you instead register and unregister them 100 times, you'll only incur ~80 bytes of allocation instead of ~5600, with objects reused for the former case but not the latter case.

Speed is also significantly improved.  A single thread registering and unregistering repeatedly from a token is now ~2x the old implementation in throughput.  Similarly with eight threads on eight logical cores all registering/unregistering concurrently.

Finally, the size of CancellationTokenRegistration also shrinks.  This struct is often contained in other classes that have registered with the token, and so will end up shrinking the size of those allocations as well.

7 years agofix issue 12725 (#12728)
Xiangyang (Mark) Guo [Wed, 19 Jul 2017 09:25:54 +0000 (02:25 -0700)]
fix issue 12725 (#12728)

7 years ago[RyuJIT/ARM32] Add block copy for 3bytes struct
Yongseop Kim [Wed, 19 Jul 2017 07:47:29 +0000 (16:47 +0900)]
[RyuJIT/ARM32] Add block copy for 3bytes struct

- Block copy for 3bytes struct(byte,byte,byte)
- Similar to x64's one

7 years agoFix build break - delete unused local
Jan Kotas [Tue, 18 Jul 2017 05:15:39 +0000 (22:15 -0700)]
Fix build break - delete unused local

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMerge pull request #12888 from gsfreema/BotR-fixes
Aditya Mandaleeka [Tue, 18 Jul 2017 23:39:55 +0000 (16:39 -0700)]
Merge pull request #12888 from gsfreema/BotR-fixes

Fixing various typos and links in BotR chapters

7 years agoMerge pull request #12881 from pgavlin/IsUnusedValueHelpers
Pat Gavlin [Tue, 18 Jul 2017 23:03:04 +0000 (16:03 -0700)]
Merge pull request #12881 from pgavlin/IsUnusedValueHelpers

Add helpers to set, clear, and check IsUnusedValue.

7 years agoMissed one empty case in GetPathRoot (#12883)
Jeremy Kuhne [Tue, 18 Jul 2017 22:51:21 +0000 (15:51 -0700)]
Missed one empty case in GetPathRoot (#12883)

This matches our new behavior with whitespace paths

7 years agoFixing various typos and links in BotR chapters
Scott Freeman [Tue, 18 Jul 2017 22:49:02 +0000 (18:49 -0400)]
Fixing various typos and links in BotR chapters

- The fixes are for the Intro to CLR, Garbage Collection, and Threading chapters
- Many links were updated to use relative paths so that users in a different fork/branch are kept within the same fork/branch changes that would break a link will not affect the current branch

7 years agoMerge pull request #12878 from hseok-oh/ryujit/struct_promote1
Bruce Forstall [Tue, 18 Jul 2017 21:50:04 +0000 (14:50 -0700)]
Merge pull request #12878 from hseok-oh/ryujit/struct_promote1

[RyuJIT/ARM32] Block copy for promoted struct argument assign

7 years agoUpdate minidump and debugging doc (#12884)
Mike McLaughlin [Tue, 18 Jul 2017 21:33:53 +0000 (14:33 -0700)]
Update minidump and debugging doc (#12884)

Update debugging doc on loading sos on Windows.

7 years agoAdd helpers to set, clear, and check IsUnusedValue.
Pat Gavlin [Tue, 18 Jul 2017 16:24:26 +0000 (09:24 -0700)]
Add helpers to set, clear, and check IsUnusedValue.

Just what it says on the tin.

7 years agoEncoding code clean up (#12864)
Tarek Mahmoud Sayed [Tue, 18 Jul 2017 20:51:57 +0000 (13:51 -0700)]
Encoding code clean up (#12864)

* Encoding code clean up

This change to clean all the serialization code from the encoding and move the files to the shared folder

* delete DecoderNLS

* re-add DecoderNls with the right casing

* remove bIsMicrosoftBestFitFallback

* Misc fixes per review comments

7 years agoImplementing the floating-point classification APIs for System.Single and System...
Tanner Gooding [Tue, 11 Jul 2017 23:05:57 +0000 (16:05 -0700)]
Implementing the floating-point classification APIs for System.Single and System.Double.

7 years agoMerge pull request #12748 from helloguo/NUMASupportInitialize
Aditya Mandaleeka [Tue, 18 Jul 2017 20:09:07 +0000 (13:09 -0700)]
Merge pull request #12748 from helloguo/NUMASupportInitialize

Fix NUMASupportInitialize

7 years agoMerge pull request #12879 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Tue, 18 Jul 2017 18:51:59 +0000 (11:51 -0700)]
Merge pull request #12879 from dotnet-maestro-bot/master-UpdateDependencies

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

7 years agoMerge pull request #12843 from pgavlin/FixEarlyMultiRegCallDumps
Pat Gavlin [Tue, 18 Jul 2017 14:25:29 +0000 (07:25 -0700)]
Merge pull request #12843 from pgavlin/FixEarlyMultiRegCallDumps

Fix issues with early dumps of multi-reg-returning calls.

7 years agoMerge pull request #12635 from hseok-oh/ryujit/remove_split_nyi
Bruce Forstall [Tue, 18 Jul 2017 14:21:51 +0000 (07:21 -0700)]
Merge pull request #12635 from hseok-oh/ryujit/remove_split_nyi

[ARM32] Remove useless code: struct split using float registers

7 years agoPR feedback.
Pat Gavlin [Tue, 18 Jul 2017 13:59:53 +0000 (06:59 -0700)]
PR feedback.

7 years agoUpdate CoreClr, CoreFx to preview2-25518-01, preview2-25518-02, respectively
dotnet-maestro-bot [Tue, 18 Jul 2017 13:17:55 +0000 (13:17 +0000)]
Update CoreClr, CoreFx to preview2-25518-01, preview2-25518-02, respectively

7 years agoMove BitConverter to shared CoreLib partition (#12876)
Jan Kotas [Tue, 18 Jul 2017 12:45:23 +0000 (14:45 +0200)]
Move BitConverter to shared CoreLib partition (#12876)

7 years ago[RyuJIT/ARM32] Block copy for promoted struct argument assign
Hyeongseok Oh [Tue, 18 Jul 2017 11:38:02 +0000 (20:38 +0900)]
[RyuJIT/ARM32] Block copy for promoted struct argument assign

Block copy for promoted struct
Similar implementation as x64 with FEATURE_UNIX_AMD64_STRUCT_PASSING

7 years agoMerge pull request #12874 from wateret/fix-legacy-12869
Bruce Forstall [Tue, 18 Jul 2017 05:43:18 +0000 (22:43 -0700)]
Merge pull request #12874 from wateret/fix-legacy-12869

[LegacyJIT] Fix assert condition for CNS_DBL

7 years agoMerge pull request #12857 from CarolEidt/DumpFixes
Carol Eidt [Tue, 18 Jul 2017 05:03:31 +0000 (22:03 -0700)]
Merge pull request #12857 from CarolEidt/DumpFixes

LSRA & dump cleanup

7 years agoPath whitespace changes. (#12862)
Nina Chikanov [Tue, 18 Jul 2017 04:49:06 +0000 (21:49 -0700)]
Path whitespace changes. (#12862)

* Path whitespace changes.

Change IsNullOrWhitespace to IsNullOrEmpty to be more consistent with legacy desktop .NET code. Path.GetFullPath no longer trims trailing whitespace. (Windows will still eat trailing spaces)

* Fix compilation errors with searchPattern

7 years agoMerge pull request #12872 from hqueue/arm/ryujit/issue_12706
Bruce Forstall [Tue, 18 Jul 2017 04:01:45 +0000 (21:01 -0700)]
Merge pull request #12872 from hqueue/arm/ryujit/issue_12706

[RyuJIT/ARM32] Unassign registers properly at BB entry

7 years ago[LegacyJIT] Fix assert condition for CNS_DBL
Hanjoung Lee [Tue, 18 Jul 2017 03:55:49 +0000 (12:55 +0900)]
[LegacyJIT] Fix assert condition for CNS_DBL

Fix #12869

7 years agoMerge pull request #12870 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Tue, 18 Jul 2017 03:35:13 +0000 (23:35 -0400)]
Merge pull request #12870 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr to preview2-25517-02 (master)

7 years agoMerge pull request #12871 from BruceForstall/Revert12813
Bruce Forstall [Tue, 18 Jul 2017 03:09:29 +0000 (20:09 -0700)]
Merge pull request #12871 from BruceForstall/Revert12813

Revert #12813, which caused #12855

7 years ago[ARM32] Remove useless code: struct split using float registers
Hyeongseok Oh [Tue, 11 Jul 2017 03:12:13 +0000 (12:12 +0900)]
[ARM32] Remove useless code: struct split using float registers

On ARM32, the split struct is using only integer register.
If float registers remain but not enough to pass all HFA struct value,
the HFA struct is passed using stack only.
So we can remove useless code in morph.cpp that is split struct using float registers on ARM32.

7 years ago[RyuJIT/ARM32] Unassign registers properly at BB entry
Hyung-Kyu Choi [Mon, 17 Jul 2017 13:21:32 +0000 (22:21 +0900)]
[RyuJIT/ARM32] Unassign registers properly at BB entry

When unassigning registers that are no longer live
at processBlockStartLocations(), address TYP_DOUBLE intervals properly.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoMerge pull request #12861 from BruceForstall/AllowCnsIntTypeMismatch
Bruce Forstall [Tue, 18 Jul 2017 01:28:35 +0000 (18:28 -0700)]
Merge pull request #12861 from BruceForstall/AllowCnsIntTypeMismatch

Allow CNS_INT type mismatch for ARM

7 years agoRevert #12813, which caused #12855
Bruce Forstall [Tue, 18 Jul 2017 01:16:47 +0000 (18:16 -0700)]
Revert #12813, which caused #12855

7 years agoUpdate CoreClr to preview2-25517-02
dotnet-maestro-bot [Tue, 18 Jul 2017 00:31:51 +0000 (00:31 +0000)]
Update CoreClr to preview2-25517-02

7 years agoCoreCLR - Remove preemptive checks for path being too long (#12786)
Stephen Daudell [Tue, 18 Jul 2017 00:25:52 +0000 (19:25 -0500)]
CoreCLR - Remove preemptive checks for path being too long (#12786)

* Removed preemptive checks for path being too long.

Instead let the native interop handle it.

* Deleted unused constants.

7 years agoGet rid of duplicate dump of def RefPositions
Carol Eidt [Mon, 17 Jul 2017 22:42:22 +0000 (15:42 -0700)]
Get rid of duplicate dump of def RefPositions

7 years agoLSRA & dump cleanup
Carol Eidt [Mon, 17 Jul 2017 18:47:35 +0000 (11:47 -0700)]
LSRA & dump cleanup

Refine dumps and remove some vestigial code:
- Dump code size in a consistent way across architectures
- Eliminate the Lowering hash debugging code, since Lowering hasn't been optional for a long time now.
- Eliminate the IR dump before LSRA, since it's just after the post-Lowering dump
- When building RefPositions:
  - dump the node first
  - then its consume/produce count
  - then the map only if consume != 0
  - then the associated RefPositions
   - dump the src & dst candidates only if produce != 0
  - leave a space between nodes.
- Dump the maxSpill only for types for which it is non-zero
- Eliminate the dumps during write-back; they contain no useful information not available in the table dumps.
- Eliminate the ancient workaround code for `GT_IND` and `GT_ARR_ELEM` which was from the days when we were trying to get LSRA to work with the legacy code generator.
- Use `gtTreeID` consistently whenver using a `t` prefix for a tree temp.
- Use varNum consistently when referring to a lclVar interval.
- Don't dump each node as it is handled by `TreeNodeInfoInit()` since it's redundant with the after dump. (Note that this wasn't being done for arm or arm64).

7 years agoFix a build break when compiling with Standalone GC on non-Windows platforms (#12858)
Sean Gillespie [Mon, 17 Jul 2017 22:13:40 +0000 (15:13 -0700)]
Fix a build break when compiling with Standalone GC on non-Windows platforms (#12858)

7 years agoAllow CNS_INT type mismatch for ARM
Bruce Forstall [Mon, 17 Jul 2017 20:26:07 +0000 (13:26 -0700)]
Allow CNS_INT type mismatch for ARM

Fixes #12757

X86 allows a long/int assignment type mismatch with a CNS_INT RHS, by inserting a cast.
Accept this for ARM as well. This allows a test (with arguably bad IL) to pass, and
also seems harmless and reasonable to accept.

7 years agoCreate crash dump on unhandled SIGILL, SIGFPE, SIGSEGV, SIGTRAP, SIGBUS (#12842)
Igor Kulaychuk [Mon, 17 Jul 2017 19:47:26 +0000 (22:47 +0300)]
Create crash dump on unhandled SIGILL, SIGFPE, SIGSEGV, SIGTRAP, SIGBUS (#12842)

7 years agoMake createdump build and work on ARM (#12798)
Konstantin Baladurin [Mon, 17 Jul 2017 19:46:50 +0000 (22:46 +0300)]
Make createdump build and work on ARM (#12798)

7 years agoMerge pull request #12838 from pgavlin/PInvokeKills
Pat Gavlin [Mon, 17 Jul 2017 18:06:57 +0000 (11:06 -0700)]
Merge pull request #12838 from pgavlin/PInvokeKills

Do not mark GC vars live across an unmanged call as DNER in liveness for RyuJIT.

7 years agoMerge pull request #12806 from jashook/fix_2017_arm_build
Jarret Shook [Mon, 17 Jul 2017 16:34:42 +0000 (09:34 -0700)]
Merge pull request #12806 from jashook/fix_2017_arm_build

Updates the explicit location for armasm

7 years agoUpdates the explicit location for armasm
jashoo [Thu, 13 Jul 2017 22:19:33 +0000 (15:19 -0700)]
Updates the explicit location for armasm

7 years agoMerge pull request #12840 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Mon, 17 Jul 2017 16:08:33 +0000 (09:08 -0700)]
Merge pull request #12840 from dotnet-maestro-bot/master-UpdateDependencies

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

7 years agoFix alignment of reads in MD5Transform. (#12800)
Ruben Ayrapetyan [Mon, 17 Jul 2017 14:10:42 +0000 (17:10 +0300)]
Fix alignment of reads in MD5Transform. (#12800)

7 years agoUpdate CoreClr, CoreFx to preview2-25517-01, preview2-25517-02, respectively
dotnet-maestro-bot [Mon, 17 Jul 2017 13:16:34 +0000 (13:16 +0000)]
Update CoreClr, CoreFx to preview2-25517-01, preview2-25517-02, respectively

7 years agoFormat code.
Pat Gavlin [Sun, 16 Jul 2017 16:52:55 +0000 (09:52 -0700)]
Format code.

7 years agoUpdate init-tools.sh to match corefx (#12839)
Jan Kotas [Sun, 16 Jul 2017 04:03:29 +0000 (06:03 +0200)]
Update init-tools.sh to match corefx (#12839)

7 years agoRevert PR: https://github.com/dotnet/coreclr/pull/12830 (#12844)
Santiago Fernandez Madero [Sun, 16 Jul 2017 04:01:14 +0000 (21:01 -0700)]
Revert PR: https://github.com/dotnet/coreclr/pull/12830 (#12844)

Reverting this PR to unblock coreclr ingestion in corefx. I will open another PR to bring this change back once the infrastructure changes are merged into buildtools and consumed by corefx.

See: https://github.com/dotnet/corefx/pull/22295#issuecomment-315574780

cc: @stephentoub

7 years agoFix issues with early dumps of multi-reg-returning calls.
Pat Gavlin [Sat, 15 Jul 2017 20:25:49 +0000 (13:25 -0700)]
Fix issues with early dumps of multi-reg-returning calls.

The tree dump code was calling `GetReturnRegCount` before the return type
descriptor was initialized, which lead to an assert. This change introduces
a new debug-only method that simply returns `0` if the return type desc
has not been initialized.

7 years agoMinor cleanups in reg candidate lclVar node processing. (#12828)
Pat Gavlin [Sat, 15 Jul 2017 21:24:08 +0000 (14:24 -0700)]
Minor cleanups in reg candidate lclVar node processing. (#12828)

In particular, ignore reg candidate lclVar nodes that are not used (i.e.
`gtLsraInfo.isLocalDefUse` is `true`). These nodes are side-effect-free
and can therefore be eliminated if they are not used (indeed, the code
generator already ignores such uses).

7 years agoFix usage of GetThreadContext (#12825)
Sergiy Kuryata [Sat, 15 Jul 2017 05:50:49 +0000 (22:50 -0700)]
Fix usage of GetThreadContext (#12825)

7 years agoMerge pull request #12832 from pgavlin/FgMarkIntf
Pat Gavlin [Sat, 15 Jul 2017 05:37:54 +0000 (22:37 -0700)]
Merge pull request #12832 from pgavlin/FgMarkIntf

Add an overload of `fgMarkIntf` that takes a var index.

7 years agoDo not mark GC vars live across an unmanged call as DNER in liveness for RyuJIT.
Pat Gavlin [Sat, 15 Jul 2017 05:33:11 +0000 (22:33 -0700)]
Do not mark GC vars live across an unmanged call as DNER in liveness for RyuJIT.

The RA inserts kills that ensure that live variables are not enregistered across
unmanaged calls, so this is not necessary.

7 years agoUpdate header comments.
Pat Gavlin [Sat, 15 Jul 2017 05:24:23 +0000 (22:24 -0700)]
Update header comments.

7 years agoFix resources lookup to use satellite assembly resouce lookup inside AppX when the...
Santiago Fernandez Madero [Sat, 15 Jul 2017 05:09:17 +0000 (22:09 -0700)]
Fix resources lookup to use satellite assembly resouce lookup inside AppX when the assembly is Private.Corelib (#12830)

7 years agoMerge pull request #12833 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Sat, 15 Jul 2017 03:43:34 +0000 (23:43 -0400)]
Merge pull request #12833 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25514-02, preview2-25515-01, respectively (master)

7 years agoUpdate CoreClr, CoreFx to preview2-25514-02, preview2-25515-01, respectively
dotnet-maestro-bot [Sat, 15 Jul 2017 01:39:06 +0000 (01:39 +0000)]
Update CoreClr, CoreFx to preview2-25514-02, preview2-25515-01, respectively

7 years agoMerge pull request #12618 from hseok-oh/ryujit/fix_12600
Bruce Forstall [Sat, 15 Jul 2017 00:10:45 +0000 (17:10 -0700)]
Merge pull request #12618 from hseok-oh/ryujit/fix_12600

[RyuJIT/ARM32] Internal register candadate for split struct argument

7 years agoMerge pull request #12813 from BruceForstall/FixArmSingleHfaStructReturn
Bruce Forstall [Fri, 14 Jul 2017 23:44:08 +0000 (16:44 -0700)]
Merge pull request #12813 from BruceForstall/FixArmSingleHfaStructReturn

ARM: Fix return of single element HFA

7 years agoAdd an overload of `fgMarkIntf` that takes a var index.
Pat Gavlin [Fri, 14 Jul 2017 22:59:32 +0000 (15:59 -0700)]
Add an overload of `fgMarkIntf` that takes a var index.

This avoids the creation of temporary bitsets each time we call this
function, which is a no-op on the RyuJIT backend.

7 years agoMerge pull request #12814 from pgavlin/BuildUses
Pat Gavlin [Fri, 14 Jul 2017 21:37:05 +0000 (14:37 -0700)]
Merge pull request #12814 from pgavlin/BuildUses

Clean up the code that builds uses a bit in LSRA.

7 years agoMerge pull request #12811 from JeffCyr/concurrentqueue-maxsegmentlength
Stephen Toub [Fri, 14 Jul 2017 21:27:04 +0000 (17:27 -0400)]
Merge pull request #12811 from JeffCyr/concurrentqueue-maxsegmentlength

Applied MaxSegmentLength restriction in ConcurrentQueue

7 years agoFormat code.
Pat Gavlin [Fri, 14 Jul 2017 20:47:56 +0000 (13:47 -0700)]
Format code.

7 years agoARM: Fix return of single element HFA
Bruce Forstall [Fri, 14 Jul 2017 17:05:25 +0000 (10:05 -0700)]
ARM: Fix return of single element HFA

Remove a condition in impFixupStructReturnType() that prevented
single-element HFA returns from being handled properly. The
condition didn't exist in previous JITs.

Fixes #12684

7 years agoApplied MaxSegmentLength restriction in ConcurrentQueue
JeffCyr [Fri, 14 Jul 2017 16:43:21 +0000 (12:43 -0400)]
Applied MaxSegmentLength restriction in ConcurrentQueue

7 years agoMerge pull request #12804 from pgavlin/VSO462274
Pat Gavlin [Fri, 14 Jul 2017 16:27:26 +0000 (09:27 -0700)]
Merge pull request #12804 from pgavlin/VSO462274

Mark shift helpers that produce an unused value as such.

7 years agoMerge pull request #12550 from sergign60/arm_build
Bruce Forstall [Fri, 14 Jul 2017 16:13:53 +0000 (09:13 -0700)]
Merge pull request #12550 from sergign60/arm_build

[CoreRT armel] refix for PINVOKE calls in CoreRT #12373

7 years ago[RyuJIT/ARM32] Kill the R4 register on exit if the call is the stub (#12662)
Sujin Kim [Fri, 14 Jul 2017 16:11:28 +0000 (01:11 +0900)]
[RyuJIT/ARM32] Kill the R4 register on exit if the call is the stub (#12662)

* [RyuJIT/ARM32] Kill the R4 register on exit if the call is the virtual stub call.

Related #11838

In this issue, farthestRefPhysRegRecord was nullptr in the end of allocateBusyReg(). That's because R4 register had been busy since before allocation of R4 Register.
It was caused that the R4 register was not killed on exit of the stub call.

On ARM architecture, the argument of stub call transfer by R4 register.
And when the stub is called, R4 register would be the status to busy.
R4 register has to be killed for leaving the busy state after stub call.

* Fix the formatting

* Get the vs param from virtualStubParamInfo

* Fix formatting

* Remove REG_ARG_4 define

* Change to better codes

* Add checking other platform cases

7 years agoMerge pull request #12777 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Fri, 14 Jul 2017 15:26:00 +0000 (11:26 -0400)]
Merge pull request #12777 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively (master)

7 years agoUpdate CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively
dotnet-maestro-bot [Fri, 14 Jul 2017 13:22:44 +0000 (13:22 +0000)]
Update CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively

7 years ago[CoreRT armel] refix for PINVOKE calls in CoreRT #12373
Sergey Ignatov [Thu, 29 Jun 2017 16:54:03 +0000 (19:54 +0300)]
[CoreRT armel] refix for PINVOKE calls in CoreRT #12373

7 years agoMerge pull request #12787 from briansull/zap-interface
Brian Sullivan [Fri, 14 Jul 2017 00:45:08 +0000 (17:45 -0700)]
Merge pull request #12787 from briansull/zap-interface

Improvements in the Zapper to VM interface, no longer throw exceptions across the interface.

7 years agoMerge pull request #12803 from wtgodbe/disableJITTestArm
William Godbe [Thu, 13 Jul 2017 22:16:56 +0000 (15:16 -0700)]
Merge pull request #12803 from wtgodbe/disableJITTestArm

Disable TalcallVerifyWithPrefix test for ARM

7 years agoClean up the code that builds uses a bit in LSRA.
Pat Gavlin [Thu, 13 Jul 2017 21:02:09 +0000 (14:02 -0700)]
Clean up the code that builds uses a bit in LSRA.

These cleanups are enabled by the recent changes to SIMD8 handling and
the removal of `fixedCandidateMask`.

7 years agoMerge pull request #12785 from wtgodbe/DeleteTest
William Godbe [Thu, 13 Jul 2017 20:39:29 +0000 (13:39 -0700)]
Merge pull request #12785 from wtgodbe/DeleteTest

Disable StringJoin test14

7 years agoMark shift helpers that produce an unused value as such.
Pat Gavlin [Thu, 13 Jul 2017 20:26:02 +0000 (13:26 -0700)]
Mark shift helpers that produce an unused value as such.

Fixes VSO 462274.

7 years agoDisable TalcallVerifyWithPrefix test for ARM
wtgodbe [Thu, 13 Jul 2017 20:14:12 +0000 (13:14 -0700)]
Disable TalcallVerifyWithPrefix test for ARM

7 years agoDisable StringJoin test14
wtgodbe [Wed, 12 Jul 2017 21:44:35 +0000 (14:44 -0700)]
Disable StringJoin test14

7 years ago[CoreCLR] Display the contents of init-tools.log (#12795)
Ravi Eda [Thu, 13 Jul 2017 18:45:52 +0000 (13:45 -0500)]
[CoreCLR] Display the contents of init-tools.log (#12795)

* Update attribute-value in security build definition.

* Display init-tools log.

* Ensure execute permission is available.

7 years agoMerge pull request #12781 from wtgodbe/ArmToolset
William Godbe [Thu, 13 Jul 2017 18:45:26 +0000 (11:45 -0700)]
Merge pull request #12781 from wtgodbe/ArmToolset

Add VC Runtime binaries to Core_Root for ARM tests

7 years agoDelete test
Russ Keldorph [Mon, 10 Jul 2017 19:42:46 +0000 (12:42 -0700)]
Delete test

7 years agoMerge pull request #12793 from wateret/fix-legacy-12685
Bruce Forstall [Thu, 13 Jul 2017 17:58:59 +0000 (10:58 -0700)]
Merge pull request #12793 from wateret/fix-legacy-12685

[LegacyJIT/ARM] Fix const fold assert condition

7 years agoChange missed by the CoreLib mirror (#12792)
Jan Kotas [Thu, 13 Jul 2017 11:11:18 +0000 (13:11 +0200)]
Change missed by the CoreLib mirror (#12792)

7 years ago[LegacyJIT/ARM] Fix const fold assert condition
Hanjoung Lee [Thu, 13 Jul 2017 08:58:36 +0000 (17:58 +0900)]
[LegacyJIT/ARM] Fix const fold assert condition

Fix #12685

7 years ago[Arm64] Enable Span clear optimization (#12788)
Steve MacLean [Thu, 13 Jul 2017 06:27:35 +0000 (02:27 -0400)]
[Arm64] Enable Span clear optimization (#12788)

7 years agoMerge pull request dotnet/corert#4141 from MichalStrehovsky/fixBuildBreak
Michal Strehovský [Wed, 12 Jul 2017 01:44:27 +0000 (21:44 -0400)]
Merge pull request dotnet/corert#4141 from MichalStrehovsky/fixBuildBreak

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMerge pull request #12769 from pgavlin/SimplifyContainCheck
Pat Gavlin [Thu, 13 Jul 2017 04:38:47 +0000 (21:38 -0700)]
Merge pull request #12769 from pgavlin/SimplifyContainCheck

Simplify the `isContainedNode` check in LSRA.

7 years agoMark a `GT_FIELD_LIST` used by a `PUTARG_STK` contained.
Pat Gavlin [Thu, 13 Jul 2017 02:49:45 +0000 (19:49 -0700)]
Mark a `GT_FIELD_LIST` used by a `PUTARG_STK` contained.

Uses occur too early otherwise.

7 years agoMerge pull request #12779 from pgavlin/ByrefAsserts
Pat Gavlin [Wed, 12 Jul 2017 23:37:58 +0000 (16:37 -0700)]
Merge pull request #12779 from pgavlin/ByrefAsserts

Loosen an assertion in the emitter re: byrefs.

7 years agoMerge pull request #12783 from CarolEidt/RemovePhysRegDst
Carol Eidt [Wed, 12 Jul 2017 23:33:40 +0000 (16:33 -0700)]
Merge pull request #12783 from CarolEidt/RemovePhysRegDst

Remove unused GT_PHYSREGDST node