platform/upstream/coreclr.git
5 years agoAdd debug_prints for bug... sandbox/ches01/integrate-libasansi_debug_v2
Vyacheslav Cherkashin [Mon, 19 Aug 2019 20:03:36 +0000 (23:03 +0300)]
Add debug_prints for bug...

Change-Id: Idc66ededc8e329737ed28b42e0f900be563166d0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years agoAdd debug prints
Vyacheslav Cherkashin [Tue, 23 Jul 2019 19:43:56 +0000 (22:43 +0300)]
Add debug prints

Change-Id: Idb7693eca1a122f64ac9d2febc56b4514836afca
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Enable Tizen ASan runtime support
Vyacheslav Cherkashin [Fri, 19 Jul 2019 12:05:47 +0000 (15:05 +0300)]
[Tizen] Enable Tizen ASan runtime support

Enable libasansi.so support (libasan.so with switchable interceptors).

Change-Id: I9ee9b47b7beab55f036ffc0697ffab2583e9701c
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Implement ASan wrapper for Linux AMD64
Vyacheslav Cherkashin [Mon, 29 Jul 2019 16:02:37 +0000 (19:02 +0300)]
[Tizen] Implement ASan wrapper for Linux AMD64

Change-Id: I48446ce7c8771a4c75149512bb7d8a8cb3fae8e5
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Implement ASan wrapper for Linux ARM32
Vyacheslav Cherkashin [Mon, 22 Jul 2019 10:40:47 +0000 (13:40 +0300)]
[Tizen] Implement ASan wrapper for Linux ARM32

This commit implements wrappers that allow interception transitions
from managed to external unmanaged code (CIL -> native) and back
(native -> CIL). This allows enable/disable ASan during transitions.
Due to this, we sanitize only external code, which allows us to
achieve acceptable performance.

Change-Id: I53ecdc14d28f7210cd9e7f5bd4db0c8ef5ed81fc
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
5 years ago[Tizen] Implement detecting of sanitized libraries
Andrey Drobyshev [Tue, 16 Jul 2019 12:23:18 +0000 (15:23 +0300)]
[Tizen] Implement detecting of sanitized libraries

Parse ".dynamic" section (ELF dynamic array tags) of the module being
added, find ".rel(a).plt" section and search it for presence of
'__asan_init' symbol.

Change-Id: Ie7cc4c818b791b5f00713b42ba15131325b8152c
Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
5 years agoadd access(2) call before dlopening files
Yaroslav Yamshchikov [Thu, 18 Jul 2019 10:14:14 +0000 (13:14 +0300)]
add access(2) call before dlopening files

5 years ago[Tizen] Precompile frequently used generic methods. accepted/tizen/unified/20190813.215958 submit/tizen/20190813.035844
Kirill Frolov [Wed, 24 Jul 2019 10:39:34 +0000 (13:39 +0300)]
[Tizen] Precompile frequently used generic methods.

5 years agocorbbtprof: set byte alignment for CORBBTPROF structures (#25816)
Konstantin Baladurin [Tue, 23 Jul 2019 04:01:22 +0000 (07:01 +0300)]
corbbtprof: set byte alignment for CORBBTPROF structures (#25816)

Fix patch fixes SIGBUG that occurs due to unaligned read/write

5 years agoFail to explicitly tail call on x86 unix. (#25032)
Jarret Shook [Fri, 19 Jul 2019 04:07:08 +0000 (21:07 -0700)]
Fail to explicitly tail call on x86 unix. (#25032)

* Fail to explicitly tail call on x86 unix.

* Correctly return 100

* Correct return value

* Add noway assert in morphTailCall to avoid morphing slow tail calls on unix.

* Address feedback

5 years agoUse regular static variable for EEConfig storage (#25479)
Jan Kotas [Fri, 28 Jun 2019 20:31:19 +0000 (13:31 -0700)]
Use regular static variable for EEConfig storage (#25479)

Fixes #25475

5 years ago[Tizen] Add FEATURE_NGEN_RELOCS_OPTIMIZATIONS=true as default value for arm in spec...
Gleb Balykov [Fri, 2 Aug 2019 15:42:16 +0000 (18:42 +0300)]
[Tizen] Add FEATURE_NGEN_RELOCS_OPTIMIZATIONS=true as default value for arm in spec file

5 years ago[Tizen] Disable jithost arena cache
Gleb Balykov [Fri, 2 Aug 2019 14:28:27 +0000 (17:28 +0300)]
[Tizen] Disable jithost arena cache

5 years ago[Tizen] Fix x86 build error: 11 enumeration values not handled in switch
Gleb Balykov [Fri, 2 Aug 2019 13:52:08 +0000 (16:52 +0300)]
[Tizen] Fix x86 build error: 11 enumeration values not handled in switch

5 years ago[Tizen] Fix gbs build
Gleb Balykov [Fri, 2 Aug 2019 08:48:29 +0000 (11:48 +0300)]
[Tizen] Fix gbs build

5 years ago[Tizen] Add BuildTools for v3.0.0-preview7.19327.2
Gleb Balykov [Wed, 31 Jul 2019 14:37:52 +0000 (17:37 +0300)]
[Tizen] Add BuildTools for v3.0.0-preview7.19327.2

5 years ago[Tizen] Disable IBC Logger as a default
DongHeon Jung [Thu, 18 Jul 2019 08:28:55 +0000 (17:28 +0900)]
[Tizen] Disable IBC Logger as a default

- Profile information is collected by ibc logger.
  Hower it is not used and saved into profile file.
- The patch disables IBC logger which is enabled by default.
- It disables IBC logger only with ibclogger.h file.
  IBCLOGGER_ENABLED definition is only used in ibclogger files.

5 years agoFix a build error when IBCLOGGER_ENABLED is not defined (#25691)
Dong-Heon Jung [Wed, 17 Jul 2019 03:09:40 +0000 (12:09 +0900)]
Fix a build error when IBCLOGGER_ENABLED is not defined (#25691)

- Even if DACCESS_COMPILE or CROSSGEN_COMPILE is defined,
  coreclr can be built without IBCLOGGER_ENABLED definition.

5 years ago[Tizen] Define -DHAS_ADDRESS_SANITIZER for ASan build
Slava Barinov [Thu, 11 Jul 2019 13:25:46 +0000 (16:25 +0300)]
[Tizen] Define -DHAS_ADDRESS_SANITIZER for ASan build

This define turns on new and delete operators compatibility mode for build with
Address Sanitizer. It allows Tizen libasan to intercept operators and prevents
alloc-dealloc-mismatch errors.

Change-Id: If72b1d42dd99eaaf11d3cb1232006ee0e2e411c3
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
5 years ago[Tizen] Revert lockfiles creation.
Woongsuk Cho [Mon, 15 Apr 2019 00:53:43 +0000 (09:53 +0900)]
[Tizen] Revert lockfiles creation.

directory creation for coreclr will be handled by dotnet-launcher
Revert previous patch.

5 years ago[Tizen] Remove -DFEATURE_GDBJIT=TRUE from spec file
Hyungju Lee [Wed, 3 Jul 2019 11:00:57 +0000 (20:00 +0900)]
[Tizen] Remove -DFEATURE_GDBJIT=TRUE from spec file

Change-Id: Ic0b8bfc8ab45284ecda5ab99e683224368e607f5

5 years ago[Tizen] Update Openssl version 1.0 to 1.1
Hyungju Lee [Mon, 17 Jun 2019 11:25:37 +0000 (20:25 +0900)]
[Tizen] Update Openssl version 1.0 to 1.1

Change-Id: Id37364dd5dec17ab5a7b60e14df78a4967b3f3b8

5 years ago[Tizen] Enable PGO for Linux/arm
Konstantin Baladurin [Thu, 18 Apr 2019 09:29:56 +0000 (12:29 +0300)]
[Tizen] Enable PGO for Linux/arm

5 years ago[Tizen] seperate PIC and PIE to fix x86_64 build error
Woongsuk Cho [Thu, 9 May 2019 09:02:22 +0000 (18:02 +0900)]
[Tizen] seperate PIC and PIE to fix x86_64 build error

5 years agoRevert "[Tizen] Exclude x86_64 build"
Hyungju Lee [Thu, 9 May 2019 05:53:19 +0000 (14:53 +0900)]
Revert "[Tizen] Exclude x86_64 build"

This reverts commit 546d7a1519cc81d98f2dadb5f2191c5a62e6f735.

Policy for arch build is cleared.
- In Public, unified builds each arch and they are independent.
- In SPIN, turn on and off each arch by necessity.

5 years ago[Tizen] Exclude x86_64 build
Hyungju Lee [Wed, 8 May 2019 09:05:38 +0000 (18:05 +0900)]
[Tizen] Exclude x86_64 build

Change-Id: I3c0fc85b839b55170fb177c4ac0cdd15dd063f5c

5 years ago[Tizen] Add a library to retrieve memory regions for a coredump
Mateusz Moscicki [Wed, 10 Apr 2019 09:40:33 +0000 (11:40 +0200)]
[Tizen] Add a library to retrieve memory regions for a coredump

This is needed to save a minicoredump of .NET applications to allows
reconstruct managed stack by lldb and SOS plugin.

5 years agoRevert "[Tizen] create .dotnet directory to skel"
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Mon, 8 Apr 2019 04:42:17 +0000 (13:42 +0900)]
Revert "[Tizen] create .dotnet directory to skel"

This reverts commit 26cdef6a45e6fb2c81fcbaf18be638f848525322.

5 years ago[Tizen] update cscope files to be ignored
Hyungju Lee [Wed, 13 Mar 2019 00:28:54 +0000 (09:28 +0900)]
[Tizen] update cscope files to be ignored

Change-Id: Ia0e1c6aa651c4fd88dc58b901729896a7a27681d

5 years ago[Tizen] create .dotnet directory to skel
Woongsuk Cho [Thu, 4 Apr 2019 01:23:44 +0000 (10:23 +0900)]
[Tizen] create .dotnet directory to skel

5 years ago[Tizen] create "/tmp/.dotnet/lockfiles" directory while system bootup.
Woongsuk Cho [Thu, 10 Jan 2019 10:38:05 +0000 (19:38 +0900)]
[Tizen] create "/tmp/.dotnet/lockfiles" directory while system bootup.

If "/tmp/.dotnet/lockfiles" directory does not exist, a directory is created when the first named mutex file is created.
The generated directory has the smack label of the process that created it.
Therefore, access deny occurs when another application tries to access the directory to create or use a named mutex.

To solve this problem, create "/tmp/.dotnet/lockfiles" directory in the tempfs while system boot up

5 years ago[Tizen] Change paths to ilasm/ildasm
swift.kim [Mon, 12 Nov 2018 08:26:48 +0000 (17:26 +0900)]
[Tizen] Change paths to ilasm/ildasm

5 years ago[Tizen] Rearrange executables among rpm pkgs
Hyungju Lee [Fri, 12 Oct 2018 02:13:04 +0000 (11:13 +0900)]
[Tizen] Rearrange executables among rpm pkgs

- `corerun` and `coreconsole` to `devel` pkg
- remove `extra` pkg and move symlinks in it.

Change-Id: I99cd26121d3c83242caf6f2418d686b3ffcc2828

5 years ago[Tizen] Enable RELRO protection
junghyuk.park [Wed, 25 Jul 2018 09:26:25 +0000 (18:26 +0900)]
[Tizen] Enable RELRO protection

5 years ago[Tizen] Add crossgen and coreconsole to coreclr package
junghyuk.park [Tue, 24 Jul 2018 04:21:26 +0000 (13:21 +0900)]
[Tizen] Add crossgen and coreconsole to coreclr package

- The coreclr-extra package is going to be eliminated soon.
- Symlinks to crossgen and coreconsole are created temporarily for graceful migration

5 years ago[Tizen] Provide symlinks to .NET version for compatibility
junghyuk.park [Thu, 12 Jul 2018 23:19:24 +0000 (08:19 +0900)]
[Tizen] Provide symlinks to .NET version for compatibility

This commit will be reverted soon when all dependent modules watch the symlink at '/usr/share/dotnet.tizen/netcoreapp'.

Change-Id: Ib2ebf62a5788e225a9e3354f53fadde282708700

5 years ago[Tizen] Add skipped testcase: superpmi
Hyeongseok Oh [Mon, 26 Jun 2017 07:12:08 +0000 (16:12 +0900)]
[Tizen] Add skipped testcase: superpmi

Skip JIT/superpmi/superpmicollect/superpmicollect.sh

5 years ago[Tizen] Add skipped testcase on TM1
Jiyoung Yun [Tue, 20 Jun 2017 06:09:10 +0000 (15:09 +0900)]
[Tizen] Add skipped testcase on TM1

Lists:
JIT.jit64.opt.cse.hugeSimpleExpr1.hugeSimpleExpr1
GC.Regressions.v2.0-rtm.494226.494226.494226
GC.Scenarios.ServerModel.servermodel.servermodel
JIT.jit64.opt.cse.HugeField1.HugeField1
JIT.jit64.opt.cse.HugeField2.HugeField2
JIT.jit64.opt.cse.hugeexpr1.hugeexpr1

5 years agoFix OOPStackUnwinderX86::Unwind crash when Eip is invalid
Igor Kulaychuk [Wed, 25 Apr 2018 18:31:59 +0000 (21:31 +0300)]
Fix OOPStackUnwinderX86::Unwind crash when Eip is invalid

5 years agoFix EECodeManager::GetAmbientSP on x86/Linux
Igor Kulaychuk [Fri, 20 Apr 2018 20:52:57 +0000 (23:52 +0300)]
Fix EECodeManager::GetAmbientSP on x86/Linux

5 years ago[Tizen] Provide a symlink to installed Microsoft.NETCore.App version
junghyuk.park [Wed, 4 Jul 2018 23:08:50 +0000 (08:08 +0900)]
[Tizen] Provide a symlink to installed Microsoft.NETCore.App version

The symlink is added to provide consistent access to installed Microsoft.NETCore.App version.
'/usr/share/dotnet.tizen/netcoreapp' is linked to '/usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.0'.

5 years ago[Tizen] Add -pie to linker option
Hyungju Lee [Mon, 2 Jul 2018 00:28:08 +0000 (09:28 +0900)]
[Tizen] Add -pie to linker option

There have been no -pie linker option.
This patch adds -pie linker option into crossgen(for tizen)

This originates from 0024-Add-pie-to-linker-option.patch

5 years ago[Tizen] Enable -O3 optimization in clang 3.8
junghyuk.park [Mon, 25 Jun 2018 10:01:00 +0000 (19:01 +0900)]
[Tizen] Enable -O3 optimization in clang 3.8

5 years ago[Tizen] Add support for GBS
junghyuk.park [Mon, 25 Jun 2018 09:47:41 +0000 (18:47 +0900)]
[Tizen] Add support for GBS

5 years ago[Tizen] Add BuildTools 3.0.0-preview1-03617-02
Konstantin Baladurin [Wed, 30 Jan 2019 16:32:01 +0000 (19:32 +0300)]
[Tizen] Add BuildTools 3.0.0-preview1-03617-02

5 years ago[Tizen] Add prebuilt libicu-57.1 libraries
junghyuk.park [Mon, 25 Jun 2018 07:03:57 +0000 (16:03 +0900)]
[Tizen] Add prebuilt libicu-57.1 libraries

5 years agoMerge pull request #25455 from dotnet/darc-release/3.0-7b624a21-2f92-409c-9902-75d5b2...
William Godbe [Thu, 27 Jun 2019 23:58:01 +0000 (16:58 -0700)]
Merge pull request #25455 from dotnet/darc-release/3.0-7b624a21-2f92-409c-9902-75d5b2b62c49

[release/3.0] Update dependencies from dotnet/arcade

5 years agoReact to new compiler nullability warnings
Santiago Fernandez Madero [Thu, 27 Jun 2019 17:39:13 +0000 (10:39 -0700)]
React to new compiler nullability warnings

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190626.44
dotnet-maestro [Thu, 27 Jun 2019 17:38:54 +0000 (17:38 +0000)]
Update dependencies from https://github.com/dotnet/arcade build 20190626.44

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19326.44
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19326.44
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19326.44
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19326.44

5 years agoMerge pull request #25439 from dotnet-maestro-bot/merge/master-to-release/3.0
William Godbe [Thu, 27 Jun 2019 05:11:03 +0000 (22:11 -0700)]
Merge pull request #25439 from dotnet-maestro-bot/merge/master-to-release/3.0

[automated] Merge branch 'master' => 'release/3.0'

5 years agoHardcode LKG version of ucrtbased.dll (#25444)
William Godbe [Thu, 27 Jun 2019 03:41:42 +0000 (20:41 -0700)]
Hardcode LKG version of ucrtbased.dll (#25444)

* Hardcode LKG version of ucrtbased.dll

* Only use hardcoded UCRT version when search path fails

* Add missing single-quotes

5 years agoFix EncoderNLS / DecoderNLS regression in reporting error index (#25397)
Levi Broderick [Wed, 26 Jun 2019 22:05:53 +0000 (15:05 -0700)]
Fix EncoderNLS / DecoderNLS regression in reporting error index (#25397)

Also fixes incorrect asserts in the Encoding type

5 years agoMerge branch 'release/3.0' into merge/master-to-release/3.0
William Godbe [Wed, 26 Jun 2019 19:24:02 +0000 (12:24 -0700)]
Merge branch 'release/3.0' into merge/master-to-release/3.0

5 years ago[master] Update dependencies from dotnet/corefx (#25425)
dotnet-maestro[bot] [Wed, 26 Jun 2019 18:53:11 +0000 (11:53 -0700)]
[master] Update dependencies from dotnet/corefx (#25425)

* Update dependencies from https://github.com/dotnet/corefx build 20190626.2

- Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview7.19326.2
- Microsoft.NETCore.Platforms - 3.0.0-preview7.19326.2
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview7.19326.2

* Reenable globalization tests

5 years agoTweak some annotations on EventRegistrationTokenTable<T> (#25386)
Santiago Fernandez Madero [Wed, 26 Jun 2019 17:54:35 +0000 (10:54 -0700)]
Tweak some annotations on EventRegistrationTokenTable<T> (#25386)

5 years agoDelegate inspection API in the DBI (#25362)
Juan Hoyos [Wed, 26 Jun 2019 17:11:56 +0000 (10:11 -0700)]
Delegate inspection API in the DBI (#25362)

* Add ICorDebugDelegateObjectValue interfaces
* Expose appropriate HR (CORDBG_E_UNSUPPORTED_DELEGATE)
* Partially DACize DelegateObject
* Add DacDbi method for delegate inspection

5 years agoMerge pull request #25326 from BruceForstall/CrossPlatTestHost
Bruce Forstall [Wed, 26 Jun 2019 16:49:21 +0000 (09:49 -0700)]
Merge pull request #25326 from BruceForstall/CrossPlatTestHost

Expand corefx testing in coreclr repo

Currently, corefx testing is done on Windows/x64.
Expand testing to include:
1. Linux/x64, Linux/arm, Linux/arm64, Windows/x86 platforms.
   Windows/arm should be added after corefx official builds
   publish tests and test manifest. Windows/arm64 should be
   added after corefx tests are published, and we have
   sufficient hardware.
2. All JIT stress modes that are used in normal coreclr testing.

Testing is split into 4 Azure DevOps Pipelines: coreclr-corefx,
coreclr-corefx-jitstress, coreclr-corefx-jitstressregs, and
coreclr-corefx-jitstress2-jitstressregs.

In addition, we now use the corefx meta-package Microsoft.Private.CoreFx.OOB
instead of a list of individual assemblies when constructing
the testhost.

5 years agoFix disabling wrong session on EventPipe::Shutdown (#25409)
José Rivero [Wed, 26 Jun 2019 16:45:47 +0000 (09:45 -0700)]
Fix disabling wrong session on EventPipe::Shutdown (#25409)

- It's safe to call EventPipe::Disable during shutdown (eventpipe being disabled)

5 years agoFixes link to install SOS on linux (#25420)
Rafael Lillo [Wed, 26 Jun 2019 15:31:16 +0000 (16:31 +0100)]
Fixes link to install SOS on linux (#25420)

5 years agoDon't show AggressiveInlining items in exception stacks (#25408)
Ben Adams [Wed, 26 Jun 2019 12:55:14 +0000 (14:55 +0200)]
Don't show AggressiveInlining items in exception stacks (#25408)

5 years agoReverting the ShouldRoundUp logic to not change for custom numeric format strings...
Tanner Gooding [Wed, 26 Jun 2019 05:36:36 +0000 (22:36 -0700)]
Reverting the ShouldRoundUp logic to not change for custom numeric format strings. (#25400)

5 years agoFix incorrect signature of QCall (#25419)
Mukul Sabharwal [Wed, 26 Jun 2019 05:00:28 +0000 (22:00 -0700)]
Fix incorrect signature of QCall (#25419)

5 years agoFix LTTng filtering for runtime providers (#25374)
Sung Yoon Whang [Wed, 26 Jun 2019 04:03:04 +0000 (21:03 -0700)]
Fix LTTng filtering for runtime providers (#25374)

* LTTng filtering

* Fix Windows build, make IsInitialized check faster

* Cleanup/change default to no keywords/level set

* Keep the default to be the current policy - enable everything

* more cleanup

* No need to check for initialization

* Fix Windows build

5 years agoTell the compiler to emit nullable attributes for public API only (#25398)
Santiago Fernandez Madero [Wed, 26 Jun 2019 03:19:28 +0000 (20:19 -0700)]
Tell the compiler to emit nullable attributes for public API only (#25398)

5 years agoFix ReJIT failures (#25377)
David Mason [Wed, 26 Jun 2019 03:15:02 +0000 (20:15 -0700)]
Fix ReJIT failures (#25377)

5 years agoemit rundown event for generic methods in R2R images (#25371)
David Mason [Wed, 26 Jun 2019 03:13:31 +0000 (20:13 -0700)]
emit rundown event for generic methods in R2R images (#25371)

* emit rundown event for generic methods in R2R images

* fix mac build

* Code Review Feedback

5 years agoExpand corefx testing in coreclr repo
Bruce Forstall [Thu, 20 Jun 2019 20:05:53 +0000 (13:05 -0700)]
Expand corefx testing in coreclr repo

Currently, corefx testing is done on Windows/x64.
Expand testing to include:
1. Linux/x64, Linux/arm, Linux/arm64, Windows/x86 platforms.
   Windows/arm should be added after corefx official builds
   publish tests and test manifest. Windows/arm64 should be
   added after corefx tests are published, and we have
   sufficient hardware.
2. All JIT stress modes that are used in normal coreclr testing.

Testing is split into 4 Azure DevOps Pipelines: coreclr-corefx,
coreclr-corefx-jitstress, coreclr-corefx-jitstressregs, and
coreclr-corefx-jitstress2-jitstressregs.

In addition, we now use the corefx meta-package Microsoft.Private.CoreFx.OOB
instead of a list of individual assemblies when constructing
the testhost.

5 years agoRemove the Crossgen-specific VSD flag from R2RDump (#25391)
Tomáš Rylek [Wed, 26 Jun 2019 00:27:50 +0000 (17:27 -0700)]
Remove the Crossgen-specific VSD flag from R2RDump (#25391)

Based on JanK's advice I have removed the VSD flag from R2RDump.
The flag should get never observed by the dump tool as it's just
an intermediate contract internal to the Crossgen ZAP logic.

Thanks

Tomas

5 years agoDelete DeserializationBlockedException (#25393)
Jan Kotas [Wed, 26 Jun 2019 00:24:40 +0000 (17:24 -0700)]
Delete DeserializationBlockedException (#25393)

Contributes to dotnet/corefx#36723

5 years agoPolicheck comment adjustment
Noah Falk [Tue, 25 Jun 2019 23:33:08 +0000 (16:33 -0700)]
Policheck comment adjustment

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190624.8 (#25379)
dotnet-maestro[bot] [Tue, 25 Jun 2019 23:04:19 +0000 (16:04 -0700)]
Update dependencies from https://github.com/dotnet/corefx build 20190624.8 (#25379)

- Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview7.19324.8
- Microsoft.NETCore.Platforms - 3.0.0-preview7.19324.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview7.19324.8

5 years agoReact to compiler respecting nullable attributes on properties
Stephen Toub [Tue, 25 Jun 2019 19:12:08 +0000 (15:12 -0400)]
React to compiler respecting nullable attributes on properties

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190624.24
dotnet-maestro [Tue, 25 Jun 2019 12:20:07 +0000 (12:20 +0000)]
Update dependencies from https://github.com/dotnet/arcade build 20190624.24

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19324.24
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19324.24
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19324.24
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19324.24

5 years agoMake sure EventPipeProvider::m_keywords is accurate after EventPipeConfiguration...
Andrew Au [Tue, 25 Jun 2019 20:36:18 +0000 (13:36 -0700)]
Make sure EventPipeProvider::m_keywords is accurate after EventPipeConfiguration::Disable (#25358)

5 years agoJitBench: Run PowerShell with an execution policy (#25259)
Michal Strehovský [Tue, 25 Jun 2019 20:25:02 +0000 (22:25 +0200)]
JitBench: Run PowerShell with an execution policy (#25259)

PowerShell is useless without this argument in default Windows configurations.

5 years agoMap C Locale to Invariant (#25373)
Tarek Mahmoud Sayed [Tue, 25 Jun 2019 20:23:56 +0000 (13:23 -0700)]
Map C Locale to Invariant (#25373)

ICU map the C locale to en-US_POSIX which has a non desired collation behavior as it doesn't support case insensitive comparison.
This change is to force mapping C locale to Invariant instead.

5 years agoUpdating the zapper to filter out some named intrinsics which are dependent on the...
Tanner Gooding [Tue, 25 Jun 2019 20:23:33 +0000 (13:23 -0700)]
Updating the zapper to filter out some named intrinsics which are dependent on the ISAs supported by the target CPU. (#25365)

5 years agoFix StackChange value for OpCodes.Stelem (#25382)
Jan Kotas [Tue, 25 Jun 2019 20:22:23 +0000 (13:22 -0700)]
Fix StackChange value for OpCodes.Stelem (#25382)

Fixes dotnet/corefx#37955

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190624.03 ...
dotnet-maestro[bot] [Tue, 25 Jun 2019 20:18:59 +0000 (13:18 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190624.03 (#25380)

- Microsoft.NETCore.App - 3.0.0-preview7-27824-03

5 years agoAdd pr.yml ci.yml internal.yml pipelines to /eng/pipelines (#25385)
Egor Chesakov [Tue, 25 Jun 2019 19:59:49 +0000 (12:59 -0700)]
Add pr.yml ci.yml internal.yml pipelines to /eng/pipelines (#25385)

5 years agoRemove outputPath parameter for EventPipe IPC protocol (#25363)
John Salem [Tue, 25 Jun 2019 19:39:16 +0000 (12:39 -0700)]
Remove outputPath parameter for EventPipe IPC protocol (#25363)

5 years agoFix StackFrameIterator::IsValid check race (#25359)
Jan Vorlicek [Tue, 25 Jun 2019 19:32:47 +0000 (21:32 +0200)]
Fix StackFrameIterator::IsValid check race (#25359)

* Fix StackFrameIterator::IsValid check race

During GC stress >= 4, there could be a race when we would compute
bRedirectedPinvoke as false, but before the condition of the following
_ASSERTE is evaluated, the thread that is being walked pushes a
ResumableFrame to the explicit frames stack of that thread in the GC
marker handler.

The fix to prevent this race is to evaluate all the conditions that
formed the bRedirectedPinvoke after the conditions in the _ASSERTE.

5 years agoAdd a note about ReadyToRun to ManagedNativeHeader
Omair Majid [Tue, 25 Jun 2019 00:41:13 +0000 (20:41 -0400)]
Add a note about ReadyToRun to ManagedNativeHeader

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Tue, 25 Jun 2019 17:27:17 +0000 (10:27 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190624.3 (#25381)

- optimization.IBC.CoreCLR - 99.99.99-master-20190624.3
- optimization.PGO.CoreCLR - 99.99.99-master-20190624.3

5 years agoStop deallocating provider/events on shutdown (#25369)
José Rivero [Tue, 25 Jun 2019 14:24:43 +0000 (07:24 -0700)]
Stop deallocating provider/events on shutdown (#25369)

5 years agoBrick table (#25349)
Peter Sollich [Tue, 25 Jun 2019 13:55:05 +0000 (15:55 +0200)]
Brick table (#25349)

Fix brick table logic to fix perf issue in several ASP.NET tests, remove #ifdef FFIND_OBJECT.

What I observed was that some GCs spent a lot of time in find_first_object called from find_object, which is called during stack scanning to find the containing object for interior pointers. A substantial fraction of generation 0 was being scanned, indicating that the brick table logic didn't work properly in these cases.

The root cause was the fact that the brick table entries were not being set in adjust_limit_clr if the allocation was satisfied from the free list in gen0 instead of newly allocated space. This is the case if there are pinned objects in gen0 as well.

The main fix is in adjust_limit_clr - if the allocation is satisfied from the freelist, seg is nullptr, the change is to set the bricks in this case as well if we are allocating in gen0 and the allocated piece is above a reasonable size threshold.

The bricks are not set always set during allocation - instead, when we detect an interior pointer during GC, we make the allocator set the bricks during the next GC cycles by setting gen0_must_clear_bricks. I changed the way this is handled for server GC (multiple heaps). We used to multiply the decay time by the number of heaps (gc_heap::n_heaps), but only applied it to the single heap where an interior pointer was found. Instead, I think it's better to instead set gen0_must_clear_bricks for all heaps, but leave the decay time unchanged compared to workstation GC.

Maoni suggested to remove the #ifdef FFIND_OBJECT - interior pointers are not going away, so the #ifdefs are unnecessary clutter.

Addressed code review feedback:
 - add parentheses as per GC coding conventions
 - use max instead of if-statement
 - merge body of for-loop over all into existing for-loop

5 years agoFix broken ETW events (#25364)
Sung Yoon Whang [Tue, 25 Jun 2019 09:47:48 +0000 (02:47 -0700)]
Fix broken ETW events (#25364)

5 years agoMake s_numberOfSessions Volatile as advertisement to other devs that the data is...
José Rivero [Tue, 25 Jun 2019 03:31:14 +0000 (20:31 -0700)]
Make s_numberOfSessions Volatile as advertisement to other devs that the data is being used across multiple threads and a portion of that usage is lock-free (#25366)

5 years agoEvents with keyword 0 needs to be fired (#25361)
Sung Yoon Whang [Tue, 25 Jun 2019 00:36:54 +0000 (17:36 -0700)]
Events with keyword 0 needs to be fired (#25361)

5 years agoAddress last round of nullable feedback - S.Resources.ResourceManager, System.Reflect...
Santiago Fernandez Madero [Tue, 25 Jun 2019 00:11:32 +0000 (19:11 -0500)]
Address last round of nullable feedback - S.Resources.ResourceManager, System.Reflection.Emit and ILGeneration (#25318)

* Address nullable feedback for System.Resources.ResourceManager

* Address nullable feedback for System.Reflection.Emit.ILGeneration

* Address nullable feedback for System.Reflection.Emit

* PR Feedback and clean-up redundant casts

5 years agoAdd /eng/pipelines/*.yml (#25325)
Egor Chesakov [Tue, 25 Jun 2019 00:09:14 +0000 (17:09 -0700)]
Add /eng/pipelines/*.yml (#25325)

5 years agoThrow platform unsupported error for windows arm32 varargs (#25320)
Jarret Shook [Mon, 24 Jun 2019 23:18:14 +0000 (16:18 -0700)]
Throw platform unsupported error for windows arm32 varargs (#25320)

* Throw unsupported platform for native vcarargs on Arm32 Windows

* Re-enable baseservices vararg test

5 years agoUpdating Dragon4 to ensure the number buffer always provides a significant digit...
Tanner Gooding [Mon, 24 Jun 2019 22:39:50 +0000 (15:39 -0700)]
Updating Dragon4 to ensure the number buffer always provides a significant digit if one exists. (#25096)

* Updating Dragon4 to ensure the number buffer always provides a significant digit if one exists.

* Changing System.Number.RoundNumber to not round up floating-point numbers.

* Re-enabling the RealFormatterTestsBase CoreFX tests

* Updating Number.RoundNumber to take a isCorrectlyRounded parameter and to use IEEE compliant rounding for floating-point numbers.

* Change SinglePrecisionCustomFormat to 7, ensuring it matches the value used in netcoreapp2.1

5 years agoSwitch from IndexOf(string) to Contains(string) for better readability and performanc...
Andrii Siriak [Fri, 21 Jun 2019 22:25:09 +0000 (01:25 +0300)]
Switch from IndexOf(string) to Contains(string) for better readability and performance (#38757)

* Fix performance IndexOf(string) -> Contains(string)

* Make comparison ordinal

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMake Vector*.ToString() Culture invariant (#25343)
Ganbarukamo41 [Mon, 24 Jun 2019 19:44:50 +0000 (04:44 +0900)]
Make Vector*.ToString() Culture invariant (#25343)

* Remove IFormattable
* Hardcode characters
* Add tests

5 years agoMultiple bug fixes (#25308)
José Rivero [Mon, 24 Jun 2019 19:18:54 +0000 (12:18 -0700)]
Multiple bug fixes (#25308)

- Fixes EventPipe does not properly dispose of itself on an active session error #25228
  - On EventPipeSession::ThreadProc, if an error occurs on the IPC streaming, then EventPipe::Disable will be invoked.
- Fixes Prevent EventPipe Sessions IDs from being reused on disconnect #25229

5 years agoRemove AggressiveOptimization flag from System.Text (#25356)
Michal Strehovský [Mon, 24 Jun 2019 19:17:01 +0000 (21:17 +0200)]
Remove AggressiveOptimization flag from System.Text (#25356)

Based on conversation with Levi, I don't think this flag is needed.

The flag currently controls two things:
* Disqualifies the method from precompilation
* Disables Tier-0 JIT for the method

Removing the attribute allows us to precompile some of the methods (not all, because of `Vector<T>`). It measurably helps improve startup time because many of the attributed methods are complex and take a while to compile.

Once tier-1 JIT kicks in, the generated code should be identical to what we were getting before.

5 years agoJIT: see if jmp offset will fit in 32 bit displacement (#25348)
Andy Ayers [Mon, 24 Jun 2019 18:19:58 +0000 (11:19 -0700)]
JIT: see if jmp offset will fit in 32 bit displacement (#25348)

On x86 we can always reach any IAT_PVALUE entry via a 32 bit indirect
jump, and proper handling of jmp epilogs depends on this. So check if the
target address is reachable in 32 bits, and if so, use the jmp [addr] form
on x86, and the jmp [rip + disp] form for x64.

Fixes #25345
Fixes #25346
Undoes the assertion change from #25302
Fixes #25286

5 years agoUpdate R2R format doc to 3.0 (#25297)
Tomáš Rylek [Mon, 24 Jun 2019 18:06:42 +0000 (11:06 -0700)]
Update R2R format doc to 3.0 (#25297)

I have updated the various enumerations and tables. I didn't try
to go overboard w.r.t. understanding tables I'm not yet familiar
with, most notably the diagnostic, inlining and profiling tables.

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Mon, 24 Jun 2019 14:49:06 +0000 (07:49 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190624.1 (#25354)

- optimization.IBC.CoreCLR - 99.99.99-master-20190624.1
- optimization.PGO.CoreCLR - 99.99.99-master-20190624.1