Konstantin Baladurin [Thu, 3 May 2018 19:57:26 +0000 (22:57 +0300)]
[Linux/x86] Fix tests in case of 4-byte alignment for 64-bit types (dotnet/coreclr#17829)
JIT/Directed/RVAInit/nested
JIT/Directed/RVAInit/simple
JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b103058/b103058
Commit migrated from https://github.com/dotnet/coreclr/commit/
68e69118275bd37501d068a84290fd72c3852361
Jan Kotas [Thu, 3 May 2018 17:36:15 +0000 (10:36 -0700)]
Port Marshal UTF8 fixes from CoreRT (dotnet/coreclr#17868)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a842c03c1d60a5c57b7c60d09a657e6a66e4c95
Bruce Forstall [Thu, 3 May 2018 16:02:39 +0000 (09:02 -0700)]
Merge pull request dotnet/coreclr#17873 from stakx/documentation-corrections
Some corrections in build documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
df18cb3cdd69f49fe3fc7bf89ed3e2e356e97cfa
stakx [Thu, 3 May 2018 15:49:32 +0000 (17:49 +0200)]
Some corrections in build documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
0feb3815331c3cb0d7cda1ec99f89dd9a7b9f690
Bernie FitzGerald [Thu, 3 May 2018 02:23:00 +0000 (12:23 +1000)]
typo (dotnet/coreclr#17867)
Serialable should have been Serializable
publically should have been publicly
Commit migrated from https://github.com/dotnet/coreclr/commit/
d142ffd3ba970ca24502f49835fe8e2ea1f5558b
Dan Moseley [Thu, 3 May 2018 00:20:50 +0000 (17:20 -0700)]
Clarifying comment on overflow (dotnet/coreclr#17865)
* Clarifying comment on overflow
* Nits
Commit migrated from https://github.com/dotnet/coreclr/commit/
9aea5b643d9f928244ddd50feaa6bc41fad28450
Stephen Toub [Wed, 2 May 2018 18:34:32 +0000 (11:34 -0700)]
Fix faulty assert in Utilities.SelectBucketIndex (dotnet/coreclr#17863)
0 is a valid length.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3810ab844978f3f2bb9f7e1d1af29ebba4b7eea8
Jan Kotas [Wed, 2 May 2018 10:48:41 +0000 (03:48 -0700)]
Delete incorrect comment (dotnet/coreclr#17859)
Commit migrated from https://github.com/dotnet/coreclr/commit/
92bf15fa26eeda021ae58a22d7895fbe12ab5b58
Atsushi Kanamori [Wed, 2 May 2018 03:30:22 +0000 (20:30 -0700)]
Rename internal Utf8String to MdUtf8String (dotnet/coreclr#17856)
We want to start prototyping Utf8String in CoreFxLab
and for that, we'll need a bare-bones System.Utf8String
class exposed from System.Private.CoreLib.
Unfortunately, CoreLib already has an internal
struct named System.Utf8String. Since it's only
an internal type, we'll exercise eminent domain
on its name now and get these noise changes out of
the way.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcb04373e2015ae12b55f33fdd0dd4580110db98
Sergey Andreenko [Tue, 1 May 2018 23:05:32 +0000 (16:05 -0700)]
Fix arm test list creator for Windows (dotnet/coreclr#17852)
* use "\n" for splitting lines
* update comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc36988f5417dc600bce75a530e4c9297ec589b2
Wes Haggard [Tue, 1 May 2018 23:02:31 +0000 (16:02 -0700)]
Merge pull request dotnet/coreclr#17854 from weshaggard/FixSourceBuildM
Switch source build property to DotNetBuildFromSource
Commit migrated from https://github.com/dotnet/coreclr/commit/
0eb32770246386343d8b7fb4c47b58bcd2900570
Marco Rossignoli [Tue, 1 May 2018 17:45:59 +0000 (19:45 +0200)]
remove duplicates
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8f028d7a47e6e2872d733346509e3be1e64ceb4
Egor Chesakov [Tue, 1 May 2018 19:16:51 +0000 (12:16 -0700)]
Enable long running CoreFx Ubuntu/arm tests (dotnet/coreclr#17836)
Commit migrated from https://github.com/dotnet/coreclr/commit/
edcd22193f3186160902a4180b449d6ebbee8b08
Wes Haggard [Mon, 30 Apr 2018 23:47:09 +0000 (16:47 -0700)]
Switch source build property to DotNetBuildFromSource
Detect source-build via DotNetBuildFromSource instead of
DotNetBuildOffline which is set for the tarball build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5975057d8a63c8f3a937af0614d7c9c705cc979
Carol Eidt [Tue, 1 May 2018 18:16:25 +0000 (11:16 -0700)]
Merge pull request dotnet/coreclr#17737 from fiigii/vectortests
Port more Vector tests to Vector128/256<T>
Commit migrated from https://github.com/dotnet/coreclr/commit/
86736f9dbab8224afff7b7a472c1cdf6cba8bd19
Brian Sullivan [Tue, 1 May 2018 18:12:37 +0000 (11:12 -0700)]
Merge pull request dotnet/coreclr#17845 from briansull/fix-17841
ARM64 like ARM32 also needs a much larger instruction group size
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f87876efb6b0ff61d9374149fa1b1464a6f5b9c
Carol Eidt [Tue, 1 May 2018 15:50:42 +0000 (08:50 -0700)]
Merge pull request dotnet/coreclr#17848 from CarolEidt/Repro17756
Reenable test for 17756
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c7912f7463e89ac17fb6713414a3fc35cf869fd
Peter Marcu [Tue, 1 May 2018 04:24:29 +0000 (21:24 -0700)]
Update DotnetCLIVersion.txt (dotnet/coreclr#17843)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e34786defbfc5c87a90d79b284291370d015c970
Carol Eidt [Tue, 1 May 2018 01:06:10 +0000 (18:06 -0700)]
Reenable test for 17756
Commit migrated from https://github.com/dotnet/coreclr/commit/
28cf4eded6ce3d2a55b904ba8a8b42d4c8fd0616
Sung Yoon Whang [Mon, 30 Apr 2018 23:16:45 +0000 (16:16 -0700)]
Adding back test for windows event log (dotnet/coreclr#17821)
* update test dependencies
* add test
* Allow more leeway for time
* modify test per PR comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d963469bb16a734d07c1760f392cf325b17d0e4
Brian Sullivan [Mon, 30 Apr 2018 23:03:11 +0000 (16:03 -0700)]
ARM64 like ARM32 also needs a much larger instruction group size
because the prolog can be quite large.
Commit migrated from https://github.com/dotnet/coreclr/commit/
94aee98c2acf2a59f52684f7062172d21e0c582c
Noah Falk [Mon, 30 Apr 2018 22:51:04 +0000 (15:51 -0700)]
Add runtimeconfig.json support for tiered compilation (dotnet/coreclr#17840)
Commit migrated from https://github.com/dotnet/coreclr/commit/
395c6a2979635f20463a3d1dd33d43f409fa33a4
Sung Yoon Whang [Mon, 30 Apr 2018 21:59:14 +0000 (14:59 -0700)]
GC env vars (dotnet/coreclr#17837)
* update server gc export for runtest.sh
* remove CORECLR_SERVER_GC
* Change CORECLR_CONCURRENT_GC to COMPlus_gcConcurrent as well
* Remove it from coreruncommon.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
829ca543d5c42e6e4782498f5971ea3325e25c32
dotnet-maestro-bot [Mon, 30 Apr 2018 19:00:27 +0000 (14:00 -0500)]
Update CoreClr, CoreFx to preview1-26430-05, preview3-26430-04, respectively (dotnet/coreclr#17832)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6adad07ffb96a75e89ed9f50fbdeab2c7cf3e041
Jan Kotas [Sat, 28 Apr 2018 17:59:39 +0000 (10:59 -0700)]
Delete unnecessary caches (dotnet/corefxdotnet/coreclr#29392)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
e73a712a1988865ddbf794524018ff05ac9f2b5f
dotnet-maestro-bot [Sat, 28 Apr 2018 20:05:49 +0000 (15:05 -0500)]
Update CoreClr, CoreFx to preview1-26428-04, preview3-26428-04, respectively (dotnet/coreclr#17813)
Commit migrated from https://github.com/dotnet/coreclr/commit/
96c235a5176542609d068bda51aac2c9e2595a2e
Konstantin Baladurin [Sat, 28 Apr 2018 12:22:38 +0000 (15:22 +0300)]
[Linux/x86] Fix 64 bit shift inconsistencies (dotnet/coreclr#17826)
Apply dotnet/coreclr#15443 and dotnet/coreclr#15949 for Linux/x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
45544e0970df4ea4f6db20fd4a5b673ddb763ebb
Adam Sitnik [Sat, 28 Apr 2018 00:51:09 +0000 (17:51 -0700)]
Merge pull request dotnet/coreclr#17811 from noahfalk/fix_jitbench
Fix jitbench
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cd7d40d7bfaf1b6778eb2b982c1bd91d98961c6
Brian Robbins [Sat, 28 Apr 2018 00:13:32 +0000 (17:13 -0700)]
Update ARM32 Cross Build Docker Image (dotnet/coreclr#17819)
Commit migrated from https://github.com/dotnet/coreclr/commit/
53450d7cd4f3d73aa976d2d6be96a3bfe6c028c9
Bruce Forstall [Fri, 27 Apr 2018 23:24:29 +0000 (16:24 -0700)]
Update Windows arm32 corefx test failure exclusions (dotnet/coreclr#17803)
* Update Windows arm32 corefx test failure exclusions
All Windows arm32 corefx test jobs should pass with these exclusions.
* Add back Microsoft.Win32.Registry.Tests exclusion
Commit migrated from https://github.com/dotnet/coreclr/commit/
9685906a2ead4f6f477591d6c5f41b4475b1c691
Stephen Toub [Fri, 27 Apr 2018 22:37:09 +0000 (15:37 -0700)]
Fix Number.ParseNumber to not assume '\0' at the end of a span (dotnet/coreclr#17808)
* Fix Number.ParseNumber to not assume '\0' at the end of a span
This routine was written for parsing strings, which are implicitly null-terminated, and it doesn't factor in string length but instead uses tricks to exit loops when the next character is null. Now that the routine is also used for spans, this is very problematic, as spans need not be null terminated, and generally aren't when they represent slices, and expecting a null termination like this can result in walking off the end of valid memory.
I would like to see all of this code rewritten to use span. In the interim, though, as a short-term fix I've changed all dereferences of the current position to compare against the length of the span (or, rather, a pointer to the end), and pretend that a null terminator was found if we've hit the end.
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0a55af49fb03d064f7654ef6ee664b3eb384268
Mike McLaughlin [Fri, 27 Apr 2018 22:15:43 +0000 (15:15 -0700)]
Add better portable PDB caching to System.Diagnostics.StackTrace. (dotnet/coreclr#17804)
Add portable PDB caching to StackTrace.
This is the mscorlib side of the change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
acb110d3e9218bce176b411e32a22f8cb7abb1b0
Aditya Mandaleeka [Fri, 27 Apr 2018 19:56:57 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#17806 from adityamandaleeka/fix_unmanaged_target_reg
Fix register being shifted in PInvoke stub
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d6a23d558218bd2581f65d57b26653d50916206
Brian Sullivan [Fri, 27 Apr 2018 19:34:26 +0000 (12:34 -0700)]
Merge pull request dotnet/coreclr#17793 from briansull/allocOutArgSpace
Allocate the lvaOutgoingArgSpaceVar early
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f661c554364f32acd910366bca836d6c93830a7
Aditya Mandaleeka [Fri, 27 Apr 2018 19:20:30 +0000 (12:20 -0700)]
Use HiddenArg instead of hardcoded x12.
Commit migrated from https://github.com/dotnet/coreclr/commit/
11dfbc74dbf73e931c1263cd5c24392ca7e5995d
noahfalk [Fri, 27 Apr 2018 10:07:41 +0000 (03:07 -0700)]
Fix jitbench
Addressed 3 issues:
1) coreclr and CoreFx were out of sync -> update dependencies.props
2) Word2Vec fails on x86 sometimes with OutOfMemory -> disabled it there because it appears the behavior is by design
3) CommandLineParser 2.1.1 doesn't restore anymore? -> NuGet was already rolling forward to 2.2.0 but changing it in the source removes the warning when using dotnet.exe to run JitBench
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c499ccf8d54665b458d4b5938321ab4048a1b1f
dotnet-maestro-bot [Fri, 27 Apr 2018 04:51:56 +0000 (23:51 -0500)]
Update CoreClr, CoreFx to preview1-26427-01, preview3-26427-01, respectively (dotnet/coreclr#17791)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0894a0d668634741dc9e73db24b54cc83b556186
Bruce Forstall [Fri, 27 Apr 2018 02:00:46 +0000 (19:00 -0700)]
Remove some fgMorphArgs dead code (dotnet/coreclr#17788)
For the arm64 case of a special return buffer argument (always x8),
we don't need the code to check for it, because a few lines above all
non-standard args cause us to "continue", and skip the code.
Also, remove a duplicative #ifdef.
Commit migrated from https://github.com/dotnet/coreclr/commit/
861198647dc232ecaf05b4a8e2f10605e7a22537
Aditya Mandaleeka [Fri, 27 Apr 2018 01:21:10 +0000 (18:21 -0700)]
Fix register being shifted in pinvoke stub.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d17bdb0770ea91bcd4ecc47903aecb037452982e
Fei Peng [Wed, 25 Apr 2018 19:19:29 +0000 (12:19 -0700)]
Simplify VectorRet test
Commit migrated from https://github.com/dotnet/coreclr/commit/
9bc22c60cc38a61831ba646676f138480d585784
Fei Peng [Wed, 25 Apr 2018 19:14:24 +0000 (12:14 -0700)]
Port more Vector tests to Vector128/256
Commit migrated from https://github.com/dotnet/coreclr/commit/
da50c7c0b92f47260ad95fc6995b6d58767965e8
Sung Yoon Whang [Thu, 26 Apr 2018 21:02:59 +0000 (14:02 -0700)]
Fix GC test failures (dotnet/coreclr#17766)
* Fix finalizearraysleep and handlecopy gc tests
* revert changes to nstructtun
* forgot to add this fix in
* fix handlecopy
* fix nstructtun
* fix nstructtun
Commit migrated from https://github.com/dotnet/coreclr/commit/
9cefdd60d2c58c34c11b74f0cd042fb0731ca720
Brian Sullivan [Thu, 26 Apr 2018 20:14:33 +0000 (13:14 -0700)]
clang tidy
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b29a227d25dd51789ba461e63611c4f0ef62d13
Brian Sullivan [Thu, 26 Apr 2018 18:13:32 +0000 (11:13 -0700)]
Allocate the lvaOutgoingArgSpaceVar very early, right after the user locals.
This ensures that it gets a low LclVar number so that we don't hit
the IMPL_LIMITATION associated with offsets > 255 for LclVar numbers above 32767
Commit migrated from https://github.com/dotnet/coreclr/commit/
383481c9ffad0291383ee406a575239b9ad76728
Aditya Mandaleeka [Thu, 26 Apr 2018 17:40:45 +0000 (10:40 -0700)]
Merge pull request dotnet/coreclr#17694 from adityamandaleeka/fix_struct_passing_arm64
Account for copied bytes in struct copy loop when generating GT_PUTARG_STK code [ARM64]
Commit migrated from https://github.com/dotnet/coreclr/commit/
df6f673e39feab606b230447cfdbdad45d1906c9
dotnet-maestro-bot [Thu, 26 Apr 2018 05:09:12 +0000 (00:09 -0500)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02725-03, preview1-26426-01, preview3-26425-01, master-
20180424-0039, respectively (dotnet/coreclr#17749)
Commit migrated from https://github.com/dotnet/coreclr/commit/
70f600cf5b3398f120eae796f822bde09677a65a
Chuck Ries [Wed, 25 Apr 2018 23:06:49 +0000 (16:06 -0700)]
Don't optimize away Task code needed for debugger (dotnet/coreclr#17776)
This prevents the IL linker from optimizing away some properties/methods
related to tasks that are used by a debugger but are not referenced
anywhere else in coreclr.
This specifically fixes async callstack frames for the xplat C# debugger.
Commit migrated from https://github.com/dotnet/coreclr/commit/
54bdc1681c08cf9230561733d4728bc13cbc494e
Koundinya Veluri [Wed, 25 Apr 2018 22:21:52 +0000 (15:21 -0700)]
Fix AsyncLocal<class> changed event to not be raised multiple times for one change in value (dotnet/coreclr#17767)
Fix AsyncLocal<class> changed event to not be raised multiple times for one change in value
Functional fix for https://github.com/dotnet/coreclr/issues/17758
Commit migrated from https://github.com/dotnet/coreclr/commit/
f522335bf390964e3a0aacf261aac922a74e4be2
Eugene Rozenfeld [Wed, 25 Apr 2018 05:36:19 +0000 (22:36 -0700)]
Fix TailCallStress mode to do more legality checks (dotnet/coreclr#17763)
Check with EE whether tail call is allowed before adding
tail. prefix in TailCallStress mode.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7273f13db6f26f24764fdf13c690b5a2e7215940
Bruce Forstall [Wed, 25 Apr 2018 04:15:15 +0000 (21:15 -0700)]
Merge pull request dotnet/coreclr#17757 from BruceForstall/MakeArmUbuntuCorefxTestRunClean
Disable all failing Ubuntu arm corefx tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
977371e18f1ab7715a3ef808f4555d8cea92f3ab
Brian Robbins [Wed, 25 Apr 2018 02:11:48 +0000 (19:11 -0700)]
Patch LTTng ust-tracepoint.h on ARM/Trusty when building crossrootfs. (dotnet/coreclr#17762)
Commit migrated from https://github.com/dotnet/coreclr/commit/
801882177f3c71b1c2b99ed581d62ad7c4fd18e5
Wes Haggard [Wed, 25 Apr 2018 00:05:45 +0000 (17:05 -0700)]
Merge pull request dotnet/coreclr#17747 from weshaggard/RemoveAlpineBuild
Remove Alpine 3.6 builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
482099f5fba1f1e4567d86ad57b79f99ad73ba65
Sergey Andreenko [Tue, 24 Apr 2018 22:42:27 +0000 (15:42 -0700)]
Delete unused tests\arm64\fails.testlist (dotnet/coreclr#17745)
* Reenable fixed arm64 tests
* delete the unused file
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c584d894c143410397230af718401347447beef
Carol Eidt [Tue, 24 Apr 2018 21:22:42 +0000 (14:22 -0700)]
Merge pull request dotnet/coreclr#17697 from mikedn/vec-hnd
Initialize Compiler::Vector128/256ULongHandle in compInit
Commit migrated from https://github.com/dotnet/coreclr/commit/
359f32036f0e72280c37343f7c3af1bbe0582828
Jarret Shook [Tue, 24 Apr 2018 20:51:06 +0000 (13:51 -0700)]
Merge pull request dotnet/coreclr#17725 from dotnetrt/FixNixTestBuild
Fix unix test build by removing unnecessary 'managed_test_build' semafore file
Commit migrated from https://github.com/dotnet/coreclr/commit/
b48bcfe55e402023022fd030a756216ef9232139
Bruce Forstall [Tue, 24 Apr 2018 18:56:18 +0000 (11:56 -0700)]
Disable all failing Ubuntu arm corefx tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
03ab8a4f376f770c76fab7e7b09a56552edc3033
Viktor Hofer [Tue, 24 Apr 2018 07:49:16 +0000 (09:49 +0200)]
Move Hashtable & friends to shared parition (dotnet/coreclr#17316)
* Move Hashtable & friends to shared parition
* Move HashHelper serialization logic into its own file
* Remove unchecked keyword in Hashtable
Commit migrated from https://github.com/dotnet/coreclr/commit/
30b07e10fbb477a0d08d0d2ec022f51d8bd3a9a9
Jan Kotas [Tue, 24 Apr 2018 04:42:24 +0000 (21:42 -0700)]
Delete unused variables from CMakeLists.txt (dotnet/coreclr#17743)
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa830689529feefea1ea74cfe8da7c282017480e
Steve MacLean [Tue, 24 Apr 2018 01:39:24 +0000 (21:39 -0400)]
GenericPInvokeCalli shift left then or 1 (dotnet/coreclr#17734)
When _WIN64 is defined vm relies on the secret arg being
shifted left and orred with dotnet/coreclr#1.
Revert part of changes from dotnet/coreclr#17659 to fix dotnet/corefxdotnet/coreclr#29266
Fix arm64 to match amd64
Simplify dllimport.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ebaadf50f99050591a6a987888ef9077cf2050b
Bruce Forstall [Tue, 24 Apr 2018 00:53:41 +0000 (17:53 -0700)]
Merge pull request dotnet/coreclr#17746 from BruceForstall/FixUbuntuArmCorefxCronJobs
Fix Ubuntu arm corefx triggers: no cron trigger on build job
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c4a47196b18531ae387c289888f64f405bf2b29
Wes Haggard [Tue, 24 Apr 2018 00:50:28 +0000 (17:50 -0700)]
Remove Alpine 3.6 builds
The alpine 3.6 builds have been replaced with the more generic
linux-musl builds so removing them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
41de28be0d29c2da2185c31440c4b71f11a8b6f2
Bruce Forstall [Tue, 24 Apr 2018 00:33:06 +0000 (17:33 -0700)]
Fix Ubuntu arm corefx triggers: no cron trigger on build job
Commit migrated from https://github.com/dotnet/coreclr/commit/
52cc32637ba832d43620307ae46dd4d19307e10a
Bruce Forstall [Mon, 23 Apr 2018 23:50:00 +0000 (16:50 -0700)]
Merge pull request dotnet/coreclr#17742 from BruceForstall/FixUbuntuArmCorefxTestExclusions
Fix arm corefx test exclusions
Commit migrated from https://github.com/dotnet/coreclr/commit/
05a2f5f3212d7060e342d83df5406b715c055b06
Bruce Forstall [Mon, 23 Apr 2018 23:22:51 +0000 (16:22 -0700)]
Fix arm corefx test exclusions
1. Enable using the test exclusion file for Ubuntu arm32.
2. Update the Ubuntu and Windows arm32 exclusion files based on
current GitHub issues.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3714249669f5b35041c2bac16220400bda817d4
Bruce Forstall [Mon, 23 Apr 2018 23:09:46 +0000 (16:09 -0700)]
Merge pull request dotnet/coreclr#17729 from BruceForstall/EnableArm32UbuntuCorefxTesting
Enable Ubuntu arm32 corefx testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e2b3c5bfd70ceaf62ec6af72000c98225cf0495
kasper3 [Mon, 23 Apr 2018 20:47:36 +0000 (23:47 +0300)]
Set -march=armv7-a for Alpine Linux ARM32 (dotnet/coreclr#17730)
* Set -march=armv7-a for Alpine Linux ARM32
* Remove armv7-linux-gnueabi[hf]
* Cast RLIM_INFINITY to size_t
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ea97b120e691cae11883cef0c3cd6c184edeb4e
Atsushi Kanamori [Mon, 23 Apr 2018 20:42:24 +0000 (13:42 -0700)]
Enable Invoke and GetValue for ref-returning members (dotnet/coreclr#17732)
* Reapply https://github.com/dotnet/coreclr/pull/17639
* tryagain-wip 4/23/2018 7:27:37 AM - Fix Invoke of enum-returning methods
* Assert for refbufargs implying valuetype
* Catch ref to void in managed layer
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a42b8c7348ba7dfa0dbf423d36245570488c888
dotnet-maestro-bot [Mon, 23 Apr 2018 20:18:14 +0000 (15:18 -0500)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02723-01, preview1-26423-05, preview3-26423-04, master-
20180423-0039, respectively (dotnet/coreclr#17683)
Commit migrated from https://github.com/dotnet/coreclr/commit/
72dd7f2146cee213babb18378130e4375442aca1
Bruce Forstall [Sat, 21 Apr 2018 03:55:17 +0000 (20:55 -0700)]
Enable Ubuntu arm32 corefx testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
745f362a946d9831b46f54589cf2d6d64d908604
Jan Vorlicek [Sun, 22 Apr 2018 01:53:08 +0000 (18:53 -0700)]
Fix FakePromote assert (dotnet/coreclr#17724)
This assert was firing when there was a struct with explicit layout and
two byref fields overlapping each other. The assert was checking that
the respective location on the stack was not reported yet.
To fix that, I have changed the assert to fire only if the already
reported kind of reference was different from the current one. That
enables overlapping of two byref fields or two ref fields, but not a
byref and ref fields.
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa66c1887069494c1eb8f6465a6cda3f6a1a3d87
Jacek Blaszczynski [Sat, 21 Apr 2018 22:18:44 +0000 (00:18 +0200)]
Fix unix test build by removing unnecessary 'managed_test_build' semafore file
Fixes dotnet/coreclr#17503
The error is caused by both:
1. Unnecessary usage of 'managed_test_build' semaphore file which is incorrectly
set after /t:BatchRestorePackages build target and prevents managed test build
which is invoked after semaphore alredy exists
2. Masked by the above error is a wrong condition in dirs.proj non-windows test build
which was introduced by PR dotnet/coreclr#17161 and which prevented unix build due to missing
dotnet/coreclr#17161 group build port to unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
61cb37ef9771dfc480c66da0375dcfb5e3c787d9
Jan Kotas [Sat, 21 Apr 2018 20:18:52 +0000 (13:18 -0700)]
Use volatile load to read brick table entries (dotnet/coreclr#17717)
Fixes dotnet/coreclr#17716
Commit migrated from https://github.com/dotnet/coreclr/commit/
542be7dabc037a82b65492da05a42130dda5938d
Tarek Mahmoud Sayed [Sat, 21 Apr 2018 06:05:27 +0000 (23:05 -0700)]
Fix getting the Absolute path while looking up the TZ files (dotnet/coreclr#17711)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7483502dfb4f49e4077f5492aa3f0f7a0748b9fc
Sung Yoon Whang [Sat, 21 Apr 2018 06:05:00 +0000 (23:05 -0700)]
Disable GC Coop mode switching during fatal error handling during GC exception (dotnet/coreclr#17710)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c8c59387cb5989b5494f346c8127feb9dff27bc
Carol Eidt [Sat, 21 Apr 2018 04:10:17 +0000 (21:10 -0700)]
Merge pull request dotnet/coreclr#17673 from CarolEidt/Fix17634
Treat EDI as killed by MaskMove
Commit migrated from https://github.com/dotnet/coreclr/commit/
69e3ed349763a427f5b47513ec48484dbbed7397
Vitek Karas [Sat, 21 Apr 2018 03:22:13 +0000 (20:22 -0700)]
Add better coverage for Marshal.GetDelegateForFunctionPointer (dotnet/coreclr#15339)
Also fixes the test Main to correctly collect result codes from all 3 subtests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
67620bcac9a1b6bf0b79fd25998ee8574f71c86f
dotnet bot [Sat, 21 Apr 2018 00:56:35 +0000 (17:56 -0700)]
Preserve pinned flag in {ReadOnly}Memory<T>.Slice (dotnet/corefxdotnet/coreclr#29246) (dotnet/coreclr#17712)
* Preserve pinned flag in {ReadOnly}Memory<T>.Slice
* Address PR feedback.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c14d048451920b5e511c5a5b27c23c97b30ac0fe
Carol Eidt [Thu, 19 Apr 2018 17:14:23 +0000 (10:14 -0700)]
Treat EDI as killed by MaskMove
It should really only be a fixed reference, not a kill, but if the reference is changed by `LinearScan::resolveConflictingDefAndUse()` it can fail to cause the value in EDI to be killed.
Fix dotnet/coreclr#17634
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3070c76758524f69a50946284555c12351422c8
dotnet bot [Fri, 20 Apr 2018 23:13:31 +0000 (16:13 -0700)]
Update xml comment for {ReadOnly}Memory.Pin method (dotnet/corefxdotnet/coreclr#29137) (dotnet/coreclr#17709)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ac1fa8f0aeef166070c136d1bed35eae8367706
Sung Yoon Whang [Fri, 20 Apr 2018 22:30:56 +0000 (15:30 -0700)]
Fix GC tests that contain GC.Collect() used in wrong scope (dotnet/coreclr#17680)
* Fix GC tests that contain GC.Collect() used in wrong scope
* Fix GCLarge
* fix typos/build errors
* More test failures...
* more ci failure fix
* Fix all the build errors
* Fix test failure
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d30abbe2b556da423cc0a020370181ba3c0aec1
Bruce Forstall [Fri, 20 Apr 2018 19:09:58 +0000 (12:09 -0700)]
Merge pull request dotnet/coreclr#17700 from BruceForstall/AddAditya
Add adityamandaleeka to arm64 users
Commit migrated from https://github.com/dotnet/coreclr/commit/
06147bcebcdf56eb7e56edfda603b77be2a751f3
Brian Sullivan [Fri, 20 Apr 2018 18:37:07 +0000 (11:37 -0700)]
Merge pull request dotnet/coreclr#17688 from briansull/avx_config
Fix for Retail/Checked Asm diffs
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b4a5d5c4ba3452c30c94bc3e7bafa21c479be08
Bruce Forstall [Fri, 20 Apr 2018 18:18:20 +0000 (11:18 -0700)]
Merge pull request dotnet/coreclr#17699 from BruceForstall/NoVerboseBuild
Stop building Linux with "verbose"
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f7a7eea25b400249c73f129159e69f61a0dedb8
Bruce Forstall [Fri, 20 Apr 2018 18:17:38 +0000 (11:17 -0700)]
Add adityamandaleeka to arm64 users
Commit migrated from https://github.com/dotnet/coreclr/commit/
06c03ac57b71f53c49c540820804aad740ff3025
Bruce Forstall [Fri, 20 Apr 2018 16:45:36 +0000 (09:45 -0700)]
Stop building Linux with "verbose"
Using "verbose" creates an extraordinary amount of output,
obscuring interesting output. I don't know of a compelling
reason to continue using "verbose", so stop doing so.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6319d92a9f1a644db5cf73d9fbdbd6126be7ed99
Mike Danes [Fri, 20 Apr 2018 15:18:38 +0000 (18:18 +0300)]
Initialize Compiler::Vector128/256ULongHandle in compInit
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc4a8139b42b6c234fb4431dfee2b1bd13e6a708
Koundinya Veluri [Fri, 20 Apr 2018 02:47:52 +0000 (19:47 -0700)]
Fix nested spin locks in thread pool etw firing (dotnet/coreclr#17677)
`UnManagedPerAppDomainTPCount::QueueUnmanagedWorkRequest` fires an ETW event inside a spin lock and a nested spin lock is taken here:
```
SpinLock::GetLock + 0x8E (0x719da71d)
EventPipeBufferManager::AllocateBufferForThread + 0x7B (0x71afa92e)
EventPipeBufferManager::WriteEvent + 0x250 (0x71afbe0a)
EventPipe::WriteEventInternal + 0x125 (0x71951c93)
EventPipe::WriteEvent + 0x91 (0x71951714)
EventPipeWriteEventThreadPoolEnqueue + 0x9E (0x71d468a6)
FireEtwThreadPoolEnqueue + 0xF (0x71b7a04b)
UnManagedPerAppDomainTPCount::QueueUnmanagedWorkRequest + 0x21D (0x71b7a597)
```
Nesting spin locks is not allowed, moved the ETW firing outside the lock.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83fbfec318a64d85012ffaed86e4086d8a199098
Aditya Mandaleeka [Fri, 20 Apr 2018 01:50:29 +0000 (18:50 -0700)]
Account for copied bytes in struct copy loop when generating GT_PUTARG_STK code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c903ffd08f2decb07ac90a6c514cde9eaf1218d
Brian Sullivan [Fri, 20 Apr 2018 00:03:27 +0000 (17:03 -0700)]
Check for retail config for EnableAVX
Disable AVX2 when AVX is disabled
Commit migrated from https://github.com/dotnet/coreclr/commit/
569d61a4164fe8f3aa8ea4f0ef43ddef65671171
Carol Eidt [Thu, 19 Apr 2018 23:11:57 +0000 (16:11 -0700)]
Merge pull request dotnet/coreclr#15737 from mikedn/cast-narrow-store
Skip commas when trying to remove some narrowing casts
Commit migrated from https://github.com/dotnet/coreclr/commit/
b907403ea3d00ac56d2deaeef203adef289c4098
Atsushi Kanamori [Thu, 19 Apr 2018 19:23:43 +0000 (12:23 -0700)]
Rollback https://github.com/dotnet/coreclr/pull/17639 (dotnet/coreclr#17671)
Commit migrated from https://github.com/dotnet/coreclr/commit/
93612175dfa6b814e1e422d6e2832ebadef91ef7
Andy Ayers [Thu, 19 Apr 2018 17:17:11 +0000 (10:17 -0700)]
GCStress: try to reduce races and tolerate races better (dotnet/coreclr#17330)
This change addresses races that cause spurious failures in when running
GC stress on multithreaded applications.
* Instruction update race
Threads that hit a gc cover interrupt where gc is not safe can race to
overrwrite the interrupt instruction and change it back to the original
instruction.
This can cause confusion when handling stress exceptions as the exception code
raised by the kernel may be determined by disassembling the instruction that
caused the fault, and this instruction may now change between the time the
fault is raised and the instruction is disassembled. When this happens the
kernel may report an ACCESS_VIOLATION where there was actually an attempt to
execute a priveledged instruction.
x86 already had a tolerance mechanism here where when gc stress was active
and the exception status was ACCESS_VIOLATION the faulting instruction would
be retried to see if it faults the same way again. In this change we extend
this to tolerance to cover x64 and also enable it regardless of the gc mode.
We use the exception information to further screen as these spurious AVs look
like reads from address 0xFF..FF.
* Instrumentation vs execution race
The second race happens when one thread is jitting a method and another is
about to call the method. The first thread finishes jitting and publishes the
method code, then starts instrumenting the method for gc coverage. While this
instrumentation is ongoing, the second thread then calls the method and hits
a gc interrupt instruction. The code that recognizes the fault as a gc coverage
interrupt gets confused as the instrumentation is not yet complete -- in
particular the m_GcCover member of the MethodDesc is not yet set. So the second
thread triggers an assert.
The fix for this is to instrument for GcCoverage before publishing the code.
Since multiple threads can be jitting a method concurrently the instrument and
public steps are done under a lock to ensure that the instrumentation and code
are consistent (come from the same thread).
With this lock in place we have removed the secondary locking done in
SetupGcCoverage as it is no longer needed; only one thread can be instrumenting
a given jitted method for GcCoverage.
However we retain a bailout` clause that first looks to see if m_GcCover is
set and if so skips instrumentation, as there are prejit and rejit cases where we
will retry instrumentation.
* Instruction cache flushes
In some cases when replacing the interrupt instruction with the original the
instruction cache was either not flushed or not flushed with sufficient length.
This possibly leads to an increased frequency of the above races.
No impact expected for non-gc stress scenarios, though some of the code changes
are in common code paths.
Addresses the spurious GC stress failures seen in dotnet/coreclr#17027 and dotnet/coreclr#17610.
Commit migrated from https://github.com/dotnet/coreclr/commit/
571b1a7c84aa264afe6a33bd58eca8c9c10052ff
Marco Rossignoli [Thu, 19 Apr 2018 16:54:09 +0000 (18:54 +0200)]
add field Name to exception (dotnet/coreclr#17668)
Commit migrated from https://github.com/dotnet/coreclr/commit/
204c11b8309bf243b9255ddf7f17820cd320cf4d
dotnet-maestro-bot [Thu, 19 Apr 2018 16:49:03 +0000 (11:49 -0500)]
Update CoreClr, CoreFx, PgoData to preview1-26419-06, preview3-26419-05, master-
20180419-0038, respectively (dotnet/coreclr#17667)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b03e1fe8b5b5fb56d2dcc95f62563c99856255ce
Steve MacLean [Thu, 19 Apr 2018 16:22:10 +0000 (12:22 -0400)]
[Arm64/Linux] Fix GenericPInvokeCalliHelper (dotnet/coreclr#17659)
Commit migrated from https://github.com/dotnet/coreclr/commit/
094a2e8d1d46f373577c0d5a494547e0ed563f40
dotnet-maestro-bot [Thu, 19 Apr 2018 07:53:00 +0000 (02:53 -0500)]
Update BuildTools, CoreClr, CoreFx to preview1-02719-02, preview1-26419-02, preview3-26419-01, respectively (dotnet/coreclr#17662)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae0ce20407606a2fbb825eba2352ab5efd3f3d58
Sung Yoon Whang [Thu, 19 Apr 2018 04:46:58 +0000 (21:46 -0700)]
Fix GC leakwheel scenario test (dotnet/coreclr#17656)
* Fix GC leakwheel scenario test
* Should be passing for most cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
14f94ad3106e822ffa54369d33a1ecfa5bcac93b
Jan Kotas [Thu, 19 Apr 2018 03:02:04 +0000 (20:02 -0700)]
Tweak order of interface declarations on string (dotnet/coreclr#17660)
Fixes https://github.com/dotnet/corefx/issues/29158
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8ec5afb79bbdff509eb56c34e86a02049962096
Tarek Mahmoud Sayed [Thu, 19 Apr 2018 00:05:44 +0000 (17:05 -0700)]
Fix reading Time zone rules using Julian days (dotnet/coreclr#17635)
* Fix reading Time zone rules using Julian days
* Order the condition correctly
* Start searching from month 1 and not 0
* Exclude n Julian format
* fix typo
* Adding the suggested assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
588d287deee609f217f29ca1b70c016848828672
Wes Haggard [Wed, 18 Apr 2018 23:48:49 +0000 (16:48 -0700)]
Merge pull request dotnet/coreclr#17658 from CarolEidt/UnixDefines2
Remove incorrect UNIX_AMD64_ABI define
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b41d8d938760c2e5d54d2e699a5bbb78cd3502a