Konstantin Baladurin [Thu, 25 Jan 2018 22:19:19 +0000 (01:19 +0300)]
Fix asan false-positive errors: (dotnet/coreclr#15563)
- Call __asan_handle_no_return in RtlRestoreContext if it doesn't return
and in ThrowExceptionFromContextInternal function;
- Increase alternate signal stack size and use it also for asan.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9639f454de21775ab1031471c2acb64738b77c95
Koundinya Veluri [Thu, 25 Jan 2018 20:01:32 +0000 (12:01 -0800)]
Enable tiered jitting for R2R methods (dotnet/coreclr#15967)
Enable tiered jitting for R2R methods
- Included R2R methods and generics over value types in CoreLib for tiered jitting. Tier 0 for R2R methods is the precompiled code if available, and tier 1 is selectively scheduled based on call counting.
- Added a delay before starting to count calls for tier 1 promotion. The delay is a short duration after frequent tier 0 jitting stops (current heuristic for identifying startup).
- Startup time and steady-state performance have improved on JitBench. There is a regression shortly following startup due to call counting and tier 1 jitting, for a short duration before steady-state performance stabilizes.
- Added two new config values, one for configuring the call count threshold for promoting to tier 1, and another for specifying the delay from the last tier 0 JIT invocation before starting to count calls
Commit migrated from https://github.com/dotnet/coreclr/commit/
209415618ca5d1a5d1d9e39ca78d643d0935534e
Russ Keldorph [Thu, 25 Jan 2018 00:52:29 +0000 (16:52 -0800)]
Revert "Add environment variable (COMPlus_EnableDiagnostics) to disable debugging and profiling. (dotnet/coreclr#15878)"
This reverts commit dotnet/coreclr@
5bcfde404803f85451cf0ee9fd6406734cb878ff.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9985126acb0f1efd7c780faac4e66bc798b73c0
William Godbe [Thu, 25 Jan 2018 18:23:01 +0000 (10:23 -0800)]
Add GetLoadLibrary function for PAL & use in TrackErrorCode (dotnet/coreclr#15831)
* Add GetLoadLibrary function for PAL & use in TrackErrorCode
* Finish changes to dllimport.cpp
* Fix unix build errors
* fix windows issues
* Address feedback
* Fix return type
* Address feedback
* Fix return type
* Fix usage of LPCWSTR
* Use shared library string
* Append message strings
* Fix append
* Append newline
* Fix spelling
* Modify error messages
* Resolve conflicts
* Add mac message & stop appending all exceptions
* Fix another error message
* Fix NoName Error
* Add newline to .h file
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5a17bac5f0fd0b0137be7c8cf23391adc59958f
Ben Adams [Thu, 25 Jan 2018 17:56:36 +0000 (17:56 +0000)]
Resolve iterators and async methods (dotnet/coreclr#14655)
Allows a developer to determine *correct* overload called for *async* and *iterators*, from a stacktrace.
Matches the compiler generated containing `Type` to the source method using:
`method.DeclaringType == StateMachineAttribute.StateMachineType` attribute to allow the stack trace to resolve the mangled method name to the correct overload. Also appends the statemachine method name with `+` for iterators.
Resolves: dotnet/corefxdotnet/coreclr#24627
Commit migrated from https://github.com/dotnet/coreclr/commit/
8dfd31f3297203578a9915676805cfaeb64da813
Jarret Shook [Thu, 25 Jan 2018 17:34:12 +0000 (09:34 -0800)]
Merge pull request dotnet/coreclr#16017 from jashook/fix_inner_loop_centos_test
Correctly allow buildOnly jobs for release x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa80a5330935a06a40de03d7ebb8e9c703c7f743
jashook [Thu, 25 Jan 2018 17:15:08 +0000 (09:15 -0800)]
Correctly allow buildOnly jobs for release x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
80c2330d3cd43bd35b323588322fb374907594b5
Carol Eidt [Thu, 25 Jan 2018 16:08:27 +0000 (08:08 -0800)]
Merge pull request dotnet/coreclr#16005 from CarolEidt/Fix15848
Disable FP to Unsigned Vector Conversions
Commit migrated from https://github.com/dotnet/coreclr/commit/
18051286fdea9f1643bab06f0e9829c313e84b2c
nietras [Thu, 25 Jan 2018 14:20:10 +0000 (15:20 +0100)]
Minor bug fix for Array.Sort: Replace keys.Length with length for FloorLog2PlusOne (dotnet/coreclr#16002)
* replace keys.Length with length for FloorLog2PlusOne
* fix non-generic sort
Commit migrated from https://github.com/dotnet/coreclr/commit/
b19809113b632dadff6de1410c5c125220ff7f26
Konstantin Baladurin [Thu, 25 Jan 2018 10:31:32 +0000 (13:31 +0300)]
[x86/Linux] Fix HelperMethodFrame::UpdateRegDisplay (dotnet/coreclr#15993)
For DAC after initialization MachState using InsureInit method,
register pointers are NULL so we cannot use them to restore register
values.
Commit migrated from https://github.com/dotnet/coreclr/commit/
949b94eabd74f2632c220b03f998a802032d2b82
Carol Eidt [Thu, 25 Jan 2018 05:36:02 +0000 (21:36 -0800)]
Disable the ConvertToUInt intrinsics by removing them from simdintrinsiclist.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
074fcc1f538add8b83c95f40471932bd7294c7fe
Jarret Shook [Thu, 25 Jan 2018 05:24:02 +0000 (21:24 -0800)]
Merge pull request dotnet/coreclr#15813 from jashook/inner_loop_fixes
Add innerloop tag for pri0 jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
85dcf21fdafc2234d705a462c751b8409c9ea9c5
jashook [Wed, 10 Jan 2018 17:52:23 +0000 (09:52 -0800)]
Add innerloop tag for pri0 jobs
Everything that is not innerloop will run priority 1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c36909bb20a4ce862c0582e942f5299208f69a80
Carol Eidt [Wed, 24 Jan 2018 23:41:06 +0000 (15:41 -0800)]
Disable FP to Unsigned Vector Conversions
The specific failure in dotnet/coreclr#15848 was due to a problem with the AVX encoding of the pinsrw instruction that was exposed when AVX is enabled but AVX2 is not. The code generator generates the (SSE2) 2-operand form, but this is an instruction that needs to be encoded with the dst duplicated when using AVX encodings. So it needs to be added to `IsDstDstSrcAVXInstruction()`.
Investigating this (and adding additional test coverage) revealed that conversions to FP were not implemented correctly for out-of-range values, and providing the same behavior as scalar conversion is complex and costly, with unknown benefit, as this is not expected to be a common scenario. So, don't recognize these as intrinsics (revert to the IL implementation).
Also, fix the test to cover more cases.
Fix 15848
Commit migrated from https://github.com/dotnet/coreclr/commit/
cce50e957ebab2843ac87c541bf02f82a178a642
Michelle McDaniel [Wed, 24 Jan 2018 22:01:10 +0000 (14:01 -0800)]
Fix syntax error in illink groovy (dotnet/coreclr#15999)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac71e176017d59026c762937022549f8e2fa5b5f
Sergey Andreenko [Wed, 24 Jan 2018 21:19:09 +0000 (13:19 -0800)]
Delete Ptr typedefs from jit src. (dotnet/coreclr#15983)
* delete fgArgInfoPtr
* delete treeLstPtr
* delete treeStmtLstPtr
* delete fgArgTabEntryPtr
* delete BasicBlockPtr
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e2e45c7f89f73a1d434f4e5568bb882cf96075f
Mike McLaughlin [Wed, 24 Jan 2018 20:31:44 +0000 (12:31 -0800)]
Add "CLRJitAttachState" global export from coreclr.dll that contains the CLR_DEBUGGING_PROCESS_FLAGS for VS. (dotnet/coreclr#15973)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b551b61bbf1a681fee67ae63dea022ad00d778d
Michal Strehovský [Wed, 24 Jan 2018 16:00:14 +0000 (17:00 +0100)]
Reflection-block some types in CoreLib (dotnet/corertdotnet/coreclr#5286)
This saves 50 kB on a hello world app.
This is using the existing ReflectionBlocked attribute to manually block public types that get otherwise blocked by the IL2IL toolchain in Project N. These types are public within the repo, but should be considered private implementation details everywhere else.
Wrote a small tool that would let me identify these: https://gist.github.com/MichalStrehovsky/
e2ddec899d3e0db6eba95bf68694b40e. There is more.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b947ca3059da9416168b39bebb2717433ffd4d3
Sean Gillespie [Wed, 24 Jan 2018 18:04:56 +0000 (10:04 -0800)]
[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events (dotnet/coreclr#15957)
* [Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for porting known events to callbacks on GCToEEInterface
* Code review feedback: remove `descriptor` system for known events and instead use the gcevents xmacro to generate calls to `GCEventStatus::IsEnabled` with known constants
* Remove more event descriptor code
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3f12666c822d8b4db8a9ca051618b6dc2420c68
Carol Eidt [Wed, 24 Jan 2018 16:09:11 +0000 (08:09 -0800)]
Merge pull request dotnet/coreclr#15980 from CarolEidt/Fix15932
Adjust minRegs for SELECT stress modes
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7c961023062ed7d02aa187a0a7a9230ed9b2c5e
Jan Kotas [Wed, 24 Jan 2018 03:56:42 +0000 (19:56 -0800)]
Delete dead code (dotnet/coreclr#15990)
Commit migrated from https://github.com/dotnet/coreclr/commit/
35da2c8a07d7aef8bd4c874b81241bab52af83ce
dotnet-maestro-bot [Wed, 24 Jan 2018 03:56:24 +0000 (21:56 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124-01, preview2-26124-02, master-
20180123-0043, respectively (dotnet/coreclr#15976)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ab0b05bea586102c397cb78f1bac2087eab7b19
Bruce Forstall [Wed, 24 Jan 2018 03:51:43 +0000 (19:51 -0800)]
Merge pull request dotnet/coreclr#15949 from mikedn/shift-inconsistency
Fix 64 bit shift inconsistencies (on 32 bit targets)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2c36eca826aba5616110a2090d95a64ddca19cb
Sean Gillespie [Wed, 24 Jan 2018 02:53:30 +0000 (18:53 -0800)]
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (dotnet/coreclr#15873)
* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes
* Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE
* Address code review feedback: add EventPipe callback and comments
* Fix the non-FEATURE_PAL build
* Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active)
* Simplify callback locking scheme
* Add a separate callback for each EventPipe provider and funnel them all through a common handler
* Fix non-FEATURE_PAL build
Commit migrated from https://github.com/dotnet/coreclr/commit/
facdc8b97f73973fb416ed13e4b9dd9a255864bf
Levi Broderick [Wed, 24 Jan 2018 01:00:47 +0000 (17:00 -0800)]
Add Unsafe.IsAddressGreaterThan / IsAddressLessThan (dotnet/coreclr#15988)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bafdbc71e5a3efe6b6df0cbcf5aee5081a3e4c8
Michal Strehovský [Wed, 24 Jan 2018 00:11:31 +0000 (01:11 +0100)]
Catch ambiguous interface method resolution exceptions (dotnet/coreclr#15978)
Default interface methods might end up being ambiguous. This thows an exception we need to catch.
Commit migrated from https://github.com/dotnet/coreclr/commit/
007fa5528ba3aee5bbb6c4397cc576a5cd88f8b0
Michal Strehovský [Wed, 24 Jan 2018 00:10:52 +0000 (01:10 +0100)]
Do not devirtualize shared default interface methods (dotnet/coreclr#15979)
The result of the devirtualization for a method on a generic type should be an instantiating stub, but this doesn't seem to work right.
Fixing that is a perf issue (that can be triaged/punted - dotnet/coreclr#15977). This commit is a correctness fix to avoid bad codegen for that case.
Resolves dotnet/coreclr#15591.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3211c255a54b2956b345ba85e7be371548264e7a
Wes Haggard [Tue, 23 Jan 2018 20:27:53 +0000 (12:27 -0800)]
Merge pull request dotnet/coreclr#15984 from dagood/remove-conversion/master
Never attempt Portable PDB conversion
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dbcd446269df79a49bfb3e1222fccdb22db27ef
Davis Goodin [Tue, 23 Jan 2018 20:10:49 +0000 (14:10 -0600)]
Never attempt Portable PDB conversion
The inline script detected whether the branch name contained "release/" and ran a different target. That target tries to convert Portable PDBs into Windows PDBs, which currently hits errors in CoreCLR.
Remove this logic from CoreCLR: it is no longer necessary because orchestrated builds will have a post-build symbol publish step.
Commit migrated from https://github.com/dotnet/coreclr/commit/
72a731e270f8d123131f7463d7372f38144c19a3
Carol Eidt [Tue, 23 Jan 2018 15:48:49 +0000 (07:48 -0800)]
Adjust minRegs for SELECT stress modes
My recent refactoring to put all the `minRegCandidateCount` computation in one place failed to take into account that the `LSRA_SELECT` stress modes can also overly constrain the number of registers. Therefore, it needs to be applied only after the `minRegCandidateCount` has been computed. This may in turn cause new conflicts between the def and use of a tree temp, so factor out the code that checks for that.
Fix dotnet/coreclr#15932
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb7b29717a46977e536364ca2f7a960493daa4c6
Michelle McDaniel [Tue, 23 Jan 2018 16:30:28 +0000 (08:30 -0800)]
Remove hardcoded paths in linkbench scripts (dotnet/coreclr#15939)
* Remove hardcoded paths in linkbench scripts
Linkbench has hardcoded paths based off of VS140COMNTOOLS, which not all
machines will have (ie, machines with only VS2017 installed). This
change removes the hardcoded paths, and replaces them with checks to
make sure the tool is on the path (which they will be if we are in a VS
environment of any kind - which we would have been in if
VS140COMNTOOLS was already set).
Commit migrated from https://github.com/dotnet/coreclr/commit/
62a90aa7e52363ca56e79713443ee0b6232184d8
dotnet-maestro-bot [Tue, 23 Jan 2018 06:32:01 +0000 (00:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123-01, preview2-26123-01, master-
20180122-0034, respectively (dotnet/coreclr#15882)
Commit migrated from https://github.com/dotnet/coreclr/commit/
71f783ce59ccf7576f0415bd79e4ce967c19bb97
Ian Hays [Tue, 23 Jan 2018 03:07:15 +0000 (19:07 -0800)]
Misc Span/Memory changes (dotnet/coreclr#15941)
* Misc Span/Memory additions
- Add MemoryMarshal.CreateSpan to replace DangerousCreate
- Add MemoryMarshal.CreateReadOnlySpan to replace DangerousCreate
- Add MemoryMarshal.Cast to replace NonPortableCast
- Add ToString override to Span and ReadOnlySpan
- Add ToEnumerable function to MemoryMarshal that takes a ReadOnlyMemory
Commit migrated from https://github.com/dotnet/coreclr/commit/
c69e8148e42d581ceec9fd3d8ef8d65706b14235
Victor "Nate" Graf [Tue, 23 Jan 2018 02:53:06 +0000 (18:53 -0800)]
Disable EventPipe tests which fair in stress runs (dotnet/coreclr#15972)
Disable EventPipe tests which fair in stress runs
Addresses: dotnet/coreclr#15924
Follow-up: dotnet/coreclr#15927
Commit migrated from https://github.com/dotnet/coreclr/commit/
d69118807bff88c48ace28d4befa2c41bf4e7766
Ahson Khan [Mon, 22 Jan 2018 21:57:11 +0000 (13:57 -0800)]
Rename Pin offset to byteOffset and clean up Retain test (dotnet/coreclr#26518)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ef7735b14da25aa7e5b2c2a0c34c06fa868b209
danmosemsft [Mon, 22 Jan 2018 19:38:54 +0000 (11:38 -0800)]
Remove .NET limit on env var name and value length
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
88066c546d826b00f361e91df9f9591fce549a2c
Wes Haggard [Mon, 22 Jan 2018 21:58:41 +0000 (13:58 -0800)]
Merge pull request dotnet/coreclr#15966 from weshaggard/MoveTo21Preview2
Move from preview1 to preview2 in master branches
Commit migrated from https://github.com/dotnet/coreclr/commit/
376fe3b645be95c905d24cdcbba44a731c70ce90
Jan Kotas [Mon, 22 Jan 2018 21:30:20 +0000 (13:30 -0800)]
Move TimeZoneInfo.Win32.cs to shared CoreLib partition (dotnet/coreclr#15953)
Reconcile deltas with CoreRT and refactor interop to follow coding conventions
Commit migrated from https://github.com/dotnet/coreclr/commit/
db81f5ec3cadb33eea9595ed102810825737acd4
Wes Haggard [Mon, 22 Jan 2018 19:39:44 +0000 (11:39 -0800)]
Move from preview1 to preview2 in master branches
preview1 will be produced from the release/2.1 branch
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4f7c7b8853c83c2dd937a5055d02dcb7816b65f
Bruce Forstall [Mon, 22 Jan 2018 19:11:30 +0000 (11:11 -0800)]
Merge pull request dotnet/coreclr#15944 from BruceForstall/CorefxTestUseCorrectVersion
For corefx testing, use a matching corefx repo version git hash
Commit migrated from https://github.com/dotnet/coreclr/commit/
256d12a38d9846ffb3ab859a5de360d94f276ba1
Tanner Gooding [Mon, 22 Jan 2018 17:46:22 +0000 (09:46 -0800)]
Merge pull request dotnet/coreclr#15942 from tannergooding/no-multireg-simd
Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecfe848cf1edb218f9b635e41693eae43fd076b6
Jan Kotas [Mon, 22 Jan 2018 07:06:53 +0000 (23:06 -0800)]
Fix Windows ARM release build break (dotnet/coreclr#15958)
Commit migrated from https://github.com/dotnet/coreclr/commit/
821be4bc919e4bad06d6ffa18781ab8c34f4e95c
Jarret Shook [Mon, 22 Jan 2018 06:25:35 +0000 (22:25 -0800)]
Merge pull request dotnet/coreclr#15959 from jashook/remove_arm_pr_trigger
Turn off arm pr trigger
Commit migrated from https://github.com/dotnet/coreclr/commit/
b193c9eabbe56143f254bddab4a3c541f2c5ea08
jashook [Mon, 22 Jan 2018 06:15:44 +0000 (22:15 -0800)]
Turn off arm pr trigger
Commit migrated from https://github.com/dotnet/coreclr/commit/
b16e4ca7785a27a0b05318b1f1ec66590b5682f4
Tanner Gooding [Sat, 20 Jan 2018 18:23:52 +0000 (10:23 -0800)]
Stop the SIMD hardware intrinsics types from undergoing crossgen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
441487910f9b183bb41deffe9476cd87c1c2ba6b
antofik [Mon, 22 Jan 2018 02:03:51 +0000 (05:03 +0300)]
Remove AppDomainLeaks configuration option (dotnet/coreclr#15956)
Removed all usages of AppDomainLeaks configuration option and
CHECK_APP_DOMAIN_LEAKS feature
Fix dotnet/coreclr#12094
Commit migrated from https://github.com/dotnet/coreclr/commit/
59714b683f40fac869050ca08acc5503e84dc776
Jan Kotas [Sun, 21 Jan 2018 07:52:02 +0000 (23:52 -0800)]
Rename Libraries.GlobalizationInterop to Libraries.GlobalizationNative
Consistency with CoreFX and coding conventions.
Also delete a few other pieces of unused code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3bd16103e76fbad8de7a37cb37f6a6f74ce46dfd
Jan Kotas [Sun, 21 Jan 2018 02:18:07 +0000 (18:18 -0800)]
Define Interop.Kernel32.MAX_PATH (dotnet/coreclr#15952)
* Define Interop.Kernel32.MAX_PATH
For consistency with CoreFX and coding conventions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ea580bab8adc060a88c87e29790b8fa7d91c098
Bruce Forstall [Sun, 21 Jan 2018 01:49:40 +0000 (17:49 -0800)]
Merge pull request dotnet/coreclr#15948 from fiigii/fix-ifdef
Fix a minor bug
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f4fbdbbaa6f9874678efa7a2cf7463502480fe6
Jan Kotas [Sat, 20 Jan 2018 21:32:46 +0000 (13:32 -0800)]
Fix timezone lookup to be consistently case insensitive (dotnet/coreclr#15951)
The timezone ids used case insensitive comparisons everywhere, except in the dictionary used to cache timezones.
Fixes dotnet/corefxdotnet/coreclr#26479
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab91124003c73c28d0067f9a822b48eb829ad5cf
Jeremy Barton [Sat, 20 Jan 2018 16:41:39 +0000 (08:41 -0800)]
Merge pull request dotnet/coreclr#15936 from GrabYourPitchforks/levib/memory_nullref
Allow implicit conversion of null arrays to empty Memory instances
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6388558f6723bd04dde5399e66bbb9cbb27964
Ahson Khan [Sat, 20 Jan 2018 14:40:44 +0000 (06:40 -0800)]
Add optional integer offset to OwnedMemory Pin (dotnet/coreclr#15946)
Commit migrated from https://github.com/dotnet/coreclr/commit/
216a2d93979db085de75afbb2a3e762f51d76000
Mike Danes [Sat, 20 Jan 2018 12:08:37 +0000 (14:08 +0200)]
Fix 64 bit shift inconsistencies (on 32 bit targets)
Recent shift changes made the JIT_LLsh helper mask the shift count to 6 bits. The other 2 helpers (JIT_LRsh and JIT_LRsz) so now we get inconsistencies such as `(x >> 64) != (x << 64)`.
The ECMA spec says that "the return value is unspecified if shiftAmount is greater than or equal to the width of value" so the JIT has no obligation to implement a particular behavior. But it seems preferable to have all shift instructions behave similarly, it avoids complications and reduces risks.
This also changes `ValueNumStore::EvalOpIntegral` to mask the shift count for 64 bit shifts so it matches `gtFoldExprConst`. Otherwise the produced value depends on the C/C++ compiler's behavior.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca397e5f57a649ad3bcc621cbb02354670f87a08
Fei Peng [Sat, 20 Jan 2018 06:08:03 +0000 (22:08 -0800)]
#if defined(_TARGET_XARCH_) || defined(_TARGET_ARM64_)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c94055501c7dbe98fbc9b05304c7f5f13a7d8fe
Bruce Forstall [Sat, 20 Jan 2018 05:59:44 +0000 (21:59 -0800)]
Merge pull request dotnet/coreclr#15945 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7c2869ca0def15c25b8043ac78a378e0145bac8
Jan Kotas [Sat, 20 Jan 2018 04:06:39 +0000 (20:06 -0800)]
Break current culture initialization cycle (dotnet/coreclr#15938)
Fixes dotnet/coreclr#15931
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4af006ff55af59ac5d28f0b4faffdc1806dc89a
Carol Eidt [Sat, 20 Jan 2018 02:15:33 +0000 (18:15 -0800)]
Merge pull request dotnet/coreclr#15903 from CarolEidt/Fix545505
ARM: Fix morphing of struct passed on stack
Commit migrated from https://github.com/dotnet/coreclr/commit/
128893e65c3e748e2ac9b85cbc6e0560cf84e2e1
Bruce Forstall [Sat, 20 Jan 2018 01:18:49 +0000 (17:18 -0800)]
Fix desktop build
1. Fix `LEGACY_BACKEND`
2. `#if FEATURE_HW_INTRINSICS` => `#ifdef FEATURE_HW_INTRINSICS`
[tfs-changeset: 1686599]
Commit migrated from https://github.com/dotnet/coreclr/commit/
79a08ff79ff73fbfb5009236ee9f3201d2226bb4
Tanner Gooding [Fri, 19 Jan 2018 23:49:47 +0000 (15:49 -0800)]
Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
34776bf5f6bba461b9f616744cb6e17962ccce3b
Bruce Forstall [Fri, 19 Jan 2018 23:59:09 +0000 (15:59 -0800)]
Add CI support for updated run-corefx-tests.py
Change CI to build a "GenerateLayoutOnly" drop for corefx testing,
specifically to cause the corefx package to be restored, so we
can determine its version.
Commit migrated from https://github.com/dotnet/coreclr/commit/
13b6b8f628a6be3c5890d739549c31f67db4580d
Tanner Gooding [Fri, 19 Jan 2018 23:51:51 +0000 (15:51 -0800)]
Merge pull request dotnet/coreclr#15836 from tannergooding/emitInsBinary
Refactoring emitInsBinary
Commit migrated from https://github.com/dotnet/coreclr/commit/
9afce33defce540c810f3e8806568fb4c3b37732
Nobuyuki Iwanaga [Fri, 19 Jan 2018 23:29:32 +0000 (08:29 +0900)]
CharUnicodeInfo.GetUnicodeCategory(int codePoint) (dotnet/coreclr#15911)
* CharUnicodeInfo.GetUnicodeCategory(int codePoint)
https://github.com/dotnet/corefx/issues/26173
- renamed UnicodeCategory.InternalGetUnicodeCategory to GetUnicodeCategory
- renamed its parameter ch to codePoint
- made it public
* fix build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
11bca94b4b0374ee8f1e4ec28d7140abf4521583
Carol Eidt [Fri, 19 Jan 2018 23:21:09 +0000 (15:21 -0800)]
Merge pull request dotnet/coreclr#15798 from sdmaclea/PR-ARM64-Set-Instruction-Set-Flags
[Arm64] Set Instruction set flags
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f8c67e5fa17aace876612942979cbec8b78229e
Carol Eidt [Fri, 19 Jan 2018 23:17:18 +0000 (15:17 -0800)]
Merge pull request dotnet/coreclr#15933 from sdmaclea/PR-ARM64-EMIT-COMPARE-ZERO
[Arm64] Add compare vector to zero emitters
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fa59e3919366b35ea99a6268197f8d23140f38f
Carol Eidt [Fri, 19 Jan 2018 23:16:18 +0000 (15:16 -0800)]
Merge pull request dotnet/coreclr#15935 from sdmaclea/PR-ARM64-IRREGULAR-NOT
[Arm64] Remove irregular vector not handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
48ee74a9e7990f1ca535a58af18dd42c62c384c7
Michelle McDaniel [Fri, 19 Jan 2018 22:29:45 +0000 (14:29 -0800)]
Convert perf.groovy to use run-xunit-perf.py (dotnet/coreclr#15881)
* Convert perf.groovy to use run-xunit-perf.py
Also removes run-xunit-perf.cmd and run-xunit-perf.sh. This change moves us to using build-tests.sh to generate the layout (ie pull down corefx), so this change fixes dotnet/coreclr#12143.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e435c5048c44978208c2a0dc45444a18415be272
Carol Eidt [Fri, 19 Jan 2018 22:15:26 +0000 (14:15 -0800)]
Merge pull request dotnet/coreclr#15930 from mikedn/useless-code
Remove some redundant code from TreeNodeInfoInit
Commit migrated from https://github.com/dotnet/coreclr/commit/
35af7047534f420cb098f496837d1d24a9aedb78
Bruce Forstall [Fri, 19 Jan 2018 22:15:09 +0000 (14:15 -0800)]
For corefx testing, use a matching corefx repo version git hash
If the user doesn't specify a specific corefx commit hash to use,
try to find the matching commit hash in the coreclr repro. If the
matching hash can't be found, use 'HEAD'.
We find the matching corefx commit hash by first parsing file
'dependencies.props' at the root of the coreclr repro, looking for this:
<MicrosoftPrivateCoreFxNETCoreAppPackageVersion>4.5.0-preview1-26112-01</MicrosoftPrivateCoreFxNETCoreAppPackageVersion>
This determines the corefx package version that matches. Next, we look for the version.txt
file in the package cache, e.g.,
<coreclr_root>\packages\microsoft.private.corefx.netcoreapp\4.5.0-preview1-26112-01\version.txt
The contents of this file is exactly the git commit hash
we need to use, e.g.:
dotnet/coreclr@
197a0699b08087ea85581679afdd9fd7b5c465c3
The version.txt file is created when the corefx package is restored,
which happens when doing one of:
Windows: tests\runtests.cmd GenerateLayoutOnly
non-Windows: build-test.sh generatelayoutonly
It would also be possible to not depend on the package already
being downloaded, but instead download the correct package here,
using the determined "MicrosoftPrivateCoreFxNETCoreAppPackageVersion"
package version, e.g.:
https://dotnet.myget.org/F/dotnet-core/api/v2/package/Microsoft.Private.CoreFx.NETCoreApp/4.5.0-preview1-26112-01
and then extracting the ZIP archive to find the version.txt file.
This might get easier if the corefx commit hash is added directly to dependencies.props, as
discussed in https://github.com/dotnet/buildtools/issues/1141.
Commit migrated from https://github.com/dotnet/coreclr/commit/
96124407444fd130e337f055d9d365e4b761c94e
Michal Strehovský [Fri, 19 Jan 2018 21:47:47 +0000 (22:47 +0100)]
Stop treating all calls to instance interface methods as callvirt (dotnet/coreclr#15925)
Fixes dotnet/coreclr#15827.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e83991cf626b81e478cce014d96276ec2993a684
Tarek Mahmoud Sayed [Fri, 19 Jan 2018 21:47:02 +0000 (13:47 -0800)]
Remove Redundant Resource entry (dotnet/coreclr#15928)
Commit migrated from https://github.com/dotnet/coreclr/commit/
09ac422897051e0ac143917b093b125f04277f90
Jan Kotas [Fri, 19 Jan 2018 21:46:22 +0000 (13:46 -0800)]
Move platform-neutral part of TimeZone to shared CoreLib partition (dotnet/coreclr#15926)
Prep work for moving the platform specific parts
Commit migrated from https://github.com/dotnet/coreclr/commit/
643a3966300a0d509e99629c3b6056117b89720a
Carol Eidt [Fri, 19 Jan 2018 20:17:14 +0000 (12:17 -0800)]
Merge pull request dotnet/coreclr#15749 from fiigii/tabledrive
Table-driven Intel hardware intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
516b973b52d16843c5c7f20c53bd246d62c55d4e
Levi Broderick [Fri, 19 Jan 2018 19:50:02 +0000 (11:50 -0800)]
Allow implicit conversion of null arrays to empty Memory instances
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8aef1994dc4bebc95b62c85f03fcc587f9a2510
Steve MacLean [Tue, 9 Jan 2018 21:01:03 +0000 (16:01 -0500)]
[Arm64] Set Instruction set flags
Commit migrated from https://github.com/dotnet/coreclr/commit/
54b5fd094638002bdf9545df617c7d4abef59ec6
Steve MacLean [Fri, 19 Jan 2018 17:41:47 +0000 (12:41 -0500)]
[Arm64] Remove irregular vector not handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4d79943d8c62e9edaab0ac043784b7936a3c42c
Victor "Nate" Graf [Fri, 19 Jan 2018 19:25:38 +0000 (11:25 -0800)]
Disable eventpipetrace test due to JIT stress failure (dotnet/coreclr#15927)
* Disable eventpipetrace test due to JIT stress failure
* Use double wildcard to properly include the right files
Commit migrated from https://github.com/dotnet/coreclr/commit/
3abfaf75ea91fa0c89099c44b57c593cebcde73e
Steve MacLean [Thu, 18 Jan 2018 21:45:25 +0000 (16:45 -0500)]
[Arm64] Add compare vector to zero emitters
Commit migrated from https://github.com/dotnet/coreclr/commit/
37f018815bdc8bac0680eb8fe0cb082a5d919a2e
Mike McLaughlin [Fri, 19 Jan 2018 19:12:02 +0000 (11:12 -0800)]
Revert "Change just-in-time debugging registry keys. (dotnet/coreclr#15722)" (dotnet/coreclr#15921)
This reverts commit dotnet/coreclr@
8b2cac974db3edde38e1a555455f53592d03b68e.
Commit migrated from https://github.com/dotnet/coreclr/commit/
37358edeb2bd2f2cd4e4ee0ebd7ecc021f1aee27
Mike Danes [Fri, 19 Jan 2018 18:44:39 +0000 (20:44 +0200)]
Remove some redundant code from TreeNodeInfoInit
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fc35376ab9226f635c8f8979279614953bfaf47
sergey ignatov [Fri, 19 Jan 2018 14:28:38 +0000 (17:28 +0300)]
[armel tizen] Fixed CoreRT issue dotnet/coreclr#4626 unwinding support (dotnet/coreclr#15913)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1c732878777092468ef8da8cd61aa8ec0922948
Fei Peng [Fri, 19 Jan 2018 08:01:21 +0000 (00:01 -0800)]
Merge SSE intrinsics into the table-driven framework
Commit migrated from https://github.com/dotnet/coreclr/commit/
654a8d5ff0cf1a7e0968c68a4b84aecf03ed9c1c
Tanner Gooding [Fri, 19 Jan 2018 03:55:41 +0000 (19:55 -0800)]
Removing an incorrect assert from emitInsBinary
Commit migrated from https://github.com/dotnet/coreclr/commit/
9de5dcdc3f476a1c18ba47f776a951608a8facbb
Jan Kotas [Fri, 19 Jan 2018 02:57:14 +0000 (18:57 -0800)]
Cache Invariant CompareInfo (dotnet/coreclr#15902)
The Invariant CompareInfo is used in number of places. It is fetched via virtual method on CultureInfo. Caching it avoids the virtual method calls and extra indirections.
Commit migrated from https://github.com/dotnet/coreclr/commit/
38cf93013c1dd1efc7137a6f4930cab7cc653411
Bruce Forstall [Fri, 19 Jan 2018 02:01:43 +0000 (18:01 -0800)]
Merge pull request dotnet/coreclr#15920 from BruceForstall/AllowArmJitHaltPopup
Allow COMPlus_JitHalt to display a pop-up on ARM/ARM64
Commit migrated from https://github.com/dotnet/coreclr/commit/
7718dec89930cc12575f060ee6a0161b7c63765f
Krzysztof Wicher [Fri, 19 Jan 2018 00:58:15 +0000 (16:58 -0800)]
Do not throw IndexOutOfBounds when AM/PM designator is empty (dotnet/coreclr#15904)
* do not throw IndexOutOfBounds when AM/PM designator is empty
* store am/pm designator in local
Commit migrated from https://github.com/dotnet/coreclr/commit/
734a8d7612237b4fab066957318345b5b7b157fe
dotnet bot [Thu, 18 Jan 2018 23:36:01 +0000 (15:36 -0800)]
Mirror changes from dotnet/corefx (dotnet/coreclr#15909)
* Consolidate System.Memory code to shared folder (dotnet/corefxdotnet/coreclr#26393)
* Consolidate System.Memory code to shared folder
This change is removing the duplicate codes from System.Memory and keep only one copy under the shared folder to be easier to edit such code in one place and get reflected on the other repos.
* Address the review feedback
* Addressing more feedback
* More cleanup
* remove empty line and added a comment
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
* Add missing throw helper methods used in the code we got from corefx
* Update the exception helper
* fix the break
Commit migrated from https://github.com/dotnet/coreclr/commit/
d44f3e883a803b2d1fe4fb2c07f92d78bff56eed
Brian Robbins [Thu, 18 Jan 2018 23:28:33 +0000 (15:28 -0800)]
Enable EventPipe and EventSource Functional Tests (dotnet/coreclr#15917)
Commit migrated from https://github.com/dotnet/coreclr/commit/
25d6ccb0092d1a1aa5b785dd5ffee0a4b4c5f13e
Tanner Gooding [Wed, 10 Jan 2018 16:25:43 +0000 (08:25 -0800)]
Refactoring emitInsBinary
Commit migrated from https://github.com/dotnet/coreclr/commit/
a191099a2a27f6ced657b1585d1fa2e86c1a1a44
Brian Robbins [Thu, 18 Jan 2018 22:49:54 +0000 (14:49 -0800)]
Convert BulkTypeLogger Allocations From Stack to Heap (dotnet/coreclr#15907)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2a35f4480655e497d378c9485caac924bfa2178
Fei Peng [Wed, 17 Jan 2018 02:35:38 +0000 (18:35 -0800)]
table drive Intel hardware intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
fffd34540b50cee2ae5a3e1215e525f029eec124
Carol Eidt [Thu, 18 Jan 2018 21:30:53 +0000 (13:30 -0800)]
Merge pull request dotnet/coreclr#15901 from tannergooding/hwintrin-fixup
Resolving a few issues with the HWIntrinsic code
Commit migrated from https://github.com/dotnet/coreclr/commit/
2620736ac1a2cfad18f8376abd7df469b182278b
Bruce Forstall [Thu, 18 Jan 2018 21:28:25 +0000 (13:28 -0800)]
Allow COMPlus_JitHalt to display a pop-up on ARM/ARM64
Note that you need to `set COMPlus_NoGuiOnAssert=0` for the
pop-up to be displayed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c0e8e3929efd465b931ae13927dd06115609527
Carol Eidt [Thu, 18 Jan 2018 19:56:20 +0000 (11:56 -0800)]
PR Feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ba75f9d4d54545def9bb39a68cff45100125098
Carol Eidt [Wed, 17 Jan 2018 19:54:52 +0000 (11:54 -0800)]
ARM: Fix morphing of struct passed on stack
If a struct is passed on the stack, it must live on the stack, unless/until we support `GT_FIELD_LIST` for these args. This is unlikely to represent a significant code quality issue, since ARM supports many register args, and this has gone undetected thus far.
This was exposed by tailcall stress on desktop.
I've added a test that exposes the issue without tailcall stress (though it gets a different assert than the desktop failure).
It seemed that `fgMorphMultiregStructArg()` was the best place to fix this - and I noted that this is called for any struct that is larger than a single register. So I updated the comments to reflect that.
I thought about putting the test in the JIT\Regressions test directory, but I consider that it is addressing basic missing test coverage, so I added it to JIT\Methodical\structs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad48067429d3e4469a740ccc89267f4b4d14bf23
Jacek Blaszczynski [Thu, 18 Jan 2018 17:10:25 +0000 (18:10 +0100)]
Update clr-configuration-knobs.md, add new C# csi.exe based script for xplat document generation (dotnet/coreclr#15858)
* C# csx script to generate CoreCLR and Jit configuration knobs doc
* Normalize category names, fix typos and white space in clrconfigvalues.h
* Normalize category names, knobs descrptions and fix typos in jitconfigvalues.h
* Remove clr-complus-conf-docgen.sh
* Remove from clrconfigvalues.h CONFIG_ declarations which are already present in jitconfigvalues.h
* Update clr-configuration-knobs.md with clr-configuration-knobs.csx script
Commit migrated from https://github.com/dotnet/coreclr/commit/
84efbc8e71fff8ccffdd637017036d2dc0f666df
Andy Ayers [Wed, 10 Jan 2018 00:25:22 +0000 (16:25 -0800)]
Update perflab tests to execute in a fixed order
Goal is to pin class init overhead on one test consistently. Also we were
not picking up the "optimize for benchmark" attribute and so likely risking
having tests execute concurrently.
Commit migrated from https://github.com/dotnet/coreclr/commit/
75385b1fa21f14076f05ca1045fc487d09337064
Tanner Gooding [Thu, 18 Jan 2018 07:53:10 +0000 (23:53 -0800)]
Updating TYP_SIMD locals to no longer undergo struct promotion for HWIntrinsic nodes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9a985db166ec393dc4683ecaaf083d370ae8c0a
Tanner Gooding [Thu, 18 Jan 2018 00:23:34 +0000 (16:23 -0800)]
Disabling the Math.Round, Math.Floor, and Math.Ceiling intrinsics on non-AVX machines
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9aa56fcc3901f2fe2c4fb9a6817cb3dcf260651
Tanner Gooding [Wed, 17 Jan 2018 15:51:43 +0000 (07:51 -0800)]
Fixing the `LoadAlignedVector128` HWIntrinsic test to ensure that we always read from an aligned address.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff39b0f050378d935304db36cb0060730457acab
Tanner Gooding [Wed, 17 Jan 2018 15:34:00 +0000 (07:34 -0800)]
Fixing some bad merge conflicts in the `emitIns_R_A_I`, `emitIns_R_C_I`, and `emitIns_R_S_I` methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a17ad5d4fc0a9922124bf6e459f2d54d3a87804