platform/upstream/coreclr.git
5 years agoUpdate interop test xplat header (#19576)
Aaron Robinson [Fri, 24 Aug 2018 18:19:28 +0000 (11:19 -0700)]
Update interop test xplat header (#19576)

* Remove no-op #define logic for Interop tests
Remove single usage of #define for function remap

* Consolidate all uses of CoTaskMem* functions into new CoreClr* functions
for the Interop native tests.

* Remove unused functions and make formatting consistent.

* Remove '_cdecl' and replace all uses with '__cdecl'

* Convert '__stdcall' to 'STDMETHODCALLTYPE' for all non-calling convention dependent tests

* Replace 'CALLBACK' and 'NATIVEAPI' calling convention macros will well-defined 'STDMETHODCALLTYPE'

5 years agoImplement Intel AES intrinsic
Fei Peng [Thu, 23 Aug 2018 20:50:07 +0000 (13:50 -0700)]
Implement Intel AES intrinsic

5 years agoAdd test cases for AES intrinsic
Fei Peng [Thu, 23 Aug 2018 20:50:02 +0000 (13:50 -0700)]
Add test cases for AES intrinsic

5 years agoR2RDump - ARM and ARM64 UnwindInfo (#19618)
Amy [Fri, 24 Aug 2018 16:25:42 +0000 (09:25 -0700)]
R2RDump - ARM and ARM64 UnwindInfo (#19618)

* UnwindInfo for Arm

* ARM64 unwindInfo, change Machine.Arm to Machine.ArmThumb2

* Fix incorrect location of UnwindCode and GcTransition in the disasm

* Use x64 GcInfo for Arm and Arm64

* Cleanup, update readme

5 years agoMerge pull request #19636 from jakobbotsch/fix-shift-value-executed
Carol Eidt [Fri, 24 Aug 2018 15:04:41 +0000 (08:04 -0700)]
Merge pull request #19636 from jakobbotsch/fix-shift-value-executed

Mask shift value for shift [mem], const

5 years agoFix superpmi-shim-counter (#19639)
Sergey Andreenko [Fri, 24 Aug 2018 05:54:52 +0000 (22:54 -0700)]
Fix superpmi-shim-counter (#19639)

* fix the issue

* improve counter perfomance

do not rewrite output file after each method

5 years agoJIT: fix handling of newarr size (#19633)
Andy Ayers [Fri, 24 Aug 2018 02:35:33 +0000 (19:35 -0700)]
JIT: fix handling of newarr size (#19633)

`newarr` accepts either an int or native int for array size, and the
newarr helper the jit invokes takes a native int.

If the value on the stack is an int and the jit is running on a platform
where native int is larger than int, the jit must explicitly widen the
int to native int.

Found this while running some code through the interpreter -- the path
the interpreter uses to invoke jitted code doesn't guarantee that int args
are 64 bit clean.

5 years agoWorkaround to remove unnecessary bounds checks when using {ReadOnly}Span.IsEmpty...
Ahson Khan [Fri, 24 Aug 2018 02:11:48 +0000 (19:11 -0700)]
Workaround to remove unnecessary bounds checks when using {ReadOnly}Span.IsEmpty (#19640)

5 years agoMerge pull request #19635 from josalem/syntax-error-build-test
Aditya Mandaleeka [Thu, 23 Aug 2018 23:34:06 +0000 (16:34 -0700)]
Merge pull request #19635 from josalem/syntax-error-build-test

Fix syntax error in build-test.sh

5 years agoMake clang happy and fix old comment
Jakob Botsch Nielsen [Thu, 23 Aug 2018 21:47:18 +0000 (23:47 +0200)]
Make clang happy and fix old comment

5 years agoMask shift value for shift [mem], const
Jakob Botsch Nielsen [Thu, 23 Aug 2018 21:01:34 +0000 (23:01 +0200)]
Mask shift value for shift [mem], const

The shift value needs to be masked as otherwise the emitter may end up
believing it needs 4 bytes for constants >= 128. Since an encoding with
4-byte immediate does not exist for shifts, the last part of the
immediate would be interpreted as code and executed.

This was only a problem for constants between 128 and 256 as other
constants are not currently contained.

Fixes #19601

5 years agofix syntax error in build-test.sh
John Salem [Thu, 23 Aug 2018 21:06:11 +0000 (14:06 -0700)]
fix syntax error in build-test.sh

5 years agoMerge pull request #19610 from briansull/fmt-bb
Brian Sullivan [Thu, 23 Aug 2018 20:23:50 +0000 (13:23 -0700)]
Merge pull request #19610 from briansull/fmt-bb

define FMT_BB as "BB%02u" and use it uniformly in the codebase

5 years agoTwo R2RDump fixes for Crossgen output (#19585)
Tomáš Rylek [Thu, 23 Aug 2018 19:23:42 +0000 (21:23 +0200)]
Two R2RDump fixes for Crossgen output (#19585)

1) In some situations, Crossgen emits a section with EntrySize = 0.
Apparently the engine defaults to size_t in such case.

2) Similarly, Crossgen sometimes emits a section with the UNKNOWN
kind. I have relaxed the section kind check to just treat all
non-eager section kinds the same.

Thanks

Tomas

5 years agoFix terminology in netci file (#19608)
Koundinya Veluri [Thu, 23 Aug 2018 18:23:31 +0000 (11:23 -0700)]
Fix terminology in netci file (#19608)

5 years agoRemove Avx.PermuteVar tests to unblock signature change propagation to corefx
Jacek Blaszczynski [Thu, 23 Aug 2018 10:52:37 +0000 (12:52 +0200)]
Remove Avx.PermuteVar tests to unblock signature change propagation to corefx

Test will be rewritten after corefx Avx.PermuteVar changes will be absorbed

5 years agoFix base types of second paramters used in Avx.PermuteVar and Avx2.Permute4x64
Jacek Blaszczynski [Tue, 21 Aug 2018 09:55:24 +0000 (11:55 +0200)]
Fix base types of second paramters used in Avx.PermuteVar and Avx2.Permute4x64
for float, double overloads

Fixes #19579

5 years agoMerge branch 'master' into fmt-bb
Brian Sullivan [Thu, 23 Aug 2018 18:13:13 +0000 (11:13 -0700)]
Merge branch 'master' into fmt-bb

5 years agoMerge pull request #15011 from mikedn/ssa-mem-num
Carol Eidt [Thu, 23 Aug 2018 17:34:44 +0000 (10:34 -0700)]
Merge pull request #15011 from mikedn/ssa-mem-num

Eliminate duplicate SSA number bookkeeping

5 years agoDeal with compilation warnings in VM in cross-bitness scenario (#18707)
Egor Chesakov [Thu, 23 Aug 2018 16:32:24 +0000 (09:32 -0700)]
Deal with compilation warnings in VM in cross-bitness scenario (#18707)

5 years agoHandle multireg copies correctly (#19588)
Carol Eidt [Thu, 23 Aug 2018 01:43:23 +0000 (18:43 -0700)]
Handle multireg copies correctly (#19588)

* Handle multireg copies correctly

Fix #19029

5 years agoEnable unloading of AssemblyLoadContext (#18476)
Jan Vorlicek [Thu, 23 Aug 2018 00:42:43 +0000 (02:42 +0200)]
Enable unloading of AssemblyLoadContext (#18476)

Enable assembly unloading

* Allow PInvoke methods on collectible assemblies

* Fix test unloadability

Several hundreds of tests were using Helper class that created
GCHandle, but never freed it. That prevented unloading of those
tests. The change modifies the Helper class to keep the handle
in a finalizable object.

Several GCHandle related tests were not freeing the GCHandle they
allocated, so this change adds freeing them to enable the unloading.

* Add missing error messages to the resources

* Fix shuffle thunk cache for unloadability

* Add GetLoaderAllocator to ICLRPrivBinder

5 years ago Implement AVX2 MaskLoad and MaskStore (#19513)
Fei Peng [Thu, 23 Aug 2018 00:01:40 +0000 (17:01 -0700)]
 Implement AVX2 MaskLoad and MaskStore (#19513)

* Implement AVX2 MaskLoad and MaskStore

* Add test cases for AVX2 MaskLoad and MaskStore

* Fix AVX MaskStore tests

* template AVX MaskLoad tests

5 years agodefine FMT_BB as "BB%02u" and use it uniformly in the codebase
Brian Sullivan [Wed, 22 Aug 2018 20:37:54 +0000 (13:37 -0700)]
define FMT_BB as "BB%02u" and use it uniformly in the codebase

We use the following format when print the BasicBlock number: bbNum
This define is used with string concatenation to put this in printf format strings

5 years agoMake sure RuntimeEventSource is passed to EventListener.OnEventSourceCreated (#19393)
Brian Robbins [Wed, 22 Aug 2018 22:07:52 +0000 (15:07 -0700)]
Make sure RuntimeEventSource is passed to EventListener.OnEventSourceCreated (#19393)

5 years agoFix a PAL spin lock issue (#19604)
Koundinya Veluri [Wed, 22 Aug 2018 20:15:46 +0000 (13:15 -0700)]
Fix a PAL spin lock issue (#19604)

Fix for https://github.com/dotnet/coreclr/issues/18486
- Lock release needs to be at least volatile

5 years agoFix broken documentation links into mscorlib code (#19598)
Drew Noakes [Wed, 22 Aug 2018 12:54:20 +0000 (13:54 +0100)]
Fix broken documentation links into mscorlib code (#19598)

5 years agoAesGcm, AesCcm (dotnet/corefx#31389)
Krzysztof Wicher [Tue, 21 Aug 2018 21:55:33 +0000 (14:55 -0700)]
AesGcm, AesCcm (dotnet/corefx#31389)

* AesGcm, AesCcm

* add osx stubs

* disable tests on osx and desktop (APIs not there/not supported)

* TagByteSizes on OSX

* fix TagByteSizes compilation error

* apply review feedback

* fix typo when setting tag/nonce length in ccm

* add missing SetCcmTagLength

* attempt to detect if ccm is available on Ubuntu 14.04

* disable tests on ubuntu 14.04, attempt for osx support

* attempt to fix osx

* fix osx

* review feedback

* disable new ccm testcases on ubuntu 14.04

* attempt to make Ubuntu 14.04 work

* add Interop.Initialization to OSX

* fix KeySizeHelpers after merge conflict

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoR2RDump - Interweave x64 unwind codes into disasm (#19577)
Amy [Wed, 22 Aug 2018 02:18:33 +0000 (19:18 -0700)]
R2RDump - Interweave x64 unwind codes into disasm (#19577)

* Interweave unwind codes into disasm, fix incorrect x64 register names

* Fix xml dump errors

5 years agoMerge pull request #19572 from briansull/fmt-vn
Brian Sullivan [Tue, 21 Aug 2018 20:48:15 +0000 (13:48 -0700)]
Merge pull request #19572 from briansull/fmt-vn

Define FMT_VN as "$%x" and use it uniformly in the codebase

5 years agoMerge pull request #19581 from sergign60/unwind_fix
Bruce Forstall [Tue, 21 Aug 2018 18:30:49 +0000 (11:30 -0700)]
Merge pull request #19581 from sergign60/unwind_fix

[corert armel] Fixed CoreRT issue #5874 for non-callee-saved regs

5 years agoDefine FMT_VN as "$%x" and use it uniformly in the codebase
Brian Sullivan [Tue, 21 Aug 2018 00:32:13 +0000 (17:32 -0700)]
Define FMT_VN as "$%x" and use it uniformly in the codebase

We use a unique prefix character when printing value numbers in dumps:  i.e.  $1c0
This define is used with string concatenation to put this in printf format strings

5 years agoCleanup unnecessary casts in roundUp
Egor Chesakov [Tue, 21 Aug 2018 00:08:18 +0000 (17:08 -0700)]
Cleanup unnecessary casts in roundUp

5 years agoAdd roundUp(unsigned size, unsigned mult) and roundDn(unsigned size, unsigned mult...
Egor Chesakov [Mon, 20 Aug 2018 20:18:08 +0000 (13:18 -0700)]
Add roundUp(unsigned size, unsigned mult) and roundDn(unsigned size, unsigned mult) to 64-bit host in src/jit/jit.h

5 years ago[corert armel] Fixed CoreRT issue #5874 for non-callee-saved regs
Sergey Ignatov [Tue, 21 Aug 2018 09:37:43 +0000 (12:37 +0300)]
[corert armel] Fixed CoreRT issue #5874 for non-callee-saved regs

5 years agoHandle null byref in helper (#19571)
Carol Eidt [Tue, 21 Aug 2018 08:44:07 +0000 (01:44 -0700)]
Handle null byref in helper (#19571)

Add JIT_ByRefWriteBarrier to IsIPInMarkedJitHelper so that a null dereference will be handled.

Fix #19444

5 years agoBackout change to pass -ibcoptimize in official builds
adiaaida [Tue, 21 Aug 2018 00:59:07 +0000 (17:59 -0700)]
Backout change to pass -ibcoptimize in official builds

5 years agoStop using size_t for passing immediate values in CodeGen CodeGenInterface (#19544)
Egor Chesakov [Tue, 21 Aug 2018 03:19:08 +0000 (20:19 -0700)]
Stop using size_t for passing immediate values in CodeGen CodeGenInterface (#19544)

5 years agoR2RDump - Add image describing R2R format (#19528)
Amy [Tue, 21 Aug 2018 02:43:17 +0000 (19:43 -0700)]
R2RDump - Add image describing R2R format (#19528)

* Add image describing R2R format

* Remove help message stating -v option dumps raw bytes

5 years agoFix tiered compilation option for case-sensitive systems (#19567)
Andy Ayers [Tue, 21 Aug 2018 01:38:30 +0000 (18:38 -0700)]
Fix tiered compilation option for case-sensitive systems (#19567)

5 years agoMerge pull request #19334 from CarolEidt/Fix19243
Carol Eidt [Mon, 20 Aug 2018 23:57:40 +0000 (16:57 -0700)]
Merge pull request #19334 from CarolEidt/Fix19243

Fix evaluation order for block copy

5 years agoAdd IBC support (#19046)
Michelle McDaniel [Mon, 20 Aug 2018 22:21:58 +0000 (15:21 -0700)]
Add IBC support (#19046)

This change adds support to consume IBC data packages that are created by the dotnet/optimization repository. With these changes and dotnet/buildtools#2103 to enable IBC optimizations for corefx, we will see a 32% decrease in the size of NetCoreApp (and an overall decrease of 16%), a 30% reduction in ref set, a 5% improvement in time to first request and steady state performance for MusicStore.

Size

  Crossgen Partial Partial vs Crossgen (lower is better)
Shared (MB) 185.6 137.3 0.74
Microsoft.NETCore.App (MB) 115.6 67.4 0.58
RefSet

MusicStore

  Crossgen Partial Partial vs Crossgen (lower is better)
Total 19.389 13.472 0.69
AllReady

Crossgen Partial Partial vs Crossgen (lower is better)
Total 17.58 12.214
Performance

MusicStore

  Crossgen Partial Partial vs Crossgen (lower is better)
Server Start (ms) 870 870.6 1.00
First request (ms) 3532.6 3386.6 0.95
Steady State (ms) 2.926 2.79 0.95
AllReady

Crossgen Partial Partial vs Crossgen (lower is better)
Server Start (ms) 2102 1942.4
First Request (ms) 4263.2 4126
Steady State (ms) 5.69 5.68
TechEmpower Plaintext

Crossgen Partial Partial vs Crossgen (lower is better)
Requests per Second 1928649.8 1893183.8
First Request (ms) 76.14 80.11
Startup (ms) 391 372.8
Working Set (MB) 382.2 373.4

5 years agoJIT: remove incremental ref count updates (#19345)
Andy Ayers [Mon, 20 Aug 2018 22:03:29 +0000 (15:03 -0700)]
JIT: remove incremental ref count updates (#19345)

Remove almost all of the code in the jit that tries to maintain local ref
counts incrementally. Also remove `lvaSortAgain` and related machinery.

Explicitly sort locals before post-lower-liveness when optimizing to get the
best set of tracked locals.

Explicitly recount after post-lower liveness to get accurate counts after
dead stores. This can lead to tracked unreferenced arguments; tolerate this
during codegen.

5 years agoUpdate Microsoft.NETCore.CoreDisTools to version 1.0.1-prerelease-00005 (#19520)
Zach Montoya [Mon, 20 Aug 2018 21:08:41 +0000 (14:08 -0700)]
Update Microsoft.NETCore.CoreDisTools to version 1.0.1-prerelease-00005 (#19520)

* Update Microsoft.NETCore.CoreDisTools to version 1.0.1-prerelease-00005. Temporarily add a direct reference to the win-x64 and win-x86 runtime packages

* Change Microsoft.NETCore.CoreDisTools package references to the identity package.

Improve formatting of R2RDump.csproj properties.

* Add an ArgumentException to explain the currently faulty behavior where disassembling an R2R image whose architecture is different than the coredistools.dll architecture.

* Add Issue #19564 to the R2RDump.cs Disassembler comment

5 years agoFix dbgshim's > 1000 module bug (issue #19538) (#19553)
Mike McLaughlin [Mon, 20 Aug 2018 20:33:05 +0000 (13:33 -0700)]
Fix dbgshim's > 1000 module bug (issue #19538) (#19553)

Fix dbgshim's > 1000 module bug (issue #19538)

Cap cbNeeded on second EnumProcessModules call. Change the allocations
to HMODULE to make sure they are aligned properly.

5 years agoFix issues with calling convention in tests. (#19548)
Aaron Robinson [Mon, 20 Aug 2018 19:00:54 +0000 (12:00 -0700)]
Fix issues with calling convention in tests. (#19548)

5 years agoAdd comment
Carol Eidt [Mon, 20 Aug 2018 17:44:41 +0000 (10:44 -0700)]
Add comment

5 years agoNormalize whitespace/indentation
Clinton Ingram [Mon, 20 Aug 2018 11:09:45 +0000 (04:09 -0700)]
Normalize whitespace/indentation

5 years agoUpdate t4 templates to generate simplified type names
Clinton Ingram [Mon, 20 Aug 2018 11:06:30 +0000 (04:06 -0700)]
Update t4 templates to generate simplified type names

5 years agoMark some readonly fields readonly (#19559)
Ben Adams [Mon, 20 Aug 2018 16:30:37 +0000 (17:30 +0100)]
Mark some readonly fields readonly (#19559)

5 years agoOptimize number formatting (#19551)
Pent Ploompuu [Mon, 20 Aug 2018 16:29:55 +0000 (19:29 +0300)]
Optimize number formatting (#19551)

5 years agoMark more structs as readonly (#19557)
Ben Adams [Mon, 20 Aug 2018 16:25:47 +0000 (17:25 +0100)]
Mark more structs as readonly (#19557)

5 years agoMake DateTimeOffset a readonly struct (#19552)
Ben Adams [Mon, 20 Aug 2018 16:22:20 +0000 (17:22 +0100)]
Make DateTimeOffset a readonly struct (#19552)

5 years ago Free the alternate signal stack if this PAL's thread allocated it. (#19539)
Mike McLaughlin [Sun, 19 Aug 2018 23:04:02 +0000 (16:04 -0700)]
 Free the alternate signal stack if this PAL's thread allocated it. (#19539)

Free the alternate signal stack if this PAL's thread allocated it.

Move Ensure/FreeSignalAlternateStack to CPalThread class.

Frees the alternate stack a little sooner during thread termination.

5 years agoFix test case comment to reflect the actual test (#19531)
Andy Ayers [Sun, 19 Aug 2018 02:23:41 +0000 (19:23 -0700)]
Fix test case comment to reflect the actual test (#19531)

5 years agoEnable Microsoft.VisualBasic.dll in crossgen_comparison scenario
Egor Chesakov [Fri, 17 Aug 2018 18:40:05 +0000 (11:40 -0700)]
Enable Microsoft.VisualBasic.dll in crossgen_comparison scenario

5 years agoReturn "default" target-specific NaN value during constant folding of arithmetic...
Egor Chesakov [Thu, 9 Aug 2018 00:57:26 +0000 (17:57 -0700)]
Return "default" target-specific NaN value during constant folding of arithmetic expressions on ARM32 and ARM64

5 years agoFix wrong sprinf_s format string in gtGetArgMsg getGetLateArgMsg on ARM32 (#19536)
Egor Chesakov [Sun, 19 Aug 2018 01:03:06 +0000 (18:03 -0700)]
Fix wrong sprinf_s format string in gtGetArgMsg getGetLateArgMsg on ARM32 (#19536)

5 years agoExclude some assemblies from CrossGen Comparison job (#19534)
Egor Chesakov [Sat, 18 Aug 2018 21:38:14 +0000 (14:38 -0700)]
Exclude some assemblies from CrossGen Comparison job (#19534)

* System.Runtime.Intrinsics.Experimental.dll
* Xunit assemblies

5 years agoInitial support for R2R image diff (#19533)
Tomáš Rylek [Fri, 17 Aug 2018 23:41:22 +0000 (01:41 +0200)]
Initial support for R2R image diff (#19533)

* Initial support for R2R image diff

In this first cut I'm adding just three size diff statistics -
PE section size diff, R2R section size diff and method size diffs.
I assume we'll add more statistics as needed in the course of various
size investigations.

Thanks

Tomas

5 years agoRemove tests previously ported to CoreFX repo (#19527)
Aaron Robinson [Fri, 17 Aug 2018 18:09:31 +0000 (11:09 -0700)]
Remove tests previously ported to CoreFX repo (#19527)

* Remove tests previously ported to CoreFX repo

* Remove references to ported Marshal API tests

5 years agoMerge pull request #19530 from BruceForstall/DisableArmUbuntuCorefxLogging
Bruce Forstall [Fri, 17 Aug 2018 17:47:38 +0000 (10:47 -0700)]
Merge pull request #19530 from BruceForstall/DisableArmUbuntuCorefxLogging

Disable Ubuntu arm32 corefx xunit test result parsing

5 years agoMerge pull request #19378 from sergign60/unwind_fix
Bruce Forstall [Fri, 17 Aug 2018 17:32:16 +0000 (10:32 -0700)]
Merge pull request #19378 from sergign60/unwind_fix

[CoreRT armel]Fix for unwinding support for ARM #5874

5 years agoDisable Ubuntu arm32 corefx xunit test result parsing
Bruce Forstall [Fri, 17 Aug 2018 17:24:48 +0000 (10:24 -0700)]
Disable Ubuntu arm32 corefx xunit test result parsing

We have a problem with the xunit plug-in, where it is consistently
failing on Ubuntu arm32 test result uploading with this error:

```
The plugin hasn't been performed correctly
```

We haven't been able to identify the reason. So, do not add xunit parsing of the test data in this scenario.
This is tracked by: https://github.com/dotnet/coreclr/issues/19447.

5 years agoMerge pull request #19512 from dotnet-maestro-bot/master-UpdateDependencies
William Godbe [Fri, 17 Aug 2018 17:14:02 +0000 (10:14 -0700)]
Merge pull request #19512 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03116-01, preview1-26817-05, preview1-26817-04, preview1-26817-01, master-20180817-0151, respectively (master)

5 years agoEnable Tiered Compilation by default (#19525)
Koundinya Veluri [Fri, 17 Aug 2018 15:31:44 +0000 (08:31 -0700)]
Enable Tiered Compilation by default (#19525)

Enable Tiered Compilation by default

1) Changes the default state of the tiered compilation feature check to be ON BY DEFAULT
2) Removed comments about the source about this being a work in progress. Although it will surely continue to evolve and improve, remaining issues would be better tracked in our issue tracking system with the same default presumption as other runtime features - assume it works unless noted otherwise.
3) Adjusts a number of tests and automated scripts that made assumptions that the default setting of this feature is off.
4) Stop accepting the deprecated env var COMPLUS_EXPERIMENTAL_TieredCompilation. I'm not aware it has any remaining usage but if so we're going to find out.
5) Adjust config names for JitBench

5 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03116-01, preview1...
dotnet-maestro-bot [Fri, 17 Aug 2018 13:47:35 +0000 (06:47 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03116-01, preview1-26817-05, preview1-26817-04, preview1-26817-01, master-20180817-0151, respectively

5 years agoMerge pull request #19514 from dotnet/dev/unix_test_workflow
Egor Chesakov [Fri, 17 Aug 2018 04:56:41 +0000 (21:56 -0700)]
Merge pull request #19514 from dotnet/dev/unix_test_workflow

 Introduce CrossGen Comparison scenario

5 years agoAdd CrossGen Comparison scenario to netci.groovy
Egor Chesakov [Thu, 9 Aug 2018 23:36:17 +0000 (16:36 -0700)]
Add CrossGen Comparison scenario to netci.groovy

5 years agoAdd tests/scripts/crossgen_comparison.py
Egor Chesakov [Thu, 9 Aug 2018 23:37:39 +0000 (16:37 -0700)]
Add tests/scripts/crossgen_comparison.py

5 years agoRemove coreclr.*txt upload (#19524)
Jarret Shook [Fri, 17 Aug 2018 01:16:59 +0000 (18:16 -0700)]
Remove coreclr.*txt upload (#19524)

5 years agoR2RDump - Documentation (#19497)
Amy [Fri, 17 Aug 2018 00:05:23 +0000 (17:05 -0700)]
R2RDump - Documentation (#19497)

* Add comments

* Add README

* Use href links, disable disasm

5 years agoMoved registry.cs to shared (#19471)
Anirudh Agnihotry [Thu, 16 Aug 2018 20:21:55 +0000 (13:21 -0700)]
Moved registry.cs to shared (#19471)

* moved registry to shared

* using corefx version

* set value added

5 years agoDetermine memory load based on cgroup usage. (#19518)
Tom Deseyn [Thu, 16 Aug 2018 18:47:20 +0000 (20:47 +0200)]
Determine memory load based on cgroup usage. (#19518)

cgroup usage is used to trigger oom kills. It includes rss and file cache
of the cgroup.

The implementation was only using the process rss to determine memory load.
This is less than the cgroup usage and leads to oom kills due to GC not
being triggered soon enough.

5 years agoAdd an empty console application to measure startup of the runtime. (#19490)
José Rivero [Thu, 16 Aug 2018 18:25:31 +0000 (11:25 -0700)]
Add an empty console application to measure startup of the runtime. (#19490)

5 years agoDisable a regex test that is failing with minopts (#19488)
Koundinya Veluri [Thu, 16 Aug 2018 18:23:47 +0000 (11:23 -0700)]
Disable a regex test that is failing with minopts (#19488)

See dotnet/coreclr#18912. This test would always fail once tiered compilation is enabled by default in CoreFX test runs in the CoreCLR repo.

5 years agoBuild-test.sh handles native test assets (#19430)
Aaron Robinson [Thu, 16 Aug 2018 18:21:51 +0000 (11:21 -0700)]
Build-test.sh handles native test assets (#19430)

* Respect Windows script argument to skip package building.

* Bring build.sh logic closer to build.cmd with respect to passing CMAKE flags for building tests

* Make cmake gen script find override file without using script arguments

* build-test.sh can now build native test projects
Remove compileoptions.cmake and push contents into configurecompiler.cmake
 which contains compiler configuration from repo root CMakeLists.txt

5 years agoSome JitBench fixes (#19479)
Koundinya Veluri [Thu, 16 Aug 2018 18:20:55 +0000 (11:20 -0700)]
Some JitBench fixes (#19479)

Some JitBench fixes

- Fixed `dotnet run` from the `unofficial_dotnet` folder after `Directory.Build.targets` was added to `coreclr/tests/src`. This file is auto-imported and was adding dependencies and properties for targets that were not necessary. Added files to the root JitBench folder to override.
- Updated JitBench to be able to run against netcoreapp3.0. I haven't changed the default yet, could consider doing so once there are no pending perf issues being looked into.
  - Added a `RetargetProjects()` function to the setup steps to replace `TargetFramework` and `RuntimeFrameworkVersion` values in the relevant `.csproj` files to run against the expected runtime. This reduces some dependency on other repos containing the actual perf projects such that we don't have to update every repo to support environment variables to set those values.
- Disabled tiering for the `MinOpts` config

5 years agoJIT: bail out in optExtractArrIndex for constant array length (#19493)
Andy Ayers [Thu, 16 Aug 2018 16:22:05 +0000 (09:22 -0700)]
JIT: bail out in optExtractArrIndex for constant array length (#19493)

Generalize the bail out pattern to handle cases from spans where we may
see a known array length in a bounds check.

Fixes #19454

5 years agoOptimize NumberBufferToDecimal (#19072)
Pent Ploompuu [Thu, 16 Aug 2018 15:40:59 +0000 (18:40 +0300)]
Optimize NumberBufferToDecimal (#19072)

5 years agoMerge pull request #19396 from CarolEidt/Fix19288
Carol Eidt [Thu, 16 Aug 2018 15:11:00 +0000 (08:11 -0700)]
Merge pull request #19396 from CarolEidt/Fix19288

Fix non-lclVar odd-byte struct passing

5 years ago[CoreRT armel]Fix for unwinding support for ARM is not fully implemented #5874
Sergey Ignatov [Thu, 9 Aug 2018 08:52:10 +0000 (11:52 +0300)]
[CoreRT armel]Fix for unwinding support for ARM is not fully implemented #5874

5 years agoMake file handle checks accurate on Windows (#19508)
Jeremy Kuhne [Thu, 16 Aug 2018 04:16:43 +0000 (21:16 -0700)]
Make file handle checks accurate on Windows (#19508)

* Make handle checks accurate on Windows

We can actually check the async state of a handle on Windows, so check directly when we have the API available.

Also allow all filetypes through when explicitly using extended syntax `\\?\` .

* Fix nits

* Don't throw in the handle constructor overloads

* Whoops

* Removing the close handle entirely. No adverse effects from closing a bad handle- or leaving it open for that matter.

5 years agoRevert "Temporarily flag a SIMD test as optimization-sensitive (#19163)" (#19505)
Koundinya Veluri [Thu, 16 Aug 2018 02:43:15 +0000 (19:43 -0700)]
Revert "Temporarily flag a SIMD test as optimization-sensitive (#19163)" (#19505)

This reverts commit 855ddf52c7b05994cf6728b9169fa6cdc694a537. Issue https://github.com/dotnet/coreclr/issues/19124 was fixed by PR https://github.com/dotnet/coreclr/pull/19234, so re-enabling the test in minopts and with tiering.

5 years agoUpdate JapaneseLunisolarCalendar.cs (#19504)
elyoh [Thu, 16 Aug 2018 01:03:50 +0000 (02:03 +0100)]
Update JapaneseLunisolarCalendar.cs (#19504)

Corrects an issue with the conversion table for Gregorian to Japanese lunisolar dates.
See: #19450.

Issue: data discrepancy in year 1962.
Table entry for 1962 has incorrect days per month for months 6 and 7.

Notes
The DaysPerMonth flag uses the binary literal for ease of readability.

5 years agoJIT: properly handle special-case varargs params in minopts (#19489)
Andy Ayers [Thu, 16 Aug 2018 00:05:28 +0000 (17:05 -0700)]
JIT: properly handle special-case varargs params in minopts (#19489)

We were previously marking all lcl vars as implicitly referenced in minopts,
but there are some special varargs params that can't ever be marked as
referenced, either implicitly or explicitly.

Special case these when computing or checking ref counts in minopts.

Closes #19349.

5 years agoRevert "Change CoreLib native image to be R2R by default on all platforms (#19359...
Jan Kotas [Wed, 15 Aug 2018 22:55:24 +0000 (15:55 -0700)]
Revert "Change CoreLib native image to be R2R by default on all platforms (#19359)" (#19501)

This reverts commit d485659348af3528b688ac5b7e4c58dacba6de58.

5 years agoAdd Public API Marshal.IsTypeVisibleFromCom and Marshal.GetEndComSlot (#19507)
Luqun Lou [Wed, 15 Aug 2018 22:52:28 +0000 (15:52 -0700)]
Add Public API Marshal.IsTypeVisibleFromCom and Marshal.GetEndComSlot (#19507)

5 years agoR2RDump - GcInfo for x86
Amy Yu [Wed, 8 Aug 2018 23:52:53 +0000 (16:52 -0700)]
R2RDump - GcInfo for x86

x86 GcInfo headers

x86 GcSlotTable

x86 GcTransitions

Update expected xml for R2RDumpTests

Add license headers

Allow multiple GcTransitions with same codeOffset

Add index property in GcSlot, make GcSlot a class instead of struct, add missing spaces, update tests

Remove placeholder functions for parsing partially interruptible pointer tables

Implement partially interruptible GcInfo

Example GcInfo output:
    CodeLength: 22 bytes
        InfoHdr:
            PrologSize: 7
            EpilogSize: 4
            EpilogCount: 1
            EpilogAtEnd: yes
            Callee-saved regs  = EBP
            EbpFrame: yes
            Fully Interruptible: yes
            DoubleAlign: no
            Arguments Size: 0 DWORDs
            Stack Frame Size: 1 DWORDs
            UntrackedCnt: 1
            VarPtrTableSize: 0
            GenericsContext: 0
            GenericsContextIsMethodDesc: 0
            ReturnKind: RT_Scalar
            RevPInvokeOffset: 0
            Epilogs: 18

            GcSlots:
                -------------------------
                [EBP-4]
                Flags: GC_SLOT_UNTRACKED
                LowBits:
                -------------------------

    28fc: 55                    push    ebp
    28fd: 8b ec                 mov     ebp, esp
    28ff: 50                    push    eax
    2900: 89 4d fc              mov     dword ptr [ebp - 4], ecx
    2903: 8b 4d fc              mov     ecx, dword ptr [ebp - 4]
    2906: ff 15 10 10 01 10     call    dword ptr [268505104]
                                reg ECX becoming live
    290c: 90                    nop
                                reg ECX becoming dead
    290d: 90                    nop
    290e: 8b e5                 mov     esp, ebp
    2910: 5d                    pop     ebp
    2911: c3                    ret

5 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03115-01, preview1...
dotnet-maestro-bot [Wed, 15 Aug 2018 19:30:35 +0000 (12:30 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03115-01, preview1-26815-04, preview1-26815-04, preview1-26815-01, master-20180815-0120, respectively (#19494)

5 years agoMerge pull request #19487 from acmyu/disable
Bruce Forstall [Wed, 15 Aug 2018 03:56:16 +0000 (20:56 -0700)]
Merge pull request #19487 from acmyu/disable

ExcludeList for R2RDumpTests in wrong ItemGroup

5 years agoAdd TypeConverter fallback to DefaultValueAttribute (#19354)
Marco Rossignoli [Wed, 15 Aug 2018 01:56:43 +0000 (03:56 +0200)]
Add TypeConverter fallback to DefaultValueAttribute (#19354)

5 years agoUpdate debugging and createdump docs. (#19495)
Mike McLaughlin [Wed, 15 Aug 2018 01:22:23 +0000 (18:22 -0700)]
Update debugging and createdump docs. (#19495)

5 years agoExcludeList for R2RDumpTests in wrong ItemGroup
Amy Yu [Tue, 14 Aug 2018 20:19:46 +0000 (13:19 -0700)]
ExcludeList for R2RDumpTests in wrong ItemGroup

5 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03110-01, preview1...
dotnet-maestro-bot [Tue, 14 Aug 2018 15:08:16 +0000 (08:08 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03110-01, preview1-26814-06, preview1-26814-01, preview1-26814-01, master-20180814-0056, respectively (#19377)

5 years agoDisable R2RDumpTests (#19475)
Amy [Tue, 14 Aug 2018 14:02:49 +0000 (07:02 -0700)]
Disable R2RDumpTests (#19475)

5 years agoDelete dead code (#19452)
Jan Kotas [Tue, 14 Aug 2018 13:34:34 +0000 (06:34 -0700)]
Delete dead code (#19452)

Unused strong name signing paths and related code

5 years agoTranslate [rip +- offset] to absolute RVA's in R2RDump (#19219)
Tomáš Rylek [Tue, 14 Aug 2018 10:37:19 +0000 (12:37 +0200)]
Translate [rip +- offset] to absolute RVA's in R2RDump (#19219)

* Translate [rip +- offset] to absoluate RVA's in R2RDump

The existing logic for displaying rip-relative addressed on X64
make it very hard to calculate the final addresses. I have added
a horrendous hack using textual analysis of the disassembled
instruction to translate this notation to absolute RVA's.

As part of this effort I have also encapsulated the CorDisTools
helper in a new class Disassembler that also contains customizable
provisions for handling special assembly cases on the individual
architectures.

Thanks

Tomas

* Temporarily block out disassembly to make tests pass

In my initial commit I removed the line blocking out disassembly
however this ends up failing several lab tests so I'm putting the
line back.

Thanks

Tomas

5 years agoCode review feedback for the alternate stack changes (PR #19309). (#19476)
Mike McLaughlin [Tue, 14 Aug 2018 07:46:13 +0000 (00:46 -0700)]
Code review feedback for the alternate stack changes (PR #19309). (#19476)

Fixed SOS plugin for core dumps.

5 years agoUpdate URLs and exclusion list for staging (#19423)
Andon Andonov [Tue, 14 Aug 2018 03:43:10 +0000 (20:43 -0700)]
Update URLs and exclusion list for staging (#19423)

* Update URLs and exclusion list for staging

* Update Failing tests

* Fix IO test namespace

* Add 2 failing Ubuntu tests

* Exclude test under Ubuntu

* Add regressed test

* Roll-back CI URLs

* Add issue number