platform/upstream/dotnet/runtime.git
8 years agoMerge pull request dotnet/coreclr#5436 from joperezr/DisableNativeResourceCompileForM...
Jose Perez Rodriguez [Fri, 3 Jun 2016 16:09:15 +0000 (09:09 -0700)]
Merge pull request dotnet/coreclr#5436 from joperezr/DisableNativeResourceCompileForManagedCode

Disabling NativeResourceCompile Target for Managed libraries

Commit migrated from https://github.com/dotnet/coreclr/commit/9e08919cc925572f30dfc2e33a4e4c80252748b2

8 years agoFix readytorun tests asking for user input (dotnet/coreclr#5459)
mkborg [Fri, 3 Jun 2016 14:20:06 +0000 (18:20 +0400)]
Fix readytorun tests asking for user input (dotnet/coreclr#5459)

'readytorun/mainv1' and 'readytorun/mainv2' tests on Linux wait for human
response asking permission to remove write-protected file:

    rm: remove write-protected regular file 'test.dll'?

'rm' command shall be used with '-f' flag to make it non-interactive.

Commit migrated from https://github.com/dotnet/coreclr/commit/eff95d6573e851363480919b23dc3850aaca27e5

8 years agoFix CFI annotation of AMD64 assembler helpers on Unix (dotnet/coreclr#5446)
Jan Vorlicek [Fri, 3 Jun 2016 10:57:16 +0000 (12:57 +0200)]
Fix CFI annotation of AMD64 assembler helpers on Unix (dotnet/coreclr#5446)

This change fixes annotations of AMD64 assembler helpers on Unix. The helpers that
don't use RBP as a stack frame were missing setting the RSP as a CFA register and
unwinding through them was failing.
This was hit in R2R scenarios, with the DelayLoad_Helper_Obj not being unwindable.

Commit migrated from https://github.com/dotnet/coreclr/commit/80835e869ac8987eba2ef03c70f570224af33331

8 years agoAvoid calling prestub through wrong MethodDesc (dotnet/coreclr#5439)
John Chen [Fri, 3 Jun 2016 04:59:01 +0000 (21:59 -0700)]
Avoid calling prestub through wrong MethodDesc (dotnet/coreclr#5439)

While fixing up a call from a Ready-to-Run method, we don't always
have the right implementation MethodDesc for the target of the call.
Thus it is potentially unsafe to DoPrestub using the MethodDesc we have,
causing a test failue (Loader.classloader_regressions_429802_CMain)
in issue dotnet/coreclr#5366. This is fixed by not calling DoPrestub from
ExternalMethodFixupWorker.

Commit migrated from https://github.com/dotnet/coreclr/commit/4e4cac8c302b0ab6709cdc2f737a0370ca5b0026

8 years agoLinux/ARM: Support -O3 optimization level in release build (dotnet/coreclr#5396)
Geunsik Lim [Fri, 3 Jun 2016 01:43:31 +0000 (10:43 +0900)]
Linux/ARM: Support -O3 optimization level in release build (dotnet/coreclr#5396)

Currently, we can build coreclr with -O1 flag of clang in release
build mode for Linux/ARM. This instruction is to enable -O3 optimization
level of clang on ARM/Linux by fixing the bug of llvm.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/9efbb7a70061c7f68f1c1922daa3a0a7cc67f3b1

8 years agoMerge pull request dotnet/coreclr#5443 from swaroop-sridhar/CDTver
Swaroop Sridhar [Fri, 3 Jun 2016 01:40:43 +0000 (18:40 -0700)]
Merge pull request dotnet/coreclr#5443 from swaroop-sridhar/CDTver

CoreDisTools Package: Make minor version generic

Commit migrated from https://github.com/dotnet/coreclr/commit/7db46aa25015c9804ceecea72915bd24eb69a8cb

8 years agoMerge pull request dotnet/coreclr#5402 from AndyAyersMS/InlineAllowCpBlk
Andy Ayers [Fri, 3 Jun 2016 01:23:05 +0000 (18:23 -0700)]
Merge pull request dotnet/coreclr#5402 from AndyAyersMS/InlineAllowCpBlk

Inliner: enable inlining of methods with cpblk

Commit migrated from https://github.com/dotnet/coreclr/commit/349eb35454ed774fadd11e1fb91b69f3fa3f1e3f

8 years agoCoreDisTools Package: Make minor version generic
Swaroop Sridhar [Thu, 2 Jun 2016 23:29:11 +0000 (16:29 -0700)]
CoreDisTools Package: Make minor version generic

Change the version requirement of CoreDisTools package
from 1.0.1-prerelease-00001 to 1.0.1-prerelease-*
so that the test infrastructure picks up the latest
available version.

If only the 1.0.1-prerelease-xxxxx number changes,
there is no change in the library API. There may be
a change in the implementation.

The current need for this change is that we need to pick up
a new version of the CoreDisTools package (with an
implementation fix) for X86 testing.

Commit migrated from https://github.com/dotnet/coreclr/commit/385b282e79d186363d4ef58bbe7d5e4bf371a8d4

8 years agoMerge pull request dotnet/coreclr#5433 from jashook/abs_single
Jarret Shook [Thu, 2 Jun 2016 22:39:43 +0000 (15:39 -0700)]
Merge pull request dotnet/coreclr#5433 from jashook/abs_single

Disable perf_codequality_math_functions

Commit migrated from https://github.com/dotnet/coreclr/commit/a53a9eb2da782630f80e5f6afcf89c6cf5ea5ab5

8 years agoDisabling NativeResourceCompile Target for Managed libraries
Jose Perez Rodriguez [Thu, 2 Jun 2016 22:38:59 +0000 (15:38 -0700)]
Disabling NativeResourceCompile Target for Managed libraries

Commit migrated from https://github.com/dotnet/coreclr/commit/55cc2155b465c73552153b1528d89f684b35a0ae

8 years agoDisable perf_codequality_math_functions
Jarret Shook [Thu, 2 Jun 2016 22:22:29 +0000 (15:22 -0700)]
Disable perf_codequality_math_functions

abssingle relies on a certain level of floating point precision and fails if the diff is outside of that precision.

Commit migrated from https://github.com/dotnet/coreclr/commit/0aedd275f24b16b5b3d23f11e7749b6e451f0530

8 years agoMerge pull request dotnet/coreclr#5411 from pgavlin/RVAStaticsUnix
Pat Gavlin [Thu, 2 Jun 2016 20:03:59 +0000 (20:03 +0000)]
Merge pull request dotnet/coreclr#5411 from pgavlin/RVAStaticsUnix

Disable RVA statics tests outside Windows.

Commit migrated from https://github.com/dotnet/coreclr/commit/465373e31780477054a3d0b013a94acb54ab0b59

8 years agoMerge pull request dotnet/coreclr#5417 from kyulee1/fixdetail
Kyungwoo Lee [Thu, 2 Jun 2016 19:46:45 +0000 (12:46 -0700)]
Merge pull request dotnet/coreclr#5417 from kyulee1/fixdetail

Fix Details for ILAsm/ILDasm/ClrJit Binaries

Commit migrated from https://github.com/dotnet/coreclr/commit/e3566bfa32fe9b9d4d5588e054405de12c7b7a5f

8 years agoFixing GUID_NULL. (dotnet/coreclr#5415)
Rajkumar Janakiraman [Thu, 2 Jun 2016 19:10:13 +0000 (12:10 -0700)]
Fixing GUID_NULL. (dotnet/coreclr#5415)

Commit migrated from https://github.com/dotnet/coreclr/commit/abb000b51a24500a575461e4a8707a326a232833

8 years agoMerge pull request dotnet/coreclr#5356 from swaroop-sridhar/Trap
Swaroop Sridhar [Thu, 2 Jun 2016 19:01:57 +0000 (12:01 -0700)]
Merge pull request dotnet/coreclr#5356 from swaroop-sridhar/Trap

GCStress: Fix a race-condition

Commit migrated from https://github.com/dotnet/coreclr/commit/2fc254794c9a31d02cd995df04176e64d0c13eeb

8 years agoMerge pull request dotnet/coreclr#5394 from erozenfeld/TailCallBug5164
Eugene Rozenfeld [Thu, 2 Jun 2016 18:46:43 +0000 (11:46 -0700)]
Merge pull request dotnet/coreclr#5394 from erozenfeld/TailCallBug5164

Fix for methods that tail call via helpers

Commit migrated from https://github.com/dotnet/coreclr/commit/f22b221718f3a243d4fc3fba4e037c2a9524718c

8 years agoFixing an error in PAL_pow that caused it to return an incorrect value for a couple...
Tanner Gooding [Thu, 2 Jun 2016 18:29:59 +0000 (11:29 -0700)]
Fixing an error in PAL_pow that caused it to return an incorrect value for a couple scenarios. (dotnet/coreclr#5399)

* Fixing an error in PAL_pow that caused it to return an incorrect value for a couple scenarios.

* Adding additional PAL_pow tests.

Commit migrated from https://github.com/dotnet/coreclr/commit/3d53df24c366c8f0c44196039279d34f78f72b3e

8 years agoFix Details for ILAsm/ILDasm/ClrJit Binaries
Kyungwoo Lee [Thu, 2 Jun 2016 17:02:58 +0000 (10:02 -0700)]
Fix Details for ILAsm/ILDasm/ClrJit Binaries

Fixes https://github.com/dotnet/coreclr/issues/5408

Commit migrated from https://github.com/dotnet/coreclr/commit/1bdc6eb40691b1fd0d19f5e137815d6bcfe359f5

8 years agoMerge pull request dotnet/coreclr#5409 from gkhanna79/FixDetails
Gaurav Khanna [Thu, 2 Jun 2016 16:21:07 +0000 (09:21 -0700)]
Merge pull request dotnet/coreclr#5409 from gkhanna79/FixDetails

Fix details for CoreCLR binary

Commit migrated from https://github.com/dotnet/coreclr/commit/7ba374cb4950e0c2ea8db5b982061dde99aef45a

8 years agoMerge pull request dotnet/coreclr#5400 from weshaggard/FixPackageLicenseFiles
Wes Haggard [Thu, 2 Jun 2016 15:38:14 +0000 (08:38 -0700)]
Merge pull request dotnet/coreclr#5400 from weshaggard/FixPackageLicenseFiles

Include license files into the packages

Commit migrated from https://github.com/dotnet/coreclr/commit/e98d181d8bfe87747b6ba1113235aadc30e2c18b

8 years agoDisable RVA statics tests outside Windows.
Pat Gavlin [Thu, 2 Jun 2016 15:21:13 +0000 (08:21 -0700)]
Disable RVA statics tests outside Windows.

These tests are not supported in general and are already disabled
for Windows. Disable them for *nix as well.

Commit migrated from https://github.com/dotnet/coreclr/commit/61b4e0c7868ade97112f4478b9a706b9feb3d197

8 years agoFix details for CoreCLR binary
Gaurav Khanna [Thu, 2 Jun 2016 14:07:50 +0000 (07:07 -0700)]
Fix details for CoreCLR binary

Commit migrated from https://github.com/dotnet/coreclr/commit/63b2e2f3d3fc4e4de5e4f81892706764b58cdebe

8 years agoEnable FEATURE_HIJACK for ARM (dotnet/coreclr#5404)
Jonghyun Park [Thu, 2 Jun 2016 13:57:13 +0000 (22:57 +0900)]
Enable FEATURE_HIJACK for ARM (dotnet/coreclr#5404)

Currently, FEATURE_HIJACK is disabled for ARM, and thus CoreCLR got
stuck if GC is invoked from JITed code.

This commit attempts to port FEATURE_HIJACK from ARM (windows) in order
to fix dotnet/coreclr#5403.

Commit migrated from https://github.com/dotnet/coreclr/commit/c4075441c86e1073e2f48e61be3ed5c58f6d27d0

8 years agoValidate new object construction in Ready to Run (dotnet/coreclr#5398)
John Chen [Thu, 2 Jun 2016 13:43:23 +0000 (06:43 -0700)]
Validate new object construction in Ready to Run (dotnet/coreclr#5398)

Existing Ready to Run implementation doesn't fully validate requests
to create object instances, and allows some invalidate requests (e.g.,
to create an instance of an abstract class). This causes failure of
test case Loader.classloader_generics_Instantiation_Negative_abstract01
in issue dotnet/coreclr#5366.

Commit migrated from https://github.com/dotnet/coreclr/commit/21751dbaa36ffb621e79b4cfeb5a7db00d397511

8 years agoInclude license files into the packages
Wes Haggard [Thu, 2 Jun 2016 06:14:13 +0000 (23:14 -0700)]
Include license files into the packages

Commit migrated from https://github.com/dotnet/coreclr/commit/404aa74cab266d8c701d46eb31a63b8a52dbf6d2

8 years agoMerge pull request dotnet/coreclr#5386 from briansull/arm32-hfa-fix
Brian Sullivan [Thu, 2 Jun 2016 02:49:53 +0000 (19:49 -0700)]
Merge pull request dotnet/coreclr#5386 from briansull/arm32-hfa-fix

Fix for HFA args on ARM32

Commit migrated from https://github.com/dotnet/coreclr/commit/98568fb845ccaa97e18433ac13741913d6c8ffec

8 years agoAdd limit to number of generics methods to compile by CrossGen (dotnet/coreclr#5383)
John Chen [Thu, 2 Jun 2016 01:36:23 +0000 (18:36 -0700)]
Add limit to number of generics methods to compile by CrossGen (dotnet/coreclr#5383)

Recursive generic definitions can easily make CrossGen take very
long time to complete. This is the cause of a failure in issue dotnet/coreclr#5366.
This is fixed by limiting the number of methods to compile by CrossGen.

Commit migrated from https://github.com/dotnet/coreclr/commit/4b7c2f4e64380e8286b9edc85ff477417bd62c54

8 years agoAdded additional fix for ARM32 in lvHfaSlots
Brian Sullivan [Thu, 2 Jun 2016 01:27:30 +0000 (18:27 -0700)]
Added additional fix for ARM32 in lvHfaSlots

Commit migrated from https://github.com/dotnet/coreclr/commit/b450c1733dd5e1e05e5941fe757e694121cff17e

8 years agoImprovements to System.Math InternalCall code. (dotnet/coreclr#4847)
Tanner Gooding [Thu, 2 Jun 2016 01:17:24 +0000 (18:17 -0700)]
Improvements to System.Math InternalCall code. (dotnet/coreclr#4847)

* Adding some basic System.Math performance tests.

* Renaming 'floatnative' to 'floatdouble'.

* Removing outdated workarounds in the floatdouble interop code.

* Renaming 'finite.cpp' to 'math.cpp'

* Updating the double-precision math tests.

* Updating PAL_EPSILON to be more precise.

Commit migrated from https://github.com/dotnet/coreclr/commit/08786f20e89eb5f518d8d25f3e7f886f69d994ea

8 years agoJIT_TailCall helper has an implicit assumption that all tail call arguments live
Eugene Rozenfeld [Thu, 2 Jun 2016 00:38:53 +0000 (17:38 -0700)]
JIT_TailCall helper has an implicit assumption that all tail call arguments live

on the caller's frame. If an argument lives on the caller caller's frame, it may get
overwritten if that frame is reused for the tail call. Therefore, we should always copy
struct parameters if they are passed as arguments to a tail call.

The simple il regression test has a scenario similar to that of the F# repro in dotnet/coreclr#5164.

Closes dotnet/coreclr#5164.

Commit migrated from https://github.com/dotnet/coreclr/commit/3a97871a149dc116c80710ff51ecc85f62763909

8 years agoImport `new` multi-dimmensional array using the non-vararg helper (dotnet/coreclr...
Jan Kotas [Thu, 2 Jun 2016 00:09:15 +0000 (17:09 -0700)]
Import `new` multi-dimmensional array using the non-vararg helper (dotnet/coreclr#5313)

* Factor out import of `new` multi-dimmensional array
* Implement import of `new` multi-dimmensional array using the non-vararg helper
* Delete RETURN_TYPE_IS_COMPOSITE inlining observation because of it is never hit.
* Add R2R id for non-vararg helper
* Reformat affected code to follow coding conventions

Commit migrated from https://github.com/dotnet/coreclr/commit/5b97541ab67310b7831c4f5c13be7978c0b024cd

8 years agoMerge pull request dotnet/coreclr#5375 from pgavlin/CSECleanup
Pat Gavlin [Wed, 1 Jun 2016 23:58:48 +0000 (23:58 +0000)]
Merge pull request dotnet/coreclr#5375 from pgavlin/CSECleanup

Remove some lexical-CSE-related code.

Commit migrated from https://github.com/dotnet/coreclr/commit/e85f02a0ec48154cb6fe1fa2fa2d7db5e48042cd

8 years agoGCStress: Fix a race-condition
Swaroop Sridhar [Wed, 1 Jun 2016 04:15:07 +0000 (21:15 -0700)]
GCStress: Fix a race-condition

This change ensures that calls to CORINFO_HELP_STOP_FOR_GC() themselves
are not converted to GC-Stress traps -- thus preventing the race between
the GC thread, and a managed thread under GCStress.

Identification of calls to CORINFO_HELP_STOP_FOR_GC():
Since this is a GCStress only requirement, its not worth special identification in the GcInfo
Since CORINFO_HELP_STOP_FOR_GC() calls are realized as indirect calls by the JIT, we cannot identify
them by address at the time of SprinkleBreakpoints().
So, we actually let the SprinkleBreakpoints() replace the call to CORINFO_HELP_STOP_FOR_GC()
with a trap, and revert it back to the original instruction the first time we hit the trap in
OnGcCoverageInterrupt().

Upside: No change to GCInfo or JIT is necessary
Downside: Need to decode a few bytes on every GCStress interrupt.

Fixes dotnet/coreclr#4794

Commit migrated from https://github.com/dotnet/coreclr/commit/bd9712dd6fb9761ef59bde1b00c677545707167f

8 years agoMerge pull request dotnet/coreclr#5365 from kouvel/NamedMutexTests
Koundinya Veluri [Wed, 1 Jun 2016 22:18:30 +0000 (15:18 -0700)]
Merge pull request dotnet/coreclr#5365 from kouvel/NamedMutexTests

Named mutexes: fix handle leak, add stress tests

Commit migrated from https://github.com/dotnet/coreclr/commit/e0a1e0b5f264d52471bb49aa1771ca6fb5cec1c3

8 years agoMerge pull request dotnet/coreclr#5384 from wtgodbe/publishing
William Godbe [Wed, 1 Jun 2016 22:11:37 +0000 (15:11 -0700)]
Merge pull request dotnet/coreclr#5384 from wtgodbe/publishing

Publish pkg/symbolpkg folders within Release/Debug folders

Commit migrated from https://github.com/dotnet/coreclr/commit/0ac55bad5f7e92a04b147b3d97b452eccf134af9

8 years agoPublish pkg/symbolpkg folders within Release/Debug folders
wtgodbe [Wed, 1 Jun 2016 22:04:46 +0000 (15:04 -0700)]
Publish pkg/symbolpkg folders within Release/Debug folders

Commit migrated from https://github.com/dotnet/coreclr/commit/9729128a695195af29c305ba03f9ee993c96a58a

8 years agoProposed fix for HFA args on ARM32
Brian Sullivan [Wed, 1 Jun 2016 20:50:55 +0000 (13:50 -0700)]
Proposed fix for HFA args on ARM32

Commit migrated from https://github.com/dotnet/coreclr/commit/c34a2c85e7d82663eb1cbea774872851e4f8be9d

8 years agoRemove some lexical-CSE-related code.
Pat Gavlin [Wed, 1 Jun 2016 18:11:26 +0000 (11:11 -0700)]
Remove some lexical-CSE-related code.

Lexical CSE is no more; remove some related code:
- Remove the `lexicalCSE` parameter and related checks from `optConfigDisableCSE`.
- Remove the `VALNUM_CSE_ENABLED` symbol: this symbol is unconditionally
  set to 1 and doesn't control much other than the behavior of
  `optConfigDisableCSE`

Commit migrated from https://github.com/dotnet/coreclr/commit/bf8d72f10fa139af49ccc26b2146196297f0de79

8 years agoSpeed up CreateComparer in Comparer/EqualityComparer (dotnet/coreclr#5315)
James Ko [Wed, 1 Jun 2016 20:19:47 +0000 (16:19 -0400)]
Speed up CreateComparer in Comparer/EqualityComparer (dotnet/coreclr#5315)

Commit migrated from https://github.com/dotnet/coreclr/commit/4f975716f66f235d7ed45025ed29444fb297f41b

8 years agoFix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated...
Fadi Hanna [Wed, 1 Jun 2016 20:05:45 +0000 (13:05 -0700)]
Fix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated generic method." (dotnet/coreclr#5347)

The problem was that the delegates code base was not correctly instantiating interface GVMs on target types
(after finding the target method on the target type using slot numbers), and ended up calling uninstantiated
generic method definitions on delegate invokes.

Commit migrated from https://github.com/dotnet/coreclr/commit/c1cf38369531d9fb98a1b26166a1e48c0c8c808d

8 years agoMerge pull request dotnet/coreclr#5372 from kyulee1/eh11
Kyungwoo Lee [Wed, 1 Jun 2016 19:37:34 +0000 (12:37 -0700)]
Merge pull request dotnet/coreclr#5372 from kyulee1/eh11

ARM64: eh11_large exclusion

Commit migrated from https://github.com/dotnet/coreclr/commit/53e54494042e7a567364725ea61d9a7e62effa9c

8 years agoMerge pull request dotnet/coreclr#5376 from wtgodbe/publishFix
William Godbe [Wed, 1 Jun 2016 19:19:32 +0000 (12:19 -0700)]
Merge pull request dotnet/coreclr#5376 from wtgodbe/publishFix

Publish packages into folders named for their configuration

Commit migrated from https://github.com/dotnet/coreclr/commit/d82c86d8f3ea87ad73d48f5280df3053bdebe44e

8 years agoPublish packages into folders named for their configuration
wtgodbe [Wed, 1 Jun 2016 19:18:33 +0000 (12:18 -0700)]
Publish packages into folders named for their configuration

Commit migrated from https://github.com/dotnet/coreclr/commit/762babfed84b8f9923cdbeb2ad1192586d657868

8 years agoMerge pull request dotnet/coreclr#5306 from jamesqo/jitdump-docs
Andy Ayers [Wed, 1 Jun 2016 19:02:21 +0000 (12:02 -0700)]
Merge pull request dotnet/coreclr#5306 from jamesqo/jitdump-docs

Add new document on how to setup/view JIT dumps

Commit migrated from https://github.com/dotnet/coreclr/commit/0589dee5247f14dd8a3dc04f5f5404228a4e98d3

8 years agoARM64: eh11_large exclusion
Kyungwoo Lee [Wed, 1 Jun 2016 17:24:39 +0000 (10:24 -0700)]
ARM64: eh11_large exclusion

This test often fails in release run.

Commit migrated from https://github.com/dotnet/coreclr/commit/bee6da4db9323e5a94d3f8b2a4d020c56e828195

8 years agoMerge pull request dotnet/coreclr#4918 from stephentoub/task_parent_size
Stephen Toub [Wed, 1 Jun 2016 17:24:34 +0000 (13:24 -0400)]
Merge pull request dotnet/coreclr#4918 from stephentoub/task_parent_size

Shrink Task size by 10%

Commit migrated from https://github.com/dotnet/coreclr/commit/d88b3c5fba00695b92adf0f3404c0f5b07acfe63

8 years agoAdd new document on how to setup/view JIT dumps
James Ko [Wed, 1 Jun 2016 17:19:22 +0000 (17:19 +0000)]
Add new document on how to setup/view JIT dumps

Commit migrated from https://github.com/dotnet/coreclr/commit/27e4328891ca3ce83fcd6881556d57d183b2b284

8 years agoRemove duplicate avoid in comments from a few files (dotnet/coreclr#5363)
James Singleton [Wed, 1 Jun 2016 16:27:43 +0000 (17:27 +0100)]
Remove duplicate avoid in comments from a few files (dotnet/coreclr#5363)

Remove double avoid in comments

Commit migrated from https://github.com/dotnet/coreclr/commit/ed288543901c12177d9ae042bd961c6d14fcb33f

8 years agoMerge pull request dotnet/coreclr#4909 from lemmaa/unit-test-enhancement
Aditya Mandaleeka [Wed, 1 Jun 2016 16:15:10 +0000 (09:15 -0700)]
Merge pull request dotnet/coreclr#4909 from lemmaa/unit-test-enhancement

Add extra options to 'runtest.sh' for effective test monitoring.

Commit migrated from https://github.com/dotnet/coreclr/commit/02c178325e13b9e4322e864bd410d757e97b5acd

8 years agoAdd more Ready-to-Run generics tests (dotnet/coreclr#5190)
John Chen [Wed, 1 Jun 2016 14:59:52 +0000 (07:59 -0700)]
Add more Ready-to-Run generics tests (dotnet/coreclr#5190)

Commit migrated from https://github.com/dotnet/coreclr/commit/39425de33ab7eea5ce2a545063c989c68c64dd71

8 years agoAdd named mutex stress tests
Koundinya Veluri [Mon, 23 May 2016 17:42:08 +0000 (10:42 -0700)]
Add named mutex stress tests

- The existing PAL tests are run in parallel, each in a separate thread, for a specified duration

Commit migrated from https://github.com/dotnet/coreclr/commit/4c474ea9a88d2d58befecc1a4780853fc2f58017

8 years agoFix handle leak when creating or opening named mutex fails
Koundinya Veluri [Mon, 23 May 2016 17:42:08 +0000 (10:42 -0700)]
Fix handle leak when creating or opening named mutex fails

- After the pal object is registered, it gets a second reference from the handle. Upon an error after that, the handle needs to be revoked in addition to releasing the initial reference.

Commit migrated from https://github.com/dotnet/coreclr/commit/bf6e190fe6ef7289d94545304b5c409f379658b9

8 years agoARM/Linux: Fix Exception Handler PAL Test Fail (dotnet/coreclr#5360)
MyungJoo Ham [Wed, 1 Jun 2016 10:22:10 +0000 (19:22 +0900)]
ARM/Linux: Fix Exception Handler PAL Test Fail (dotnet/coreclr#5360)

The return address should be kept intact, not recovered
just yet. It is going to be recovered by libgcc's
rescore_core_regs much later, few instructions before
heading back to "catch".

Fixes dotnet/coreclr#5358

Commit migrated from https://github.com/dotnet/coreclr/commit/594b424e1328135049cf0515bc5fc58b91f07e2a

8 years agoComment typo fix: removed double word (dotnet/coreclr#5359)
Kurt Aadnoy [Wed, 1 Jun 2016 10:20:54 +0000 (12:20 +0200)]
Comment typo fix: removed double word (dotnet/coreclr#5359)

The overflow check comment for AllocateStringFastMP_InlineGetThread contained an extra "avoid".

Commit migrated from https://github.com/dotnet/coreclr/commit/959025a1ec18e6685e27c0a3ea579c78487daa25

8 years agoFix JIT PInvoke Check Failure on Linux/ARM (dotnet/coreclr#5322)
Jonghyun Park [Wed, 1 Jun 2016 10:19:55 +0000 (19:19 +0900)]
Fix JIT PInvoke Check Failure on Linux/ARM (dotnet/coreclr#5322)

Disable SP check on ARM

Commit migrated from https://github.com/dotnet/coreclr/commit/a027256a9491ad003cfd9cbd263397228ee2eefb

8 years agoMerge pull request dotnet/coreclr#5350 from pgavlin/gh5292and5286
Pat Gavlin [Wed, 1 Jun 2016 03:50:35 +0000 (03:50 +0000)]
Merge pull request dotnet/coreclr#5350 from pgavlin/gh5292and5286

Mark two tests as always optimized and exclude two others from x86/JI…

Commit migrated from https://github.com/dotnet/coreclr/commit/a123c3972c447c8bcfa1810fde0c7ffb842fa31b

8 years agoAdd options to 'runtest.sh'
Sung-Jae Lee [Wed, 11 May 2016 10:42:50 +0000 (19:42 +0900)]
Add options to 'runtest.sh'

- '--show-time'
   display execution sequence and approximate running time for each
   test cases.
- '--no-lf-conversion'
   skip LF conversion for each test case script.

Note: `date` on Mac OS X doesn't support `%N` format specifiler.
In this case, we don't need precise time, so just ignore the time
less then a second.

Commit migrated from https://github.com/dotnet/coreclr/commit/4abde702c2ad949220e1dc513338c3e51b93b85c

8 years agoMerge pull request dotnet/coreclr#5353 from ramarag/windowsr2r
Rama krishnan Raghupathy [Wed, 1 Jun 2016 01:02:34 +0000 (18:02 -0700)]
Merge pull request dotnet/coreclr#5353 from ramarag/windowsr2r

Refactoring Arguments passed to runtest.cmd

Commit migrated from https://github.com/dotnet/coreclr/commit/73e0b3444210afd641f9743d243a58762ae35edd

8 years agoInliner: enable inlining of methods with cpblk
Andy Ayers [Sun, 29 May 2016 05:42:39 +0000 (22:42 -0700)]
Inliner: enable inlining of methods with cpblk

Allow jit to inline methods with the cpblk IL opcode. Add a test case
where such an inline happens.

Commit migrated from https://github.com/dotnet/coreclr/commit/b4ea056c14dd268ab9e9bc795cb5d5bfbfcbc8a2

8 years agoRefactoring Arguments passed to runtest.cmd
Rama Krishnan Raghupathy [Wed, 1 Jun 2016 00:35:36 +0000 (17:35 -0700)]
Refactoring Arguments passed to runtest.cmd

Commit migrated from https://github.com/dotnet/coreclr/commit/1231f3fcd78f8716f41338832f9ea24f4a201bae

8 years agoMerge pull request dotnet/coreclr#5340 from pgavlin/ComputeFPlvls
Pat Gavlin [Tue, 31 May 2016 22:29:42 +0000 (22:29 +0000)]
Merge pull request dotnet/coreclr#5340 from pgavlin/ComputeFPlvls

Refactor fgComputeFPlvls

Commit migrated from https://github.com/dotnet/coreclr/commit/1b45b04775415a1bf226b3baec536aa7d9a005a3

8 years agoMark two tests as always optimized and exclude two others from x86/JIT32.
Pat Gavlin [Tue, 31 May 2016 22:27:05 +0000 (15:27 -0700)]
Mark two tests as always optimized and exclude two others from x86/JIT32.

The former tests require optimization in order to pass and the latter require further
deliberation re: the appropriate fix (see dotnet/coreclr#5286 for more info).

Fixes dotnet/coreclr#5292.

Commit migrated from https://github.com/dotnet/coreclr/commit/df1de79915e7baeaf607a44bc33773626ced1cc6

8 years agoMerge pull request dotnet/coreclr#5339 from kyulee1/fixmemset
Kyungwoo Lee [Tue, 31 May 2016 21:44:51 +0000 (14:44 -0700)]
Merge pull request dotnet/coreclr#5339 from kyulee1/fixmemset

ARM64: Fix JIT_MemSet

Commit migrated from https://github.com/dotnet/coreclr/commit/d98e9cc5193da8d593880b7d9129e117aea84a57

8 years agoMerge pull request dotnet/coreclr#5335 from swgillespie/gcstress-disable
Sean Gillespie [Tue, 31 May 2016 21:22:09 +0000 (14:22 -0700)]
Merge pull request dotnet/coreclr#5335 from swgillespie/gcstress-disable

Disable a large number of GC tests from running under GCStress

Commit migrated from https://github.com/dotnet/coreclr/commit/d30d6f8206d278df9f8f6b86c021ad1ebc566a1e

8 years agoMerge pull request dotnet/coreclr#5294 from ellismg/enable-other-distros-for-building
Matt Ellis [Tue, 31 May 2016 21:07:44 +0000 (14:07 -0700)]
Merge pull request dotnet/coreclr#5294 from ellismg/enable-other-distros-for-building

Enable other distros for building

Commit migrated from https://github.com/dotnet/coreclr/commit/153779c23a6d1d37c37be9c23cea581f96fc2f47

8 years agoMerge pull request dotnet/coreclr#5334 from pgavlin/LongMathRegparam
Pat Gavlin [Tue, 31 May 2016 20:50:54 +0000 (20:50 +0000)]
Merge pull request dotnet/coreclr#5334 from pgavlin/LongMathRegparam

Remove LONG_MATH_REGPARAM from the JIT.

Commit migrated from https://github.com/dotnet/coreclr/commit/9c904b14d0fc43a91b648764f9eff42f2e5eac46

8 years agoFix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION...
Fadi Hanna [Tue, 31 May 2016 19:58:02 +0000 (12:58 -0700)]
Fix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION by ReadyToRunInfo::TryLookupTypeTokenFromName (dotnet/coreclr#5296)

Commit migrated from https://github.com/dotnet/coreclr/commit/b79ea9b0bb8a864b3824dcb82a5c0a7e39c88583

8 years agoMerge pull request dotnet/coreclr#5301 from RussKeldorph/try2
Russ Keldorph [Tue, 31 May 2016 19:47:07 +0000 (12:47 -0700)]
Merge pull request dotnet/coreclr#5301 from RussKeldorph/try2

Second attempt to properly modify environment for stress test modes

Commit migrated from https://github.com/dotnet/coreclr/commit/d8eef57192117de033dd8bc89348943f28af520b

8 years agoSupport building on all supported distros
Matt Ellis [Fri, 27 May 2016 21:59:43 +0000 (14:59 -0700)]
Support building on all supported distros

With the updated buildtools, we should now be able to build on all the supported distros:

 - Centos 7
 - Fedora 23
 - openSUSE 13.2
 - RHEL 7.2
 - Ubuntu 14.04
 - Ubuntu 16.06

I also cleaned up how we compute the RID for the tools to restore.

Commit migrated from https://github.com/dotnet/coreclr/commit/992129e95ee164f6aff8f02d7b38c953ffd202dd

8 years agoMove gtComputeFPlvls next to gtSetEvalOrder.
Pat Gavlin [Tue, 31 May 2016 18:38:30 +0000 (11:38 -0700)]
Move gtComputeFPlvls next to gtSetEvalOrder.

Commit migrated from https://github.com/dotnet/coreclr/commit/321330e08308017724d8ae90e8b441de8e1518ec

8 years agoRename fg{FPstLvlRedo,ComputeFPlvls} to gt*.
Pat Gavlin [Tue, 31 May 2016 18:35:31 +0000 (11:35 -0700)]
Rename fg{FPstLvlRedo,ComputeFPlvls} to gt*.

This variable and function are more appropriately grouped with the GenTree-related
funcaionality, as they are peers of gtSetEvalOrder.

Commit migrated from https://github.com/dotnet/coreclr/commit/010b599210d18d3e5722e90be681929e8c110d18

8 years agoARM64: Fix JIT_MemSet
Kyungwoo Lee [Tue, 31 May 2016 18:20:35 +0000 (11:20 -0700)]
ARM64: Fix JIT_MemSet

Init value should be treated as an unsigned char.

Commit migrated from https://github.com/dotnet/coreclr/commit/e25dfbaf0b1f579658cf795576f0ff729790ff05

8 years agoDisable a large number of GC tests from running under GCStress
Sean Gillespie [Tue, 31 May 2016 18:05:40 +0000 (11:05 -0700)]
Disable a large number of GC tests from running under GCStress

Commit migrated from https://github.com/dotnet/coreclr/commit/d2d543bd5bbeba71e89c0460f5659d1c2f197c45

8 years agoRemove LONG_MATH_REGPARAM from the JIT.
Pat Gavlin [Tue, 31 May 2016 18:01:20 +0000 (11:01 -0700)]
Remove LONG_MATH_REGPARAM from the JIT.

This symbol was never defined as true, and as such the various bits of code predicated
on it were dead. This change removes the symbol and its associated code.

Commit migrated from https://github.com/dotnet/coreclr/commit/5a35fda1e33ce2bee558fe1448e3e2eccf55f4fc

8 years agoMerge pull request dotnet/coreclr#5189 from AlexGhiondea/buildPackage
AlexGhiondea [Tue, 31 May 2016 17:54:23 +0000 (10:54 -0700)]
Merge pull request dotnet/coreclr#5189 from AlexGhiondea/buildPackage

Include the targeting pack in the build process.

Commit migrated from https://github.com/dotnet/coreclr/commit/06a1826fe80c496570b9732946804722cf805692

8 years agoPort String.IndexOf(char) and LastIndexOf(char) from CoreRT (dotnet/coreclr#5327)
Bruce Bowyer-Smyth [Tue, 31 May 2016 14:29:05 +0000 (00:29 +1000)]
Port String.IndexOf(char) and LastIndexOf(char) from CoreRT (dotnet/coreclr#5327)

Commit migrated from https://github.com/dotnet/coreclr/commit/19a88d8a92e08c8506f6e69c3964dc77329c108a

8 years agoUpdate Windows instructions (dotnet/coreclr#5312)
Petr Onderka [Tue, 31 May 2016 03:48:01 +0000 (05:48 +0200)]
Update Windows instructions (dotnet/coreclr#5312)

* Small improvements to Windows instructions

* copy missing System.Private.CoreLib.dll

* syntax highlighting

* Use ref assemblies from CoreFX instead of NuGet

* Used AnyOS directories for CoreFX assemblies

Also use built facade assemblies.

AnyOS directories are safer, since they don't rely on tests to be built.

(Building main project usually creates just AnyOS, building test project creates the Windows_NT version.)

Commit migrated from https://github.com/dotnet/coreclr/commit/dd15b12e48afdda9b7a5f1b19c2af2c928294843

8 years agoUpdate tryrun.cmake for arm-softfp (dotnet/coreclr#5323)
chunseoklee [Tue, 31 May 2016 03:46:12 +0000 (12:46 +0900)]
Update tryrun.cmake for arm-softfp (dotnet/coreclr#5323)

Commit migrated from https://github.com/dotnet/coreclr/commit/8868f88154bd1c02c03e10cea7df7e02e9bebf0c

8 years agoUpdates tryrun.cmake for ARM cross build (dotnet/coreclr#5317)
Jonghyun Park [Tue, 31 May 2016 03:45:48 +0000 (12:45 +0900)]
Updates tryrun.cmake for ARM cross build (dotnet/coreclr#5317)

Commit migrated from https://github.com/dotnet/coreclr/commit/42b01fd2b210ac2e9c27409f7a066adea7202934

8 years agoEnable 'System.Private.CoreLib.dll' build on cross build mode (dotnet/coreclr#5320)
Jonghyun Park [Tue, 31 May 2016 03:44:20 +0000 (12:44 +0900)]
Enable 'System.Private.CoreLib.dll' build on cross build mode (dotnet/coreclr#5320)

Currently, build.sh uses 'BuildOS' and 'BuildArch' to determine whether
it is possible to build 'System.Private.CorLib.dll'.

This commit revises build.sh to use 'HostOS' and 'HostArch' instead of
'BuildOS' and 'BuildArch' when it checkes whether it is possible to
build 'System.Private.CoreLib.dll', which allows to build
'System.Private.CoreLib.dll' in cross build mode.

Commit migrated from https://github.com/dotnet/coreclr/commit/376b1fc601bdb4f37acfb7937634c928d745ef18

8 years agoFix: if errorlevel 0 is almost always true (dotnet/coreclr#5308)
James Ko [Mon, 30 May 2016 17:36:10 +0000 (13:36 -0400)]
Fix: if errorlevel 0 is almost always true (dotnet/coreclr#5308)

Explanation: if errorlevel n actually tests if the errorlevel is
greater than or equal to n. See: http://ss64.com/nt/if.html

Commit migrated from https://github.com/dotnet/coreclr/commit/99311238763b43488006f473cf2892b574287579

8 years agoMerge pull request dotnet/coreclr#5240 from wateret/mscorlib-arm-softfp
Jan Kotas [Mon, 30 May 2016 17:33:47 +0000 (10:33 -0700)]
Merge pull request dotnet/coreclr#5240 from wateret/mscorlib-arm-softfp

Support CoreLib build for arm-softfp

Commit migrated from https://github.com/dotnet/coreclr/commit/469c1339c9146e89e909eb201c82fe737c8d1081

8 years agoMerge pull request dotnet/coreclr#5087 from myungjoo/fix/4859/janvorli_suggestion
Jan Kotas [Mon, 30 May 2016 17:30:14 +0000 (10:30 -0700)]
Merge pull request dotnet/coreclr#5087 from myungjoo/fix/4859/janvorli_suggestion

Fix/4859 Unit Test 143837 Fail

Commit migrated from https://github.com/dotnet/coreclr/commit/f440bb075cebc8624f0367cea79ff83c9573ba44

8 years agoAvoid unnecessary ContingentProperties allocations
stephentoub [Mon, 2 May 2016 04:42:32 +0000 (00:42 -0400)]
Avoid unnecessary ContingentProperties allocations

We don't need to allocate it for child tasks if there isn't actually a parent.

Commit migrated from https://github.com/dotnet/coreclr/commit/462bd12178c7d4437b36778c825f6b04431d85ce

8 years agoMake m_contingentProperties non-volatile
stephentoub [Sun, 1 May 2016 23:11:40 +0000 (19:11 -0400)]
Make m_contingentProperties non-volatile

Most accesses, including those to get the recently moved m_parent field, do not need to be volatile.  This commit makes the field non-volatile and then adds usage of Volatile.Read only where needed.

Commit migrated from https://github.com/dotnet/coreclr/commit/48064b6d8eb2c68627aec3bb9a7c5a68f3d074d8

8 years agoMove Task's m_parent to ContingentProperties
stephentoub [Sun, 1 May 2016 22:25:07 +0000 (18:25 -0400)]
Move Task's m_parent to ContingentProperties

Shrinks the size of Task by 10% in the common case (when ContingentProperties doesn't need to be expanded).

Commit migrated from https://github.com/dotnet/coreclr/commit/eae354bb59a357bc512c37f74db79e484933be4a

8 years agoFix ucol_setMaxVariable detection for Gentoo Linux (dotnet/coreclr#5309)
Peter Jas [Mon, 30 May 2016 09:54:02 +0000 (12:54 +0300)]
Fix ucol_setMaxVariable detection for Gentoo Linux (dotnet/coreclr#5309)

The issue was the symbol is exported by the ICU lib. Including headers
was not enough. The linker requires the libraries to succeed.

With this fix, CoreCLR successfully builds on Gentoo Linux 100%.
Tested with LXC gentoo container on Ubuntu machine.

Steps to configure and build:
https://gist.github.com/jasonwilliams200OK/1a2e2c0e904ffa95faf6333fcd88d9b8

Fix dotnet/coreclr#5160

Commit migrated from https://github.com/dotnet/coreclr/commit/352df35c124104586ee4c977556cb50ce720af62

8 years agoDon't use libstdc++ wrappers for stdlib.h (dotnet/coreclr#5304)
Jürgen Hötzel [Mon, 30 May 2016 09:45:49 +0000 (11:45 +0200)]
Don't use libstdc++ wrappers for stdlib.h (dotnet/coreclr#5304)

This prevents #undef of min/max macros. Refs dotnet/coreclr#5006.

Commit migrated from https://github.com/dotnet/coreclr/commit/41912e3adb789b62f4cb46acffe915b6f1ab0e1e

8 years agoARM: Remove workaround no more required
MyungJoo Ham [Wed, 25 May 2016 10:06:50 +0000 (19:06 +0900)]
ARM: Remove workaround no more required

With recent concrete unwinding/exception handling routines
of coreclr-arm-linux, we no longer need this workaround.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/664286a86e1c35d3ceded6f3b09a3e5a57cf5ad5

8 years agoARM/THUMB PC Least Bit Set for Range Check
MyungJoo Ham [Thu, 19 May 2016 02:23:51 +0000 (11:23 +0900)]
ARM/THUMB PC Least Bit Set for Range Check

Fix dotnet/coreclr#4859

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/9458840b22e760771e2e14bade56b3f321bd8b5d

8 years agoMerge pull request dotnet/coreclr#5093 from wateret/fix-returnstruct-arm-softfp
Russ Keldorph [Mon, 30 May 2016 06:34:08 +0000 (23:34 -0700)]
Merge pull request dotnet/coreclr#5093 from wateret/fix-returnstruct-arm-softfp

Fix Assert Error "Unexpected size when returning struct by value" on …

Commit migrated from https://github.com/dotnet/coreclr/commit/59ac176ee9abf0f649abf13bb56bde52f46c45ca

8 years agoMerge pull request dotnet/coreclr#5307 from ellismg/fix-rhel-build
Sergiy Kuryata [Sun, 29 May 2016 20:52:53 +0000 (13:52 -0700)]
Merge pull request dotnet/coreclr#5307 from ellismg/fix-rhel-build

Fix RHEL 7 Build

Commit migrated from https://github.com/dotnet/coreclr/commit/5cfb2954419a0e4cf7d223958a99b0d97b45c082

8 years agoFix RHEL 7 Build
Matt Ellis [Sun, 29 May 2016 06:33:20 +0000 (23:33 -0700)]
Fix RHEL 7 Build

There were two issues:

 - $__BuildArch is not defined in init-tools.sh, so we would always
   download the ubuntu version of the CLI, since our check for
   `rhel.7.2-x64` would never fire.

 - There was a small RHEL specific bug in BuildTools itself that
   manifested when we actually were able to download the CLI and try to
   restore the runtime.

Commit migrated from https://github.com/dotnet/coreclr/commit/e3b44b0823bbf53383161e7f4530226ce4954ac6

8 years agoMerge pull request dotnet/coreclr#5290 from joperezr/AddingCommitHashToManagedLibraries
Jose Perez Rodriguez [Sat, 28 May 2016 19:44:45 +0000 (12:44 -0700)]
Merge pull request dotnet/coreclr#5290 from joperezr/AddingCommitHashToManagedLibraries

Adding commit hash to all built binaries.

Commit migrated from https://github.com/dotnet/coreclr/commit/5c00a5f9f425a295e3b80e7e71acbcff1ff15120

8 years agoEnsure Ready-to-Run module is activated in generics dictionary lookup (dotnet/coreclr...
John Chen [Sat, 28 May 2016 17:34:22 +0000 (10:34 -0700)]
Ensure Ready-to-Run module is activated in generics dictionary lookup (dotnet/coreclr#5288)

Under certain conditions, a Ready-to-Run module is not yet fully
activated when its contents are used. This can cause asserts in
debug build. It can also cause module constructor to be run too late.

Commit migrated from https://github.com/dotnet/coreclr/commit/80b11809300d2b762a5ce09bf5a69d9f7003d06b

8 years agoMerge pull request dotnet/coreclr#5299 from CarolEidt/FixArm64
Matt Ellis [Sat, 28 May 2016 08:46:09 +0000 (01:46 -0700)]
Merge pull request dotnet/coreclr#5299 from CarolEidt/FixArm64

Fix a build break due to PR dotnet/coreclr#5101

Commit migrated from https://github.com/dotnet/coreclr/commit/4aa7ce273f03d242fddfbe134aa6d0144045e2da

8 years agoMerge pull request dotnet/coreclr#5295 from adityamandaleeka/noexcept_nothrow_new
Aditya Mandaleeka [Sat, 28 May 2016 05:52:36 +0000 (22:52 -0700)]
Merge pull request dotnet/coreclr#5295 from adityamandaleeka/noexcept_nothrow_new

Add noexcept specifier to some non-throwing new operators

Commit migrated from https://github.com/dotnet/coreclr/commit/d0bcc5bdec1abf608849260652c8ada30fdf597d

8 years agoRemove the dnvm-based installation instructions from the docs (dotnet/coreclr#5271)
James Ko [Sat, 28 May 2016 05:49:35 +0000 (01:49 -0400)]
Remove the dnvm-based installation instructions from the docs (dotnet/coreclr#5271)

* Replace DNX docs with a link to the official .NET website

* Group Get/Learn About .NET Core into one section

Commit migrated from https://github.com/dotnet/coreclr/commit/599c127d925e6ddbbf7e78167b8ba5e8f50bc016

8 years agoMerge pull request dotnet/coreclr#5236 from leemgs/upstream-buildtest.cmd-help-update
Rama krishnan Raghupathy [Sat, 28 May 2016 05:08:11 +0000 (22:08 -0700)]
Merge pull request dotnet/coreclr#5236 from leemgs/upstream-buildtest.cmd-help-update

Documentation: Adding flag descriptions of unit test scripts

Commit migrated from https://github.com/dotnet/coreclr/commit/af69dd5dda4f715a236225dd687f236857a1f4c0

8 years agoSecond attempt to properly modify environment for stress test modes
Russ Keldorph [Sat, 28 May 2016 03:44:21 +0000 (20:44 -0700)]
Second attempt to properly modify environment for stress test modes

My amateurish bash skills are showing.  I forgot that you have to
source a script to modify the environment, though, to be fair, this
line was already here when I got here. :)

Commit migrated from https://github.com/dotnet/coreclr/commit/7947874d2c4041cc85820a6798ea65ec7f7cfc8d