Sergey Andreenko [Wed, 27 Mar 2019 17:59:04 +0000 (10:59 -0700)]
Revert "Delete unused variables in jit. Part 2. (dotnet/coreclr#23481)" (dotnet/coreclr#23488)
This reverts commit dotnet/coreclr@
6cb120cc74ca61fc314e3cc43007778d2aafd041.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbeadacafba718557e47fc166d7fd688b01515d7
Sergey Andreenko [Wed, 27 Mar 2019 17:22:18 +0000 (10:22 -0700)]
Delete unused variables in jit. Part 2. (dotnet/coreclr#23481)
* Clean `valuenum.cpp`.
* Clean `emitarm64.cpp`.
* Clean `lsraarm64.cpp`.
* Clean `lsraarmarch.cpp`.
* Clean `lowerarmarch.cpp`.
* Clean `lower.cpp`.
* Clean `ssabuilder.cpp`.
* Clean `simd.cpp`.
* Clear `simdcodegenxarch.cpp`.
* Clean `lowerxarch.cpp`.
* Clean `scopeinfo.cpp`.
* Clean `hwintrinsiccodegenxarch.cpp`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cb120cc74ca61fc314e3cc43007778d2aafd041
Andrew Au [Wed, 27 Mar 2019 00:38:27 +0000 (17:38 -0700)]
Eliminate EventPipeBuffer::Close()
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa077b43cc3a1911e67fc63eb592dd36caaa0d70
Tanner Gooding [Wed, 27 Mar 2019 10:33:56 +0000 (03:33 -0700)]
Fixing the codegen for x64 intrinsics to use EA_8BYTE where needed. (dotnet/coreclr#23461)
Commit migrated from https://github.com/dotnet/coreclr/commit/
94db6145bca291313156eec40cb16518f7f9fc1d
Sergey Andreenko [Wed, 27 Mar 2019 07:25:06 +0000 (00:25 -0700)]
Add call to setup-stress-dependencies.sh to build-test.sh. (dotnet/coreclr#23435)
Commit migrated from https://github.com/dotnet/coreclr/commit/
808e048c8535f9fd704acb75f1fa4aecdf36b72e
Sergey Andreenko [Wed, 27 Mar 2019 07:14:38 +0000 (00:14 -0700)]
Update CoreFX arm64 test exclusions. (dotnet/coreclr#23463)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bae057b3c1018cd519989517c4c11adad732bb06
Fadi Hanna [Wed, 27 Mar 2019 03:56:57 +0000 (20:56 -0700)]
Replacing the /Trusted_Platform_Assemblies switch with a simpler /r switch that can be used multiple times in the command line to provide a list of reference assemblies. Reference assemblies can now be passed as individual file entries instead of a giant string of semi-column separated entries. (dotnet/coreclr#23462)
Commit migrated from https://github.com/dotnet/coreclr/commit/
621a66cb9644c49df03611f353764da03460f48d
Egor Chesakov [Wed, 27 Mar 2019 03:47:48 +0000 (20:47 -0700)]
Use DotNet-HelixApi-Access only in internal project (dotnet/coreclr#23479)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8a576928086f8ead922dcadc4f1cf984316eb61
Carol Eidt [Tue, 26 Mar 2019 23:13:40 +0000 (16:13 -0700)]
Handle addressing modes for HW intrinsics (dotnet/coreclr#22944)
* Handle addressing modes for HW intrinsics
Also, eliminate some places where the code size estimates were over-estimating.
Contribute to dotnet/coreclr#19550
Fix dotnet/coreclr#19521
Commit migrated from https://github.com/dotnet/coreclr/commit/
da6ed1197abcb1be420351af1bb3758de6048c8f
Tanner Gooding [Tue, 26 Mar 2019 15:48:03 +0000 (08:48 -0700)]
Cleaning up the P/Invoke signatures for QPF and QPC to avoid marshalling and pinning (dotnet/coreclr#36071)
* Cleaning up the P/Invoke signatures for QPF and QPC to avoid marshalling and pinning
* Responding to PR feedback.
* Dropping support for low resolution stopwatch
* Removing BestFitMapping=false
* Removing unneeded unsafe declarations
* Addressing more PR feedback
* Fixing the pal_time header file
* Fixing the Unix P/Invoke signatures for GetTimestamp and GetTimestampResolution to return ulong.
* Fixing GetTimestampResolution to scale the result for HAVE_CLOCK_MONOTONIC
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa072b639fc2eb0e60a8083e4c74426db91341e0
Jan Vorlicek [Mon, 25 Mar 2019 23:20:32 +0000 (00:20 +0100)]
Merge pull request dotnet/coreclr#23430 from janvorli/disable-ijw-load-in-collectible-alc
Disable loading IJW assemblies into collectible ALC
Commit migrated from https://github.com/dotnet/coreclr/commit/
2520798548b0c414f513aaaf708399f8ef5a4f6c
David Wrighton [Mon, 25 Mar 2019 23:04:26 +0000 (16:04 -0700)]
Replace Win32 resource reading logic with cross platform implementation (dotnet/coreclr#23363)
* FindResource direct implementation in PEDecoder
* Fixup bugs identified in resource reading
Commit migrated from https://github.com/dotnet/coreclr/commit/
36c34ed6724416f212aa81eb8596f0bfed59d3f1
Andy Ayers [Mon, 25 Mar 2019 22:05:45 +0000 (15:05 -0700)]
JIT: don't treat whitespace as separator in assembly name lists (dotnet/coreclr#23410)
Only recognize ";" as a separator, so that we can support exclusions or inclusions
of assemblies whose names include spaces.
Impacts the altjit exclude list, and the disasm include list.
Addresses dotnet/jitutilsdotnet/coreclr#200.
Commit migrated from https://github.com/dotnet/coreclr/commit/
32df0e741befb3cc815927c37cb29dd039e62158
Andy Ayers [Mon, 25 Mar 2019 22:00:26 +0000 (15:00 -0700)]
Mark test GitHub_18582 as optimization sensitive (dotnet/coreclr#23434)
Jitstress on OSX will turn on cloning stress in `Test` and cause stack overflows
cloning the large `GT_LIST` subtree of the call.
See issue dotnet/coreclr#23346.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca2eec2fbaa127fd62d9427be0a5c9fd99680bca
Jan Vorlicek [Mon, 25 Mar 2019 17:07:25 +0000 (18:07 +0100)]
Disabled new IJW tests
There were couple of IJW tests added since the master I've based my
changes on. Adding disabling of those for unloadability testing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fede4ddd8002a1794f86c2dd9ac7f05c326a929
Jan Vorlicek [Fri, 22 Mar 2019 13:53:31 +0000 (14:53 +0100)]
Disable loading IJW assemblies into collectible ALC
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a928d80d2c6eb227b70144a0a8018f3ec67066b
Jan Vorlicek [Mon, 25 Mar 2019 16:57:08 +0000 (17:57 +0100)]
Merge pull request dotnet/coreclr#23413 from luhenry/fix-gh22302-2
Improve detection of CPU limits when running inside a Container
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6c49f73eac2413fdc7a1024fc0f1585e39db026
Tomáš Rylek [Mon, 25 Mar 2019 16:22:46 +0000 (17:22 +0100)]
Miscellaneous R2RDump improvements (dotnet/coreclr#23215)
1) In Naked mode, hide the distinction amongst METHOD_ENTRY vs.
METHOD_ENTRY_REF_TOKEN vs. METHOD_ENTRY_DEF_TOKEN as it's not
important for correctness and causes undesirable churn in diffs.
This required propagating the DumpOptions around in a couple
of places.
2) For historical reasons, the DisassemblingTypeProvider had
its own implementations of metadata formatting that is now provided
by MetadataNameFormatter. I have removed at least a part of this
duplication in this change. [It was causing undesirable diffs as
one version used to output type owner assemblies whereas the other
did not.]
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
368639e46a903b6ff44a21d67b0e0fea661c91d7
Tarek Mahmoud Sayed [Mon, 25 Mar 2019 15:23:33 +0000 (08:23 -0700)]
Re-enable Index/Range Jit test (dotnet/coreclr#23415)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b6b3d15118c47380ced62f99767f25fac44fad4c
Nick Schonning [Sun, 24 Mar 2019 20:46:16 +0000 (16:46 -0400)]
typo: Double word "both" (dotnet/corefxdotnet/coreclr#36272)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a593024b85a6e074770c88867491f4f30cc6fc8a
Nick Schonning [Sun, 24 Mar 2019 20:44:51 +0000 (16:44 -0400)]
typo: Double word "never" (dotnet/corefxdotnet/coreclr#36300)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
41f619d4b4e88a51f620b1b7be8ef78a48066c35
Nick Schonning [Sun, 24 Mar 2019 20:43:54 +0000 (16:43 -0400)]
typo: Double word "to" (dotnet/corefxdotnet/coreclr#36264)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
44994cc61cb00e310d560462ad5de0cfc135c950
Nick Schonning [Sun, 24 Mar 2019 20:43:04 +0000 (16:43 -0400)]
typo: Double word "that" (dotnet/corefxdotnet/coreclr#36269)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3038a7871ebc8f7e552bdd0086bc55a0d5cfee7c
Nick Schonning [Sun, 24 Mar 2019 20:41:06 +0000 (16:41 -0400)]
typo: Double word "a" (dotnet/corefxdotnet/coreclr#36271)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
03d3253f94a7c02a7d156fe378c73b736b202777
Nick Schonning [Sun, 24 Mar 2019 20:41:37 +0000 (16:41 -0400)]
typo: Double word "in" (dotnet/corefxdotnet/coreclr#36270)
* typo: Double word "in"
* Update src/System.Console/src/System/Console.cs
Co-Authored-By: nschonni <nschonni@gmail.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
769664075ef81b87fa749d02047e1da1a4113e1c
Nick Schonning [Sun, 24 Mar 2019 20:40:10 +0000 (16:40 -0400)]
typo: Double word "the" (dotnet/corefxdotnet/coreclr#36274)
* typo: Double word "the"
* Apply suggestions from code review
Co-Authored-By: nschonni <nschonni@gmail.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
13777718e79f10c4908f23403cd7cfa5bae363e0
Nick Schonning [Sun, 24 Mar 2019 20:40:35 +0000 (16:40 -0400)]
typo: Double word "this" (dotnet/corefxdotnet/coreclr#36273)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
df550d77db2e21ff19ac02f0421c26ca1c53231a
Nick Schonning [Sun, 24 Mar 2019 20:39:15 +0000 (16:39 -0400)]
typo: Double word "are" (dotnet/corefxdotnet/coreclr#36275)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
026ff36a4fa9a37c7ee5ded0f77e4bb3d99c3883
Nick Schonning [Sun, 24 Mar 2019 20:38:54 +0000 (16:38 -0400)]
typo: Double word "types" (dotnet/corefxdotnet/coreclr#36276)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
4afc0b26fecd1443cee8ebaab8ad6f9145d04c06
Nick Schonning [Sun, 24 Mar 2019 20:36:34 +0000 (16:36 -0400)]
typo: Double word "is" (dotnet/corefxdotnet/coreclr#36283)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe142a0aead0064230c82d3671ef0f98eeaf803c
Nick Schonning [Sun, 24 Mar 2019 20:34:57 +0000 (16:34 -0400)]
typo: Double word "we" (dotnet/corefxdotnet/coreclr#36288)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
92a191e6c772990c54a03192e2ff58dab0188891
Nick Schonning [Sun, 24 Mar 2019 20:30:06 +0000 (16:30 -0400)]
typo: Double word "as" (dotnet/corefxdotnet/coreclr#36277)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f4a7564beb6f8c1f4929504ee2221953d25fc39
Sergey Andreenko [Sat, 23 Mar 2019 09:00:53 +0000 (02:00 -0700)]
Revert "Add call to setup-stress-dependencies.sh to build-test.sh. (dotnet/coreclr#23354)" (dotnet/coreclr#23419)
This reverts commit dotnet/coreclr@
22c4ff5c1d339119c12547ac2d1b35211162df49.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8343724ab5f0d9fc21cca7fa676301040f26bd69
Sergey Andreenko [Sat, 23 Mar 2019 05:13:12 +0000 (22:13 -0700)]
Add call to setup-stress-dependencies.sh to build-test.sh. (dotnet/coreclr#23354)
* Add call to setup-stress-dependencies.sh to build-test.sh.
* Fix args.
* hack __DistroRid
* Do not use bash source.
* Do not use bash source 2.
* Fix init-distro-rid permissions.
* Fix tabs.
* return deleted source where it was needed
Commit migrated from https://github.com/dotnet/coreclr/commit/
22c4ff5c1d339119c12547ac2d1b35211162df49
Levi Broderick [Sat, 23 Mar 2019 04:43:27 +0000 (21:43 -0700)]
Replace slow implementations in ASCIIUtility with fast implementations (dotnet/coreclr#22516)
Commit migrated from https://github.com/dotnet/coreclr/commit/
125e7c95e72629d5eb560844791c0b3507973998
Jeremy Koritzinsky [Sat, 23 Mar 2019 00:09:21 +0000 (17:09 -0700)]
Fix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedEventArgs (CoreCLR side) (dotnet/coreclr#23401)
* Enable marshalling IntPtr and UIntPtr in WinRT scenarios to support our marshalling infrastructure.
* Enable getting an RCW for a native COM object while ignoring WinRT projections.
* Rename to Marshal.GetUniqueObjectForIUnknownWithoutUnboxing
* Clean up contract.
* Move GetUniqueObjectForIUnknownWithoutUnboxing to WindowsRuntimeMarshal.
* Move WinRT-specific FCalls to WindowsRuntimeMarshal.
Commit migrated from https://github.com/dotnet/coreclr/commit/
acd1164c8c89582f13163e309a0183c72bc13924
Sergey Andreenko [Fri, 22 Mar 2019 23:33:23 +0000 (16:33 -0700)]
Delete unused variables in jit. Part1. (dotnet/coreclr#23399)
* Clean `assertionprop.cpp`.
* Clean `codegencommon.cpp`.:
* Clean `codegenlinear.cpp`.
* Clean `compiler.cpp`.
* Clean `earlyprop.cpp`.
* Clean `gschecks.cpp`.
* Clean 'lclvars.cpp`.
* Clean `jiteh.cpp`.
* Clean `liveness.cpp`.
* Clean `hashbv.cpp`.
* Clean `gcinfo.cpp`.
* Clean `optimizer.cpp`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
017ded3c6acd653b875f4ef12c232617855dea09
Tarek Mahmoud Sayed [Fri, 22 Mar 2019 22:22:50 +0000 (15:22 -0700)]
Apply Optimization in Index.GetOffset suggested by Levi (dotnet/coreclr#23349)
* Apply Optimization in Index.GetOffset suggested by Levi
* Add Comment
* address the feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
39b1b6338015c9d6ef193986e0579f0ae0e60566
Marek Safar [Fri, 22 Mar 2019 20:16:41 +0000 (21:16 +0100)]
Move Exception to shared partition (dotnet/coreclr#23361)
* Move Exception to shared partition
* Remove class name caching
* Not useful comments removal
Commit migrated from https://github.com/dotnet/coreclr/commit/
a63da9e80defe0187d8ee59b9732a978ce4c493e
Andy Hanson [Fri, 22 Mar 2019 20:14:40 +0000 (13:14 -0700)]
Merge pull request dotnet/coreclr#23366 from andy-ms/heap_hard_limit
Don't compact LOH just because a heap_hard_limit exists
Commit migrated from https://github.com/dotnet/coreclr/commit/
513ccfc64a398055e7e7afc380d578cd2237b885
Ludovic Henry [Thu, 21 Mar 2019 21:37:14 +0000 (14:37 -0700)]
Improve detection of CPU limits when running inside a Container
This focuse on better supporting `--cpuset-cpus` which limits the number of processors we have access to on the CPU; it also specifies which specific processor we have access to, but that’s irrelevant here
The work has been done here for all runtime components except `Environment.ProcessorCount`. The work consist in fixing `PAL_GetLogicalCpuCountFromOS` to use `sched_getaffinity`.
Fixes https://github.com/dotnet/coreclr/issues/22302
Commit migrated from https://github.com/dotnet/coreclr/commit/
06d7406722011ccab83cd1d2507f0b14c7d91b0b
Jeremy Koritzinsky [Fri, 22 Mar 2019 05:14:19 +0000 (22:14 -0700)]
Update Ubuntu 18.04 ARM64 queues (dotnet/coreclr#23374)
* Update Ubuntu 18.04 queue.
* Update Debian 9 ARM queues as well.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d57b87227b7fd116735edf9f5f75b3154953d8e
Andrew Hoefling [Fri, 22 Mar 2019 02:23:53 +0000 (22:23 -0400)]
Updated Exception Handling for Collection<T> (dotnet/coreclr#23290)
* Updated Argument Helper param from list->collection since the parameter name is collection
* Updated exception message to use an out of range exception that doesn't explicitly reference a list
* Simplified if statements that verify if the index is out of range
* Updated if logic to be simplified using (uint)
* Updated exception handling to throw ThrowHelper.ThrowArgumentOutOfRange_IndexException() when the ExceptionArgument was 'Index'
Commit migrated from https://github.com/dotnet/coreclr/commit/
01adae878ded6fe51f6def1370255d816ab42d78
Brian Sullivan [Fri, 22 Mar 2019 00:10:42 +0000 (17:10 -0700)]
Merge pull request dotnet/coreclr#23391 from briansull/pipeline-work
Add azure-pipeline job: coreclr-ci (Test Pri0 Linux_musl x64 release)
Commit migrated from https://github.com/dotnet/coreclr/commit/
badf173369fa09d33893017ec201cbeb39da3b9c
Brian Sullivan [Thu, 21 Mar 2019 21:19:05 +0000 (14:19 -0700)]
Correct Linux_musl_x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e71dfa5634aec9b115f4c66acb9c8ea1c7048cb
Jan Vorlicek [Thu, 21 Mar 2019 21:12:11 +0000 (22:12 +0100)]
Merge pull request dotnet/coreclr#23321 from franksinankaya/gcc_cleanup_14
Integer Conversion issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
29dc90c13a5d091c21e21e4ba5d3c4bcd3eab18d
Andrew Au [Mon, 18 Mar 2019 22:19:45 +0000 (15:19 -0700)]
Avoid stack walk as specified in the exclusion list
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7c9ca110096c27de23f045cd176c2109d0676d9
Bruce Forstall [Thu, 21 Mar 2019 20:50:53 +0000 (13:50 -0700)]
Merge pull request dotnet/coreclr#23369 from BruceForstall/UpdateStaticStats
Update emitter statistics
Commit migrated from https://github.com/dotnet/coreclr/commit/
ceca0a77e8b48e30f9c6b67d2992c3276aba2177
Brian Bohe [Thu, 21 Mar 2019 18:19:03 +0000 (11:19 -0700)]
Moving gen stack level to code gen interface (dotnet/coreclr#23328)
* Make genStackLevel accessible from CodeGenInterface
* Initializing stackLevel before fist BasicBlock's code is generated
* Typo
* Removing extra line on comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
9497b0c77819d7b64a0f3c8bf22921182c99c09d
Brian Sullivan [Thu, 21 Mar 2019 17:39:23 +0000 (10:39 -0700)]
Add coreclr-ci (Test Pri0 Linux_musl x64 release)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb053bdc938c26353372a6b14f6b5c05b823f7d0
Brian Sullivan [Thu, 21 Mar 2019 17:35:04 +0000 (10:35 -0700)]
Merge pull request dotnet/coreclr#23350 from briansull/hva-tests
Update HVA test
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d8fc0a06eae4a657383929ba8ccfebb66730b61
Jarret Shook [Thu, 21 Mar 2019 17:28:29 +0000 (10:28 -0700)]
Remove innerloop flow jobs that were missed (dotnet/coreclr#23372)
* Remove innerloop flow jobs that were missed
* Correctly exclude windows x64 jobs as well
* Address pr feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
b04bccb1a60dd97b50231da0f9667b7ddbc994a7
Bruce Forstall [Thu, 21 Mar 2019 17:07:12 +0000 (10:07 -0700)]
Merge pull request dotnet/coreclr#23389 from BruceForstall/ReplaceZipWithTar
Replace Linux pmi_asm_diffs use of zip/unzip with tar
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2923fc03ff03742dc5004e9e673d01dc7e6e96d
Russ Keldorph [Thu, 21 Mar 2019 16:58:23 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#23384 from dotnet/darc-master-
e8de3fe3-fa66-4b56-92cd-
7be4e23a5739
[master] Update dependencies from dotnet/arcade
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3bdcc5ad1604a25e0860c1082ee4d7b4783760e
Bruce Forstall [Thu, 21 Mar 2019 16:56:44 +0000 (09:56 -0700)]
Replace Linux pmi_asm_diffs use of zip/unzip with tar
It appears our arm64 machines don't have 'zip', so are failing
to archive the final results.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d1b9d67237604ba1ef62d58987feecfd489f878
Michelle McDaniel [Thu, 21 Mar 2019 16:20:40 +0000 (09:20 -0700)]
Change perf smoketest queue (dotnet/coreclr#23371)
We have installed python3 on all of the Helix queues, so we no longer need to be on a special perf queue for the smoketest runs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e2ec23676cdf7e30c2f5691c3d74c062658284c1
José Rivero [Thu, 21 Mar 2019 16:08:46 +0000 (09:08 -0700)]
[EventPipe] Fix linker warning on Debug/Checked build and unlink Unix Domain Socket dotnet/coreclr#23334 (dotnet/coreclr#23357)
- Attempt to close-behind unix domain socket and repurpose LF_REMOTING facility.
- On shutdown, attempt to unlink the bound socket so it can be removed from the file system when the last reference to it it closed.
- Rename unused LF_REMOTING to LF_DIAGNOSTICS_PORT. This new flag will be used by the diagnostic server stress log calls.
- libcmtd.lib(initializers.obj) : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [S:\github.com\jorive\coreclr\bin\obj\Windows_NT.x64.Checked\src\dlls\mscoree\coreclr\coreclr.vcxproj]
- Move some preprocessors and includes around.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8624052c9e7b759e7f943cb2a84a2520bef1b79
Marek Safar [Thu, 21 Mar 2019 15:30:11 +0000 (16:30 +0100)]
Move Buffer constants to platform specific files (dotnet/coreclr#23352)
* Move Buffer constants to platform specific files
* Add explicit access modifier
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad30997d41d9652a644f6a2fe1b73bd8416d87b2
Jan Kotas [Thu, 21 Mar 2019 01:15:19 +0000 (18:15 -0700)]
Update CoreCLR for changes in shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
fbe0c7795effcd490984ebc4a07723dea6e1367e
Jan Kotas [Wed, 20 Mar 2019 07:39:51 +0000 (00:39 -0700)]
Unify EnumInfo and NamesAndValues
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
27f8a628fbe763de76b0d8e89b482dcf71efd730
Jan Kotas [Thu, 21 Mar 2019 06:54:41 +0000 (23:54 -0700)]
Hoist calls to IsBitwiseEquatable (dotnet/coreclr#23381)
Smaller IL is easier for JIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
35d3376190a48023e176ade9f2d5da1e945bf125
Jeremy Koritzinsky [Thu, 21 Mar 2019 05:59:29 +0000 (22:59 -0700)]
Runtime changes for IJW Activation (dotnet/coreclr#22636)
* Implement loading an assembly from an HMODULE on Windows.
* Use the native runtime to execute the main method so I don't have to replicate all of the startup behavior.
* If ijwhost is loaded, then call back into ijwhost to resolve tokens for vtable entries.
* Refactor our various component loaders (COM and IJW) and have IJW load components into separate ALCs when loaded from native.
* Move VTableFixups after DeliverSyncEvents in our incremental load. We need the module to be loaded to at least FILE_LOAD_DELIVER_EVENTS when resolving dependencies loaded via VTableFixups, otherwise they try to load into the default ALC.
* Only try to get ijwhost module handle on Windows.
* Use defined() instead of ifndef
* Fix off-Windows build break and fix unvalid comment.
* ComponentLoadContext->IsolatedComponentLoadContext
* Only build InMemoryAssemblyLoader when targeting windows.
* Add doc comments for IsolatedComponentLoadContext.
* Rename qcall.
* Add comment for boolean parameter.
* Add null check for managed ExecuteMainMethod entrypoint.
* Add comments in ceeload.cpp for the ijwhost method resolution.
* Add test verifying runtime callback to IJW host.
* Add test for InMemoryAssemblyLoader.LoadInMemoryAssembly.
* Fix x86 behavior rel. loading symbols by name and stdcall mangling.
* Remove exe entrypoints. The executable case for mixed-mode will go through the normal .NET Core app model (no special hosting support needed).
* Clean up whitespace
* Add test verifying M->N->M ALC switch behavior with IJW.
* Resolve the ijwhost module by probing the PE for the IJW assembly instead of hardcoding the name.
* Remove static caching in GetTokenGetterFromHostModule.
* Disable new IJW tests on Win7.
* PR Feedback.
* Cleanup extra copy of function.
* Use old-style environment checking in LoadIjwFromModuleHandle since we reference S.P.CL directly.
* Fix break in rebase
* Clean up fake mscoree code.
* Only validate that a CLR header exists. The OS verifies everything else.
* Make ijw host resolution code static to ceeload.cpp
* Use bracketed include for xplatform.h
* Update comment on _CorDllMain
* PR feedback.
* Remove .def file.
* PR feedback.
* Verify we export correctly on x86 and x64.
* Fix path to ijwhostmock for CopyConstructorMarshaler
* Disable IJW tests on arm32 nightly. Can't repro the dependency load failures. Fixes dotnet/coreclr#23358
Commit migrated from https://github.com/dotnet/coreclr/commit/
ea10aaccb09fe30f0444b821fd8d90d9257dd402
Sung Yoon Whang [Thu, 21 Mar 2019 02:20:01 +0000 (19:20 -0700)]
Test for PollingCounter (dotnet/coreclr#23257)
* Add test for PollingCounter
* some cleanup
* Comparing mean to failureCountCalled
* fix comparison
* compare to the correct count
* fix casing in csproj file
Commit migrated from https://github.com/dotnet/coreclr/commit/
42c234f25baf2a6bdd3a429cb8a9530a5dfa54b6
Brian Sullivan [Thu, 21 Mar 2019 01:15:14 +0000 (18:15 -0700)]
Expand Vector128 testing to 5 elements
Commit migrated from https://github.com/dotnet/coreclr/commit/
413cfde0df6dc9e722a7ce551238855c3eb62dbf
Brian Sullivan [Wed, 20 Mar 2019 23:43:53 +0000 (16:43 -0700)]
Merge branch 'master' into hva-tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e1882ee40cda54233cbdb4d5d47e9825978ddb5
Egor Chesakov [Wed, 20 Mar 2019 21:47:09 +0000 (14:47 -0700)]
Remove kill-tasks step in eng/build-job.yml and kill_tasks.cmd file (dotnet/coreclr#23351)
Commit migrated from https://github.com/dotnet/coreclr/commit/
69dc790d171783584f5af3a5da60a25e2c301899
Bruce Forstall [Mon, 18 Mar 2019 21:53:52 +0000 (14:53 -0700)]
Update emitter statistics
1. Move BasicBlock static statistics output to block.cpp,
and update it to match the current BasicBlock declaration.
2. Add counts for each instrDesc type that is used.
3. Dump instrDesc type sizes.
4. Dump IG "static" buffer sizes.
5. Dump how many of each instrDesc can fit in the "static" IG.
6. Dump the maximum prolog instrDesc count and prolog IG size.
7. Fix and enable the "common small constants" output.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db98a132c216cf561b74a3cb86980e3f22d80852
Andy Hanson [Tue, 5 Mar 2019 22:29:31 +0000 (14:29 -0800)]
Don't compact LOH just because a heap_hard_limit exists
This is based on a perf test with 100% survival in a container, before
and after dotnet/coreclr#22180. GC pause times were greater after that commit.
Debugging showed that the reason was that after, we were always doing
compacting GC, and objects were staying in generation 1 and not making it
to generation 2. The reason was that in the "after" build,
`should_compact_loh()` was always returning true if heap_hard_limit was
set; currently if we do an LOH compaction, we compact all other
generations too. As the comment indicates, we should decide that
automatically, not just set it to true all the time.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cc14e6cecf6984c991fe906c9fe4b327b4f93f96
Sergey Andreenko [Wed, 20 Mar 2019 17:12:06 +0000 (10:12 -0700)]
Restrict the set of platforms for GCStress testing. (dotnet/coreclr#23353)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0eae19e1754517085d38df2a48861c2370c26eea
Brian Bohe [Wed, 20 Mar 2019 17:08:01 +0000 (10:08 -0700)]
Adding a flag to able/disable scope info (dotnet/coreclr#23298)
* Flag USING_SCOPE_INGO definition
* Enclosing siScope's related functions uses with USING_SCOPE_INFO flag definition check
* Encapsulating genSetScopeInfo when using siVarScope
* Moving comment inside flag defined block
* Include siScope/psiScope functions only when flag USING_SCOPE_INFO is defined
* Disable scope info
* Typo
* Adding comment flag name on #endif
* Remove redundant access levels/flags
* Repeating last accessibility level in case flag is disabled
* Setting use of siScope and psiScope as default way of reporting variable homes
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee508291b7cec2b0a0d5e7929846d3e40446810
Andy Ayers [Wed, 20 Mar 2019 16:17:30 +0000 (09:17 -0700)]
Add repro case for jit stack overflow failure (dotnet/coreclr#23346)
Repro case for dotnet/coreclr#18582 and dotnet/coreclr#23309.
Commit migrated from https://github.com/dotnet/coreclr/commit/
69ec6463cd14b5478dbd6b577ce0483fc0a838c3
Sergey Andreenko [Wed, 20 Mar 2019 06:16:26 +0000 (23:16 -0700)]
Exclude GC/Collect from GCStress testing. (dotnet/coreclr#23345)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4dca1072d15bdda64c754ad1ea474b1580fa554
Jeremy Koritzinsky [Tue, 19 Mar 2019 23:22:47 +0000 (16:22 -0700)]
Implement support for copy constructors when marshalling in IJW (dotnet/coreclr#22805)
Fixes dotnet/coreclr#22219.
I decided to try simplifying the code when bringing this feature over from .NET Framework. The .NETFX x86 implementation of this marshaler adds a lot of extra code-paths, and intercepts the calling stub to enable it to exactly replicate the behavior of what would be the native code by copy-constructing an object in-place where it goes on the stack for the native call.
Instead of adding all of that extra goo, I decided to keep the implementation much more similar to the non-x86 implementation from .NETFX. Instead of intercepting the call and adding bookkeeping helper stubs, the marshaler just copies to a local in the IL stub, just like non-x86. When calling the native function, it just loads the local onto the IL stack and calls the native function as a normal function. There is a difference there, but I cannot think of a way that the difference is observable to the user.
The non-x86 implementation is identical to the .NETFX implementation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bca72836811aa1b82389c50dc4f2bcae222bdc0
Brian Sullivan [Tue, 19 Mar 2019 21:56:54 +0000 (14:56 -0700)]
Merge branch 'master' into hva-tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2c397b649181f793d6c29f1de78d0aee0a52596
Brian Sullivan [Tue, 19 Mar 2019 21:51:14 +0000 (14:51 -0700)]
Fill out full test matrix
Give detailed error messages for test failures:
test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0)
test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0) (via reflection)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed9a4bf1392e247a12c119a551cd892c9d9e8d1f
Sung Yoon Whang [Tue, 19 Mar 2019 21:46:18 +0000 (14:46 -0700)]
Remove timer in RuntimeEventSource (dotnet/coreclr#23311)
* Change RuntimeEventSource's counter types
* cleanup
* cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
accc6eb0f0f669494bee0788884b5a10101f1243
Grant [Tue, 19 Mar 2019 21:20:00 +0000 (14:20 -0700)]
Trim/TrimStart/TrimEnd methods for Memory and Span (dotnet/coreclr#22798)
* Span.Trim
* Add another helper
* Remove redundant comments
* Optimize Trim(ReadOnlySpan<char>)
* Suggested overload for byte
* CR fixes
* CR fix
* Add Span overloads
* Add Memory overloads
* CR
* Rename method
* Optimization
* Tweaks
* Refactor
* Opt
* Use 2 helpers
* CR fixes
* CR fixes
* Nits
* CR fixes
* remove in params
* Bug
* Bug
* Move Trim methods to their own dedicated file
* Add char overloads
* Use Contains
* CR fixes
* Optmize ClampNull
* Nit
* Revert optimization
* Make existing implementations consistent with new
* Revert existing methods
* Move helpers
* Span, Memory and RoM should use consistent pattern
* POC for changing RoS
* Revert POC
* Use consistent idiom
* More inlining of explaining vars
* Use expression body for existing code
* CR fixes
* Nit
* Grammar
* CR fixes
* Fix perf bug in existing code
* Perf fix
* Force CI build
* Force CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
860c72845fa6ac501d11f6b71d0b79f4294745d6
David Mason [Tue, 19 Mar 2019 21:00:36 +0000 (14:00 -0700)]
Reintroduce PR dotnet/coreclr#22617 (Update added types and methoddefs on ApplyMetadata) (dotnet/coreclr#23202)
* Add ApplyMetadata changes back
This reverts commit dotnet/coreclr@
f9c10f995fe65c0e7c30aa1734f7bb22c519983d.
* Fix race condition in loading available class hash for R2R with old R2R images or profiler modified R2R images
Commit migrated from https://github.com/dotnet/coreclr/commit/
5aacb1dfa019eb4865800d05a408665be322ea77
Sergey Andreenko [Tue, 19 Mar 2019 18:34:57 +0000 (11:34 -0700)]
Update CoreFX Windows Arm64 exclusion list. (dotnet/coreclr#23261)
* Reenable CoreFX tests that were fixed on arm64 windows.
* Exclude Microsoft.Win32.SystemEvents.Tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9de10e0c1fd090d1a5f624e0d77b70bddf1490d
Jarret Shook [Tue, 19 Mar 2019 18:06:56 +0000 (11:06 -0700)]
Disable Jenkins Innerloop Jobs (dotnet/coreclr#23287)
* Disable Jenkins Innerloop Jobs
This change will:
1) Remove default PR trigger jobs from being run in jenkins
2) Start submitting tests for linux arm32 in coreclr-ci
It is worth noting that this change will not remove jobs from netci.groovy.
This is to say that it is still possible to trigger innerloop and outerloop
jobs in jenkins, they will just not be run automatically on each new PR.
Past this point coreclr-ci will be the only PR triggered jobs to appear in Coreclr.
To see test results, navigate to the coreclr-ci Azure Dev Ops page at:
https://dev.azure.com/dnceng/public/_build?definitionId=228 and view the build related to your PR.
There is a test tab which will report all test results.
* Address PR feedback
* Add queue to array syntax
* Do not create push trigger jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
21075b3f0150084e341a7d37374de67c616b9870
Brian Bohe [Tue, 19 Mar 2019 17:21:49 +0000 (10:21 -0700)]
Adding const to functions that don't change or shouldn't change state (dotnet/coreclr#23329)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8497ae3ed438f443b22b00a66f42afe8f6623bbf
Jarret Shook [Tue, 19 Mar 2019 16:06:56 +0000 (09:06 -0700)]
Revert "Delete suspicious code in delegate construction (dotnet/coreclr#22830)" (dotnet/coreclr#23291)
This reverts commit dotnet/coreclr@
674bdcbc2ac824d005b5179cee3c5826b582b9a6.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0786da806b9727c466f3f9393cb3d55cf9df7536
Levi Broderick [Tue, 19 Mar 2019 05:58:32 +0000 (22:58 -0700)]
Add Utf8String skeleton (dotnet/coreclr#23209)
Utf8String is an experimental type that is string-like (heap-allocated, immutable, variable-length, null-terminated) but whose inner representation is UTF-8, not UTF-16.
This is a skeleton implementation of the basic API shape. The ecosystem of APIs has not yet been built around it. All Utf8String-related code is currently surrounded by ifdefs to allow easy identification and removal from release branches.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f3f474a13bdde1c5fecdf8cd9ce525dbe5df000
Levi Broderick [Tue, 19 Mar 2019 02:17:20 +0000 (19:17 -0700)]
Add Rune.TryEncodeToUtf8 and related APIs (dotnet/coreclr#23250)
Also renames the existing Encode / Decode APIs per design review feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
31581af5fa816fb2ea94145823ec3bdd6c0b0327
Jeremy Koritzinsky [Tue, 19 Mar 2019 01:01:29 +0000 (18:01 -0700)]
Fix Interop/SizeConst/SizeConstTest to successfully run in all locales. (dotnet/coreclr#20268)
This test initially would fail when run on a multibyte character set with characters for the original value of `s.arr` such as zh-CH. We cannot change the marshaler since there is not a good way to determine how many bytes/character we need at type-load-time (when the size of the native type is determined).
This change allows us to accurately run this test on Windows machines with multi-byte character sets.
Fixes dotnet/coreclr#7793.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2fcf278b141e61ef3ae4c9afa9e3dc1ea9954bb0
William Godbe [Mon, 18 Mar 2019 20:39:34 +0000 (13:39 -0700)]
Merge pull request dotnet/coreclr#23314 from dotnet/darc-master-
648053b9-42fd-4c35-979c-
5fdabc09c8cb
[master] Update dependencies from dotnet/core-setup
Commit migrated from https://github.com/dotnet/coreclr/commit/
82f60c93d6677a6245446e72624723ee70254e4f
Maoni Stephens [Mon, 18 Mar 2019 20:39:29 +0000 (13:39 -0700)]
Fix for running in a container without mem limit set on Windows; (dotnet/coreclr#23297)
also fixing the LocalGC standalone case on Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf887c943bf1dee978bc863b7481686ecee8ad83
Mathias Lykkegaard Lorenzen [Mon, 18 Mar 2019 20:38:57 +0000 (21:38 +0100)]
Update assemblyloadcontext.md (dotnet/coreclr#23318)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2642ad1b4c94e21a92a5e6426f7a6556551977d
Sinan Kaya [Mon, 18 Mar 2019 18:27:59 +0000 (14:27 -0400)]
Fix explicit constructor calls and Remove multi-line comments (dotnet/coreclr#23162)
* fix implicit constructor call
* extern c
format patch
* muti-line
* Remove direct constructor call
* Conversion
* Need paranthesis
* Return value on resize
* declspec(Thread)
* Ignore warnings for GCC
* Formatting issues
* Move cast to constant
Commit migrated from https://github.com/dotnet/coreclr/commit/
6100a9faf1c29b06aed3ad5bef00ce905880309d
Sinan Kaya [Mon, 18 Mar 2019 18:14:40 +0000 (18:14 +0000)]
Conversion issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c1c24998ea177a465f7cf8649eb7ae77fcd2e77
Jan Vorlicek [Mon, 18 Mar 2019 17:53:39 +0000 (18:53 +0100)]
Merge pull request dotnet/coreclr#23307 from franksinankaya/gcc_cleanup_13
Fix conversion, unknown pragmas and Visibility Issues for GCC
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9781f1d81b06ea1562521aea6d278ca876c82ad
Jan Vorlicek [Mon, 18 Mar 2019 17:53:08 +0000 (18:53 +0100)]
Merge pull request dotnet/coreclr#23179 from franksinankaya/gcc_cleanup_11
Correct current script dir detection for GCC
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c0849e28dc97fb941a60bf869e822c372286ff1
José Rivero [Mon, 18 Mar 2019 17:23:30 +0000 (10:23 -0700)]
[EventPipe] Adding an IPC server to handle out of process communication. (dotnet/coreclr#23106)
This is the first commit to enable a "diagnostic port" using IPC (Named Pipe on Windows and Unix Domain Socket on other platforms). This change currently enable EventPipe to be enabled/disabled without the use of a file drop.
- Split the DiagnosticsIpc into (DiagnosticsIpc/IpcStream)
- DiagnosticsIpc (IPC listener) is meant to be used by the Diagnostic server.
- IpcStream (IPC channel) is meant to be use to communicate with the connected client.
- Change the FastSerializer dependency from `CFileStream` to `StreamWriter`
This abstraction is meant decouple the writing of objects in order to extend its usability.
The main objective is to reuse FastSerializer to stream data through the open IPC channel.
- Moved the EventPipeSessionProvider* classes to their own file.
- Added a more streamlined parsing achievable by defining a simpler binary protocol (by noahfalk).
1. Only one allocation is needed for the EventPipeProviderConfiguration array, no allocations or copies are needed for strings because we can refer to them directly out of the incoming command buffer
2. No change to the EventPipe API for enable is required. EventPipeProviderConfiguration retains its current behavior of not deleting the string pointers it holds.
3. No leaks happen because the command buffer owns the string memory and ensures that it stays alive for the duration of the Enable() call.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4497df34cbe3d8bf7a21828714a3cf764da16e98
Sinan Kaya [Mon, 18 Mar 2019 13:16:31 +0000 (13:16 +0000)]
Add gcc6 and gcc8 to supported compilers
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8aadb40fe94ba123087c279a57c65b5cfa3ebff
Sinan Kaya [Mon, 18 Mar 2019 02:32:13 +0000 (02:32 +0000)]
Support gcc for build-test.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
5bc76805829a6202a5d73ac22f21a6b2eb528507
Levi Broderick [Mon, 18 Mar 2019 05:30:50 +0000 (22:30 -0700)]
Make more types eligible for vectorized code paths in MemoryExtensions (dotnet/coreclr#20855)
Types like sbyte, ushort, and other 8-bit / 16-bit elemental types are now directed down the fast vectorized code paths that previously only byte and char were eligible for.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b88f2f635b02c130ae00b4d8aee3e766a60698d5
Sinan Kaya [Sun, 17 Mar 2019 20:39:59 +0000 (20:39 +0000)]
Correct ignored align attribute
src/vm/threadpoolrequest.h:166:48: error: attribute ignored in declaration of ‘struct ManagedPerAppDomainTPCount::<anonymous>’ [-Werror=attributes]
DECLSPEC_ALIGN(MAX_CACHE_LINE_SIZE) struct {
^
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d3eeaa1a16dc9bcb3279e6503cc3489d644a82f
Sinan Kaya [Sun, 17 Mar 2019 20:36:22 +0000 (20:36 +0000)]
Const has static linkage
bin/obj/Linux.x64.Debug/src/dlls/mscorrc/full/mscorrc_debug.cpp:1002:110: error: ‘visibility’ attribute ignored [-Werror=attributes]
const NativeStringResourceTable nativeStringResourceTable_mscorrc_debug __attribute__((visibility("default"))) = {
Commit migrated from https://github.com/dotnet/coreclr/commit/
45d5b3a7c3b426965defd7b264d24ef00e955751
Sinan Kaya [Sat, 16 Mar 2019 17:31:17 +0000 (17:31 +0000)]
Remove old files
Commit migrated from https://github.com/dotnet/coreclr/commit/
1609b9791ff30bbefed7e6fb2eb42b4aea2d98f9
Sinan Kaya [Mon, 11 Mar 2019 17:01:39 +0000 (17:01 +0000)]
Correct current script dir detection
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d81fad0a06a5153968493bf23e5b782789581c8