platform/upstream/dotnet/runtime.git
7 years agoMerge pull request dotnet/corertdotnet/coreclr#3429 from dotnet/nmirror
Michal Strehovský [Tue, 25 Apr 2017 20:13:36 +0000 (13:13 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3429 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/e28db872e7fc5ffd9ce637b54b749cac4ae9d7cc

7 years agoComment explaining use of FlushProcessWriteBuffers in StompWriteBarrier. (dotnet...
Alan Lawrence [Wed, 26 Apr 2017 11:14:11 +0000 (12:14 +0100)]
Comment explaining use of FlushProcessWriteBuffers in StompWriteBarrier. (dotnet/coreclr#10924)

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

7 years agoFix few clang analyzer warnings (dotnet/coreclr#11185)
Jan Vorlicek [Wed, 26 Apr 2017 08:52:35 +0000 (01:52 -0700)]
Fix few clang analyzer warnings (dotnet/coreclr#11185)

This change fixes two issues reported by the clang analyzer. In both cases, uninitialized
variable value was used in an error code path.

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

7 years agoMerge pull request dotnet/coreclr#11107 from BruceForstall/NumSuccImprovement
Bruce Forstall [Wed, 26 Apr 2017 04:17:48 +0000 (21:17 -0700)]
Merge pull request dotnet/coreclr#11107 from BruceForstall/NumSuccImprovement

Num succ improvement

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

7 years agoMerge pull request dotnet/coreclr#11204 from BruceForstall/FixArmAltjitGcinfo
Bruce Forstall [Wed, 26 Apr 2017 04:16:29 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11204 from BruceForstall/FixArmAltjitGcinfo

Fix GCInfo library used by ARM/ARM64 protononjit builds

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

7 years agoMerge pull request dotnet/coreclr#11215 from wtgodbe/ActuallyDoCrossgen
William Godbe [Wed, 26 Apr 2017 04:16:09 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11215 from wtgodbe/ActuallyDoCrossgen

Set RunCrossGen=true for non-Windows R2R runs

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

7 years agoMove DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (dotnet/coreclr#11193)
Jonghyun Park [Tue, 25 Apr 2017 23:31:29 +0000 (08:31 +0900)]
Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (dotnet/coreclr#11193)

* Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp

* Fix x86/Windows link error

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

7 years agoSet RunCrossGen=true for non-Windows R2R runs
wtgodbe [Tue, 25 Apr 2017 22:40:22 +0000 (15:40 -0700)]
Set RunCrossGen=true for non-Windows R2R runs

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

7 years agoMerge pull request dotnet/coreclr#11134 from pgavlin/VSO406163
Pat Gavlin [Tue, 25 Apr 2017 22:36:37 +0000 (15:36 -0700)]
Merge pull request dotnet/coreclr#11134 from pgavlin/VSO406163

Fix fgNewBBinRegion when inserting into filters.

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

7 years agoMerge pull request dotnet/coreclr#11110 from rartemev/issue_9880
Roman Artemev [Tue, 25 Apr 2017 22:24:09 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#11110 from rartemev/issue_9880

Made behavior to conform to ECMA for 'tail.call, pop, ret' case

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

7 years ago[RyuJIT/ARM32] Move genJumpKindsForTree into common part (dotnet/coreclr#11103)
mskvortsov [Tue, 25 Apr 2017 22:01:43 +0000 (01:01 +0300)]
[RyuJIT/ARM32] Move genJumpKindsForTree into common part (dotnet/coreclr#11103)

* Move genJumpKindsForTree() into codegenarmarch.cpp.

* Edit genJumpKindsForTree().

* Introduce genCodeForJumpTrue() for both ArmArch and XArch.

* Fix GT_JTRUE codegen for ARM32 by using genCodeForJumpTrue().

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

7 years agoFix GCInfo library used by ARM/ARM64 protononjit builds
Bruce Forstall [Tue, 25 Apr 2017 16:43:38 +0000 (09:43 -0700)]
Fix GCInfo library used by ARM/ARM64 protononjit builds

Otherwise, using the normal GCInfo library, the altjits will
assert creating GC info.

Create new "cross-target" builds of the GCInfo library.

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

7 years agoMerge pull request dotnet/coreclr#11118 from rartemev/issue_10094
Roman Artemev [Tue, 25 Apr 2017 21:31:38 +0000 (14:31 -0700)]
Merge pull request dotnet/coreclr#11118 from rartemev/issue_10094

Fixed netci.groove scripts to make CentOS and Ubuntu R2R jitstressregs builds worked.

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

7 years agoMade behavior to conform to ECMA for 'tail.call, pop, ret' case
Roman Artemev [Thu, 20 Apr 2017 00:49:25 +0000 (17:49 -0700)]
Made behavior to conform to ECMA for 'tail.call, pop, ret' case

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

7 years agoMerge pull request dotnet/coreclr#11206 from wtgodbe/ContainerName
William Godbe [Tue, 25 Apr 2017 19:56:08 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#11206 from wtgodbe/ContainerName

Update R2R Container Names

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

7 years agoUpdate R2R Container Names
wtgodbe [Tue, 25 Apr 2017 19:55:37 +0000 (12:55 -0700)]
Update R2R Container Names

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

7 years agoTesting. DO NOT MERGE ME
Roman Artemev [Tue, 25 Apr 2017 00:01:06 +0000 (17:01 -0700)]
Testing. DO NOT MERGE ME

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

7 years agoAllow FEATURE_INTERPRETER to be enabled by command-line option (dotnet/coreclr#11188)
Jonghyun Park [Tue, 25 Apr 2017 18:40:40 +0000 (03:40 +0900)]
Allow FEATURE_INTERPRETER to be enabled by command-line option (dotnet/coreclr#11188)

* Allow FEATURE_INTERPRETER to be enabled by command-line option

* Set FEATURE_INTERPRETER as 0

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

7 years agoMerge pull request dotnet/coreclr#11187 from wtgodbe/NonWindowsR2R
William Godbe [Tue, 25 Apr 2017 18:29:37 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#11187 from wtgodbe/NonWindowsR2R

Enable running R2R tests in Helix on non-Windows

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

7 years agoEnable running R2R tests in Helix on non-Windows
wtgodbe [Mon, 24 Apr 2017 20:41:42 +0000 (13:41 -0700)]
Enable running R2R tests in Helix on non-Windows

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

7 years agoMerge pull request dotnet/coreclr#11203 from mskvortsov/FixLclFld
Bruce Forstall [Tue, 25 Apr 2017 18:14:27 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#11203 from mskvortsov/FixLclFld

[RyuJIT/ARM32] Update lclFld codegen

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

7 years ago[ARM32] clang 3.9 as a default for ARM cross build (dotnet/coreclr#11064)
Hyung-Kyu Choi [Tue, 25 Apr 2017 17:58:22 +0000 (02:58 +0900)]
[ARM32] clang 3.9 as a default for ARM cross build (dotnet/coreclr#11064)

* [ARM32] clang 3.9 as a default for ARM cross build

Use clang 3.9 as a default compiler for ARM cross build

* Both arm and armel will be built using clang 3.9 as a default
* ARM CI will use clang 3.9 as a default
* ARM pipieline build will use clang 3.9 as a default

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM32] Update docs describing clang-3.9 and ARM cross build

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Check minimum version requirement of clang for ARM cross build

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/0bc55bafbf8b7cde5599fef12c923018de5c5a2b

7 years agoFix fgNewBBinRegion when inserting into filters.
Pat Gavlin [Fri, 21 Apr 2017 17:26:05 +0000 (10:26 -0700)]
Fix fgNewBBinRegion when inserting into filters.

In order to ensure that the GC operates properly when handling
exceptions, the CLR ABI requires that control exits a filter region
throguh its terminal instruction. `fgNewBBinRegion` was violating this
invariant, however, which lead to GC stress failures when the GC was
invoked immediately after a filter finished executing but before control
entered any handlers. This change fixes the behavior of
`fgNewBBinRegion` when inserting new blocks into filter regions.

There are two cases to consider when inserting a new BB into a filter
region:
1. The filter region consists of multiple blocks
2. The filter region consists of a single block

The first case is straightforward: instead of inserting a new BB after
the last block of the filter, insert it before the last block of the
filter. Because the filter contains multiple blocks, the predecessor of
the filter must also be in the filter region.

The latter case requires splitting the single block, as inserting a new
block before the single block would otherwise change control flow (the
filter would begin with the new block rather than the single block). In
order to acheive this with minimal complexity, this change first inserts
a `BBJ_ALWAYS` block that transfers control to the existing single
block, then inserts a second new block immediately before the existing
single block. The second new block is then returned. To put it
visually, the transformation is from this:

```
    filter start: BBN (BBJ_EHFILTERRET)
```

to this:

```
    filter start: BBN + 1 (BBJ_ALWAYS -> BBN)
                  BBN + 2 (jumpKind)
                  BBN     (BBJ_EHFILTERRET)
```

and the function returns `BBN + 2`.

Fixes VSO 406163.

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3418 from dotnet/nmirror (dotnet/corec...
dotnet bot [Tue, 25 Apr 2017 17:05:21 +0000 (10:05 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3418 from dotnet/nmirror (dotnet/coreclr#11186)

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/bf738eceed64177990dbae798259e84dd09e312b

7 years agoMerge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert
Bruce Forstall [Tue, 25 Apr 2017 16:58:16 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert

Fix funclet begin assert

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

7 years agoMerge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway
Bruce Forstall [Tue, 25 Apr 2017 15:40:26 +0000 (08:40 -0700)]
Merge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway

Add code to measure dynamic noway_assert usage

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

7 years agoRyuJIT/ARM32: Update GT_LCL_FLD codegen.
Mikhail Skvortcov [Tue, 25 Apr 2017 12:04:03 +0000 (15:04 +0300)]
RyuJIT/ARM32: Update GT_LCL_FLD codegen.

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

7 years ago[x86/Linux] Do not report untracked from filters (dotnet/coreclr#11195)
Hanjoung Lee [Tue, 25 Apr 2017 09:07:38 +0000 (18:07 +0900)]
[x86/Linux] Do not report untracked from filters (dotnet/coreclr#11195)

Related Issue : dotnet/coreclr#11101

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

7 years agoAdd code to measure dynamic noway_assert usage
Bruce Forstall [Wed, 19 Apr 2017 20:37:34 +0000 (13:37 -0700)]
Add code to measure dynamic noway_assert usage

Set COMPlus_JitMeasureNowayAssert=1 to enable measurement.
Set COMPlus_JitMeasureNowayAssertFile to a path/file to send
output to a file instead of stdout.

Code is under `#if MEASURE_NOWAY` which is enabled for DEBUG
only, though it can be manually enabled for non-DEBUG builds.

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

7 years agoFix funclet begin assert
Bruce Forstall [Mon, 24 Apr 2017 18:12:14 +0000 (11:12 -0700)]
Fix funclet begin assert

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

7 years agoMerge pull request dotnet/coreclr#11196 from wateret/fix-formatting
Bruce Forstall [Tue, 25 Apr 2017 06:49:01 +0000 (23:49 -0700)]
Merge pull request dotnet/coreclr#11196 from wateret/fix-formatting

Fix formatting fail

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

7 years agoMerge pull request dotnet/coreclr#11183 from sdmaclea/PR-FIX-11181
Bruce Forstall [Tue, 25 Apr 2017 06:31:17 +0000 (23:31 -0700)]
Merge pull request dotnet/coreclr#11183 from sdmaclea/PR-FIX-11181

Fix 11181

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

7 years ago[x86/Linux] Change CI docker image (dotnet/coreclr#11098)
Hyeongseok Oh [Tue, 25 Apr 2017 06:08:38 +0000 (15:08 +0900)]
[x86/Linux] Change CI docker image (dotnet/coreclr#11098)

* [x86/Linux] Change CI docker image

Change CI docker image to support clang-3.9

* Update x86_ci_script.sh

change docker tag name

* Update x86_ci_script.sh

environment set correctly: ROOTFS_DIR

* Update x86_ci_script.sh

change docker image name

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

7 years agoFix formatting fail
Hanjoung Lee [Tue, 25 Apr 2017 05:51:14 +0000 (14:51 +0900)]
Fix formatting fail

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

7 years agoEnsure using the given executable path. (dotnet/coreclr#10525)
Jim Ma [Tue, 25 Apr 2017 05:40:36 +0000 (17:40 +1200)]
Ensure using the given executable path. (dotnet/coreclr#10525)

* Ensure using the given executable path.

Fix the bug that corerun trying to load the executable from current directory even if the user has specified a full path of the executable.

Fix dotnet/coreclr#5631

* Revert "Ensure using the given executable path."

This reverts commit dotnet/coreclr@d237e6329f85132429176a0644cf6d93c9437ff4.

* Partially implemented.

* Ensure app context using correct IL file path.

Extracting simple name from the given file path and look up its value in tpa list. If the value does not equal to the given file path, we update the value with correct given file path.

Fix dotnet/coreclr#5631

* Re-arrange the slashIndex to eliminate unneccessary code.

* A few performance improvement with a memory leak bug fixed.

* Added the absolute path of target assembly to tpa list.

Fix dotnet/coreclr#5631

* Added the path of target assembly to tpa on Windows.

Fix dotnet/coreclr#5631

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

7 years agoAdd "createdump" command to SOS. (dotnet/coreclr#11161)
Mike McLaughlin [Tue, 25 Apr 2017 00:12:36 +0000 (17:12 -0700)]
Add "createdump" command to SOS. (dotnet/coreclr#11161)

Uses the createdump utility code as a library.

Changed the "-m, --micro" option to "-t, --triage".

Lots of cleanup.

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

7 years agoMerge pull request dotnet/coreclr#11152 from AndyAyersMS/FixTailCallStressAssert
Andy Ayers [Mon, 24 Apr 2017 23:42:38 +0000 (16:42 -0700)]
Merge pull request dotnet/coreclr#11152 from AndyAyersMS/FixTailCallStressAssert

JIT: simple fix for the tail call stress assert

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

7 years agoMerge pull request dotnet/coreclr#11157 from mikedn/reg-encoding
Bruce Forstall [Mon, 24 Apr 2017 23:28:08 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#11157 from mikedn/reg-encoding

Simplify emitter's RegEncoding

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

7 years agoMerge pull request dotnet/coreclr#11108 from BruceForstall/RangedForAllSuccessorIter
Bruce Forstall [Mon, 24 Apr 2017 23:02:18 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#11108 from BruceForstall/RangedForAllSuccessorIter

Use C++ ranged 'for' for AllSuccessorIter use

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

7 years agoMerge pull request dotnet/coreclr#11172 from mskvortsov/ArithOverflowChecks
Bruce Forstall [Mon, 24 Apr 2017 21:28:51 +0000 (14:28 -0700)]
Merge pull request dotnet/coreclr#11172 from mskvortsov/ArithOverflowChecks

[RyuJIT/ARM32] Enable arithmetic overflow checks

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

7 years agoSupport other toolsets in Win/ARM64 build
Russ Keldorph [Sun, 23 Apr 2017 13:42:14 +0000 (06:42 -0700)]
Support other toolsets in Win/ARM64 build

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

7 years agoFix 11181
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Mon, 24 Apr 2017 19:33:13 +0000 (19:33 +0000)]
Fix 11181

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

7 years agoFix cmake warning about mismatched if/endif comment (dotnet/coreclr#11176)
Bruce Forstall [Mon, 24 Apr 2017 18:15:35 +0000 (11:15 -0700)]
Fix cmake warning about mismatched if/endif comment (dotnet/coreclr#11176)

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

7 years agoRemove PAL FileAlignment restriction (dotnet/coreclr#10959)
Steve MacLean [Mon, 24 Apr 2017 17:51:29 +0000 (13:51 -0400)]
Remove PAL FileAlignment restriction (dotnet/coreclr#10959)

* Remove PAL FileAlignment restriction

* Address PR dotnet/coreclr#10959 feedback

* Fix amd64 crossgen error

* Respond to review feedback

* Fix arm32 regression

* Prepare to remove VIRTUAL_PAGE_* from map.cpp

Also simplify previous section code

* Rename function to GetVirtualPageSize()

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

7 years ago[Local GC] Ensure that handle creation returns null on failure instead of throwing...
Sean Gillespie [Mon, 24 Apr 2017 17:44:25 +0000 (10:44 -0700)]
[Local GC] Ensure that handle creation returns null on failure instead of throwing (dotnet/coreclr#11092)

* [Local GC] Ensure that handle creation returns null on failure instead of throwing

* Fix some clang pedantry about jumping past variable initialization

* Throw OOM if initialization of handle store fails

* Perform the handle OOM check in each handle helper

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

7 years agodo not use = {nullptr} initialization. (dotnet/coreclr#11153)
Sergey Andreenko [Mon, 24 Apr 2017 16:39:25 +0000 (09:39 -0700)]
do not use = {nullptr} initialization. (dotnet/coreclr#11153)

It worked incorrectly on desktop.

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

7 years agoSplit NumSucc/GetSucc into two versions
Bruce Forstall [Thu, 20 Apr 2017 16:49:24 +0000 (09:49 -0700)]
Split NumSucc/GetSucc into two versions

One set takes Compiler*, one doesn't.

It's simpler, and hopefully faster.

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

7 years agoMerge pull request dotnet/coreclr#11169 from hseok-oh/ryujit/fix_11128
Bruce Forstall [Mon, 24 Apr 2017 15:43:37 +0000 (08:43 -0700)]
Merge pull request dotnet/coreclr#11169 from hseok-oh/ryujit/fix_11128

[ARM32/RyuJIT] Fix failure related with struct argument passing

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

7 years agoMerge pull request dotnet/coreclr#11091 from BruceForstall/BlockRefactor
Bruce Forstall [Mon, 24 Apr 2017 15:29:15 +0000 (08:29 -0700)]
Merge pull request dotnet/coreclr#11091 from BruceForstall/BlockRefactor

Refactoring: move some BasicBlock functions to block.cpp

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

7 years agoRyuJIT/ARM32: Enable arithmetic overflow checks.
Mikhail Skvortcov [Mon, 24 Apr 2017 11:10:20 +0000 (14:10 +0300)]
RyuJIT/ARM32: Enable arithmetic overflow checks.

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

7 years agoSupport FEATURE_DBGIPC override (dotnet/coreclr#11164)
Jonghyun Park [Mon, 24 Apr 2017 10:20:38 +0000 (19:20 +0900)]
Support FEATURE_DBGIPC override (dotnet/coreclr#11164)

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

7 years ago[x86/Linux] Remove unnecessary ResumeEsp field (dotnet/coreclr#11167)
Jonghyun Park [Mon, 24 Apr 2017 08:39:52 +0000 (17:39 +0900)]
[x86/Linux] Remove unnecessary ResumeEsp field (dotnet/coreclr#11167)

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

7 years ago[ARM32/RyuJIT] Fix failure related with struct argument passing
Hyeongseok Oh [Mon, 24 Apr 2017 08:34:47 +0000 (17:34 +0900)]
[ARM32/RyuJIT] Fix failure related with struct argument passing

Block using NYI_ARM when struct value split between registers and stack
Fix type assign error for struct slot

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

7 years ago[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (dotnet/coreclr#11163)
Jonghyun Park [Mon, 24 Apr 2017 08:24:46 +0000 (17:24 +0900)]
[x86/Linux] Fix unmatched NESTED_END in CallEHFilterFunclet (dotnet/coreclr#11163)

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

7 years ago11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove method...
OmariO [Sun, 23 Apr 2017 20:35:24 +0000 (23:35 +0300)]
11106: Use RuntimeHelpers.IsReferenceOrContainsReferences in Dictionary.Remove methods (dotnet/coreclr#11158)

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

7 years agoSimplify emitter's RegEncoding
Mike Danes [Sat, 22 Apr 2017 13:41:56 +0000 (16:41 +0300)]
Simplify emitter's RegEncoding

VC++ does't recognize that `(c ? x - 16 : x) & 7` is just `x & 7` and we end up with 5 instructions instead of 1.

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

7 years agoMark GetGenerationWR2 as GCStressIncompatible across all platforms (dotnet/coreclr...
Sean Gillespie [Sat, 22 Apr 2017 11:41:32 +0000 (04:41 -0700)]
Mark GetGenerationWR2 as GCStressIncompatible across all platforms (dotnet/coreclr#11151)

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

7 years agoRemove destructor from GCEvent and instead rely on the OS to clean up (dotnet/coreclr...
Sean Gillespie [Sat, 22 Apr 2017 11:39:09 +0000 (04:39 -0700)]
Remove destructor from GCEvent and instead rely on the OS to clean up (dotnet/coreclr#11132)

* Remove destructor from GCEvent and instead rely on the OS to clean up

* Add a comment justifying the lack of destructor

* wording: many -> all

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

7 years agoTwo improvments for LCG jump stubs (dynamic methods): (dotnet/coreclr#9160)
Brian Sullivan [Sat, 22 Apr 2017 11:16:25 +0000 (04:16 -0700)]
Two improvments for LCG jump stubs (dynamic methods): (dotnet/coreclr#9160)

When requesting a jump stub block for LCG, ask for a block of 4 jump stubs instead of 32
    Enable caching and cache lookup for LCG jump stubs

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

7 years agoJIT: simple fix for the tail call stress assert
Andy Ayers [Sat, 22 Apr 2017 00:09:07 +0000 (17:09 -0700)]
JIT: simple fix for the tail call stress assert

If class handles match, the return types are compatible, no matter
what the jit types indicate.

Addresses dotnet/coreclr#10047.

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

7 years agoMove xplat minidump doc to botr. (dotnet/coreclr#11149)
Mike McLaughlin [Sat, 22 Apr 2017 00:01:01 +0000 (17:01 -0700)]
Move xplat minidump doc to botr. (dotnet/coreclr#11149)

Change default minidump type to MiniDumpWithPrivateReadWriteMemory.

Remove language about uploading triage dumps.

Turn off diagnostic output.

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

7 years agoMove CoreCLR to Preview2 (dotnet/coreclr#11146)
Gaurav Khanna [Fri, 21 Apr 2017 22:06:11 +0000 (15:06 -0700)]
Move CoreCLR to Preview2 (dotnet/coreclr#11146)

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

7 years agoMerge pull request dotnet/coreclr#11140 from AndyAyersMS/FixRunBenchmarks
Andy Ayers [Fri, 21 Apr 2017 21:53:57 +0000 (14:53 -0700)]
Merge pull request dotnet/coreclr#11140 from AndyAyersMS/FixRunBenchmarks

Update jit RunBenchmarks test to no longer use XPath

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

7 years agoMerge pull request dotnet/coreclr#11148 from wtgodbe/DisableCoreMangLib
William Godbe [Fri, 21 Apr 2017 20:43:07 +0000 (13:43 -0700)]
Merge pull request dotnet/coreclr#11148 from wtgodbe/DisableCoreMangLib

Disable DynMethodJumpStubTests test

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

7 years agoDisable DynMethodJumpStubTests test
wtgodbe [Fri, 21 Apr 2017 20:41:57 +0000 (13:41 -0700)]
Disable DynMethodJumpStubTests test

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

7 years agoMerge pull request dotnet/coreclr#11117 from briansull/zapsig-fix
Brian Sullivan [Fri, 21 Apr 2017 20:35:25 +0000 (13:35 -0700)]
Merge pull request dotnet/coreclr#11117 from briansull/zapsig-fix

ReadyToRun/Crossgen: Disable cross module generic instantiations from profile data

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

7 years agoMerge pull request dotnet/coreclr#11147 from dotnet/ReEnableHashCodeTest
William Godbe [Fri, 21 Apr 2017 20:04:02 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#11147 from dotnet/ReEnableHashCodeTest

Re-enable Hashcode Test

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

7 years agoRe-enable Hashcode Test
William Godbe [Fri, 21 Apr 2017 20:03:52 +0000 (13:03 -0700)]
Re-enable Hashcode Test

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

7 years agoMerge pull request dotnet/coreclr#11144 from wtgodbe/DisableSomeTests
William Godbe [Fri, 21 Apr 2017 19:22:40 +0000 (12:22 -0700)]
Merge pull request dotnet/coreclr#11144 from wtgodbe/DisableSomeTests

Temporarily disable failing tests in Helix

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

7 years agoTemporarily disable failing tests in Helix
wtgodbe [Fri, 21 Apr 2017 19:22:18 +0000 (12:22 -0700)]
Temporarily disable failing tests in Helix

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

7 years agoUpdate jit RunBenchmarks test to no longer use XPath
Andy Ayers [Fri, 21 Apr 2017 18:53:00 +0000 (11:53 -0700)]
Update jit RunBenchmarks test to no longer use XPath

Rewrite to use linq-to-xml instead. Verified at least that this
can still parse the adjoining xml file. Also now able to crossgen
this test case.

Closes dotnet/coreclr#11082.

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

7 years agoMerge pull request dotnet/coreclr#11138 from wtgodbe/WrongCrossgen
William Godbe [Fri, 21 Apr 2017 18:49:11 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#11138 from wtgodbe/WrongCrossgen

Copy Runtime-specific Crossgen to Core_Root

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

7 years agoCopy Runtime-specific Crossgen to Core_Root
wtgodbe [Fri, 21 Apr 2017 18:31:21 +0000 (11:31 -0700)]
Copy Runtime-specific Crossgen to Core_Root

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

7 years agoMerge pull request dotnet/coreclr#11055 from jorive/dev/xUnit-Performance-API
Drew Scoggins [Fri, 21 Apr 2017 17:16:01 +0000 (02:16 +0900)]
Merge pull request dotnet/coreclr#11055 from jorive/dev/xUnit-Performance-API

Improving robustness of the run-xunit-perf.cmd script.

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

7 years ago[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState...
Jonghyun Park [Fri, 21 Apr 2017 15:51:12 +0000 (00:51 +0900)]
[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState (dotnet/coreclr#10888)

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

7 years agoMark CharEnumerator as [Serializable] (dotnet/coreclr#11124)
Jan Kotas [Fri, 21 Apr 2017 15:44:43 +0000 (08:44 -0700)]
Mark CharEnumerator as [Serializable] (dotnet/coreclr#11124)

Fixes https://github.com/dotnet/corefx/issues/18704

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

7 years ago[x86/Linux] Fix pow of tryrun (dotnet/coreclr#11099)
SaeHie Park [Fri, 21 Apr 2017 14:28:07 +0000 (23:28 +0900)]
[x86/Linux] Fix pow of tryrun (dotnet/coreclr#11099)

x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures

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

7 years agoAdd Marshal.GetExceptionPointers (dotnet/coreclr#11125)
Yi Zhang (CLR) [Fri, 21 Apr 2017 09:01:40 +0000 (02:01 -0700)]
Add Marshal.GetExceptionPointers (dotnet/coreclr#11125)

* Add Marshal.GetExceptionPointers

* Remove SecurityCritical

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

7 years ago[ARM32/RyuJIT] Argument passing for multireg struct (dotnet/coreclr#10846)
Hyeongseok Oh [Fri, 21 Apr 2017 06:13:02 +0000 (15:13 +0900)]
[ARM32/RyuJIT] Argument passing for multireg struct (dotnet/coreclr#10846)

* [Linux/ARM32] Enable fgMorphMultiregStructArgs

Enable fgMorphMultiregStructArgs: morph struct argument to GT_FILED_LIST when size <= 4
Cannot handle split struct that using register and stack

* Fix formatting

Fix formatting error

* Fix typo and commit with not added file

- Fix typo
- Commit with not added file: src/jit/compiler.h

* Fix formatting and build error

* Fix comment and block using NYI macro

- Fix comment
- Block using NYI when struct passed by value can be split between registers and stack

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

7 years ago[x86/Linux] Relax inst_JMP assert condition (dotnet/coreclr#11062)
Jonghyun Park [Fri, 21 Apr 2017 05:42:25 +0000 (14:42 +0900)]
[x86/Linux] Relax inst_JMP assert condition (dotnet/coreclr#11062)

* [x86/Linux] Do NOT use exception-throwing block on ESP framed method

* Fix format error

* Relax assert condition

* Fix format error

* Revert changes in codegencommon.cpp

* Add parentheses

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

7 years agoMerge pull request dotnet/coreclr#11024 from dotnet-bot/master-UpdateDependencies
William Godbe [Fri, 21 Apr 2017 05:04:29 +0000 (22:04 -0700)]
Merge pull request dotnet/coreclr#11024 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively (master)

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

7 years agoUpdate CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively
dotnet-bot [Fri, 21 Apr 2017 02:27:34 +0000 (02:27 +0000)]
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively

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

7 years agoUpdate StringBuilder.AppendJoin to approved API (dotnet/coreclr#11059)
Joseph Musser [Fri, 21 Apr 2017 01:54:30 +0000 (21:54 -0400)]
Update StringBuilder.AppendJoin to approved API  (dotnet/coreclr#11059)

* Updated StringBuilder.AppendJoin to approved API

* Organized StringBuilder.AppendJoin overloads

* Added ThrowHelper, removed Contract.Ensures

* Inline array accesses

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

7 years agoEnable corerun to select Globalization Invariant mode (dotnet/coreclr#11097)
SaeHie Park [Fri, 21 Apr 2017 01:46:30 +0000 (10:46 +0900)]
Enable corerun to select Globalization Invariant mode (dotnet/coreclr#11097)

* Enable corerun to select Globalization Invariant mode

* Support 'true' also

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

7 years agoFix R2R workaround for Diasymreader (dotnet/coreclr#11116)
Gaurav Khanna [Thu, 20 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix R2R workaround for Diasymreader (dotnet/coreclr#11116)

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

7 years agoInline List.Clear (dotnet/coreclr#11104)
Ben Adams [Thu, 20 Apr 2017 22:58:31 +0000 (23:58 +0100)]
Inline List.Clear (dotnet/coreclr#11104)

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

7 years agoWhen we have profile data we can have cross module references in our ZapSig's when...
Brian Sullivan [Thu, 20 Apr 2017 22:53:19 +0000 (15:53 -0700)]
When we have profile data we can have cross module references in our ZapSig's when building ReadyToRun images.
We should return a null TypeHandle to indicate failure so that we don't attempt to add generic types/methods
that have cross module references.  (i.e. MyList<System.Guid> )

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

7 years agoFixing Delegate's hash code's distribution (dotnet/coreclr#11019)
Peter Smulovics [Thu, 20 Apr 2017 22:46:39 +0000 (18:46 -0400)]
Fixing Delegate's hash code's distribution (dotnet/coreclr#11019)

Delegate's GetHashCode just returns the hash code of the delegate type. For a scenario where delegates are used as keys in a dictionary, this leads to obvious performance problems. We should look at coming up with a better GetHashCode that properly factors in the target object and method, in all of the various forms a delegate can take.

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

7 years agoMerge pull request dotnet/coreclr#11115 from wtgodbe/readytoruntests
William Godbe [Thu, 20 Apr 2017 22:35:26 +0000 (15:35 -0700)]
Merge pull request dotnet/coreclr#11115 from wtgodbe/readytoruntests

Move readytorun tests into directory one level deeper

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

7 years agoMerge pull request dotnet/coreclr#11033 from adityamandaleeka/handle_table_local_gc_store
Aditya Mandaleeka [Thu, 20 Apr 2017 21:20:22 +0000 (14:20 -0700)]
Merge pull request dotnet/coreclr#11033 from adityamandaleeka/handle_table_local_gc_store

Move handle object manipulation functions to interface

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

7 years agoMove readytorun tests into directory one level deeper
wtgodbe [Thu, 20 Apr 2017 20:49:57 +0000 (13:49 -0700)]
Move readytorun tests into directory one level deeper

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

7 years agoMerge pull request dotnet/coreclr#11020 from adiaaida/hardenPerf
Michelle McDaniel [Thu, 20 Apr 2017 20:14:54 +0000 (13:14 -0700)]
Merge pull request dotnet/coreclr#11020 from adiaaida/hardenPerf

Strip quotes out of BenchviewCommitName

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

7 years agoRename CompareAndSwap to InterlockedCompareExchange.
Aditya Mandaleeka [Thu, 20 Apr 2017 19:42:30 +0000 (12:42 -0700)]
Rename CompareAndSwap to InterlockedCompareExchange.

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

7 years agoMerge pull request dotnet/coreclr#11086 from wtgodbe/SecurityPermissions
William Godbe [Thu, 20 Apr 2017 18:44:13 +0000 (11:44 -0700)]
Merge pull request dotnet/coreclr#11086 from wtgodbe/SecurityPermissions

Add dependency on System.Security.Permissions

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

7 years agoAdd dependency on System.Security.Permissions
wtgodbe [Wed, 19 Apr 2017 23:01:03 +0000 (16:01 -0700)]
Add dependency on System.Security.Permissions

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

7 years agoAdd the Linux minidump support documentation (dotnet/coreclr#11087)
Mike McLaughlin [Thu, 20 Apr 2017 17:13:45 +0000 (10:13 -0700)]
Add the Linux minidump support documentation (dotnet/coreclr#11087)

Add the Linux minidump support documentation

One minor fix to createdump.

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

7 years agoUse C++ ranged 'for' for AllSuccessorIter use
Bruce Forstall [Tue, 18 Apr 2017 00:13:25 +0000 (17:13 -0700)]
Use C++ ranged 'for' for AllSuccessorIter use

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

7 years ago[x86/Linux] Use CDECL as STDAPICALLTYPE (dotnet/coreclr#10969)
Jonghyun Park [Thu, 20 Apr 2017 16:05:51 +0000 (01:05 +0900)]
[x86/Linux] Use CDECL as STDAPICALLTYPE (dotnet/coreclr#10969)

* [x86/Linux] Use CDECL as STDAPICALLTYPE

* Use system default calling convention for internal functions

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

7 years agoStrip quotes out of BenchviewCommitName
Michelle McDaniel [Mon, 17 Apr 2017 16:39:00 +0000 (09:39 -0700)]
Strip quotes out of BenchviewCommitName

When we pass the name of the pr to submission-metadata.py, we need the
name of the pr to not include quotes, or submission-metadata.py will fail
because it has the "wrong" parameters (because parts of the name are no
longer quoted). This change strips quotation marks out of the benchview
commit name to harden against this kind of failure.

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

7 years ago[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case...
ragmani [Thu, 20 Apr 2017 14:39:54 +0000 (23:39 +0900)]
[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun. (dotnet/coreclr#11063)

* [x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun.

add DynamicHelperArgsStub and change jmp to call.

* [x86/Linux] set cfi_def_cfa_offset of DynamicHelperArgsStub to 16.

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