Jan Vorlicek [Tue, 28 May 2019 16:06:38 +0000 (18:06 +0200)]
Fix initial thread affinity on Linux (#24801)
* Fix initial thread affinity on Linux
On Linux, a new thread inherits the affinity mask of the thread
that created the new thread. This is a problem for background GC
threads that are created by one of the server GC threads that are
affinitized to single core.
This change adds resetting each new thread affinity to match the
current process affinity.
In addition to that, I've also fixed the extraction of the CPU count
that was using PID 0. While the doc says that 0 represents current process,
it in fact means current thread.
And as a small bonus, I've added caching of the value returned by
the PAL_GetLogicalCpuCountFromOS, since it cannot change during runtime.
dotnet-maestro[bot] [Tue, 28 May 2019 15:49:34 +0000 (08:49 -0700)]
[master] Update dependencies from dotnet/core-setup (#24782)
- Microsoft.NETCore.App - 3.0.0-preview6-27727-02
dotnet-maestro-bot [Tue, 28 May 2019 10:07:21 +0000 (03:07 -0700)]
Update CoreClr to preview6.19277.72 (#24795)
Stephen Toub [Sat, 25 May 2019 02:06:37 +0000 (22:06 -0400)]
Improve performance of !dumpasync SOS command
A significant majority of the time spent in dumpasync was in getting the type name of each object in order to compare it to "AsyncStateMachineBox". This switches to comparing by module and mdTypeDef. On an ~1GB dump, the time to execute !dumpasync dropped from 43 to 11 seconds on my machine.
Stephen Toub [Thu, 23 May 2019 02:56:33 +0000 (22:56 -0400)]
Display state machine fields in DumpAsync for -stacks
Currently the DumpAsync -fields option just impacts whether the state machine fields are output for the top-level state machines. We received feedback that it would be more expected for -fields to also cause the fields to be output for all state machines listed as part of continuation chains. This does that.
Stephen Toub [Tue, 28 May 2019 10:04:13 +0000 (06:04 -0400)]
Add and apply nullable attributes (#24679)
* Add and apply nullable attributes
* Adapt to API review decisions
* Address PR feedback
Dan Moseley [Tue, 28 May 2019 02:34:19 +0000 (19:34 -0700)]
Call derived ToString on inner exceptions (#24793)
* Remove special Appx path and METHOD__EXCEPTION__TO_STRING
* Remove Exception.ToString(bool, bool)
* Remove Exception.InternalToString and callers
* Cache message
Egor Chesakov [Tue, 28 May 2019 00:23:52 +0000 (17:23 -0700)]
Use PublishBuildArtifacts instead of PublishPipelineArtifact (#24788)
* Use PublishBuildArtifacts instead of PublishPipelineArtifacts
* Use DownloadBuildArtifacts instead of DownloadPipelineArtifact
* Try to specify itemPattern
* Use PublishBuildArtifacts instead of PublishPipelineArtifacts
* Try copy files in a separate step
* Add missing $
Jan Vorlicek [Mon, 27 May 2019 16:42:16 +0000 (18:42 +0200)]
Fix module override for recursive generic signatures (#24707)
* Fix module override for recursive generic signatures
When crossgen-ing with large version bubble enabled, generic signatures
that got copied from the source IL were missing module overrides at
deeper levels of the generic signature.
For example, in case of X<Y<A,B>,Z>, the override was applied only to Y
and Z, but not to A and B.
This change fixes that by inserting module override zapsig at all
levels.
Stephen Toub [Sun, 26 May 2019 02:13:05 +0000 (22:13 -0400)]
Stop nulling out lock object in SemaphoreSlim (#24776)
SemaphoreSlim.Dispose nulls out its lock object, and that's then used as an indication in other methods whether they should throw ObjectDisposedException. But nulling out an object used for synchronization in other methods is a bad practice, and while SemaphoreSlim.Dispose is not thread-safe to be used concurrently with other usage of the instance, it's still confusing when such usage leads to NullReferenceExceptions due to trying to lock on a null lock object. This change just changes the lock to be readonly, always set, and then whether the instance has been disposed is just a value set on that object (such that it's no larger than it used to be).
Jeremy Koritzinsky [Sat, 25 May 2019 16:19:03 +0000 (09:19 -0700)]
Make sure all of the calculations of enregistered return types match correctly. (#24771)
* Make sure all of the calculations of enregistered return types match correctly.
* Revert "Disable ARM64 IDispatch tests (#24770)"
This reverts commit
852f40d5f1a3cff4d381c2de2d2a86fe8b1f29b4.
Jan Kotas [Sat, 25 May 2019 06:10:21 +0000 (23:10 -0700)]
Delete FEATURE_USE_LCID (#24767)
Never defined and obsolete
Sung Yoon Whang [Sat, 25 May 2019 03:16:11 +0000 (20:16 -0700)]
Add more runtime GC counters (#24561)
* Add Series/CounterType to CounterPayload and IncrementingCounterPayload
* merging with master
* Add Generation sizes counter
* Some cleanup
* Add allocation rate counter
* Fix build
* add Allocation Rate runtime counter
* Fix a potential div by zero exception
* Add back in code commented out
* Add LOH size counter
* Fix linux build
* GetTotalAllocated -> GetTotalAllocation
* PR feedback
* More cleanup + renaming per PR feedback
* undo comments
* more pr feedback
* Use existing GC.GetTotalAllocatedBytes API instead
* Remove duplicate GetTotalAllocation
* More PR feedback
* Fix x86 build
* Match type between C++/C#
* remove unused variables'
Jeremy Koritzinsky [Fri, 24 May 2019 23:39:50 +0000 (16:39 -0700)]
Disable ARM64 IDispatch tests (#24770)
Tamar Christina [Fri, 24 May 2019 23:26:18 +0000 (00:26 +0100)]
Arm64: Take more bounds checks into consideration when inlining immediates (#24762)
* Arm64: Take GT_ARR_BOUNDS_CHECK to consideration for inlining immediate in cmp
* Arm64: Add SIMD and HW_INTRINSIC to IsContainableImmed
Jeremy Koritzinsky [Fri, 24 May 2019 22:26:14 +0000 (15:26 -0700)]
Set the HasExplicitSize flag when a class size is specified in metadata. (#24763)
* Set the HasExplicitSize flag when a class size is specified in metadata.
* Add test from @mikedn.
Jan Kotas [Fri, 24 May 2019 22:24:17 +0000 (15:24 -0700)]
Fix nulable annotations build break (#24768)
dotnet-maestro-bot [Fri, 24 May 2019 21:37:04 +0000 (14:37 -0700)]
Update CoreClr to preview6.19274.71 (#24761)
dotnet-maestro[bot] [Fri, 24 May 2019 21:36:24 +0000 (14:36 -0700)]
[master] Update dependencies from dotnet/arcade (#24333)
* Update dependencies from https://github.com/dotnet/arcade build
20190522.13
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19272.13
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19272.13
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19272.13
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19272.13
* Update Unix permissions
* Set the versions same way as CoreFX repo
* Fix the product branding version
* Delete .NET Framework reference assemblies reference
* Workaround for https://github.com/dotnet/arcade/issues/2673
Santiago Fernandez Madero [Fri, 24 May 2019 21:14:42 +0000 (14:14 -0700)]
Merge pull request #24764 from safern/FixArraySetValueNullable
Fix some nullable annotations
Elinor Fung [Fri, 24 May 2019 18:53:42 +0000 (11:53 -0700)]
Fix publishing in official build
Jeremy Koritzinsky [Fri, 24 May 2019 20:20:23 +0000 (13:20 -0700)]
Enable LCID marshalling and clean up our LCID marshalling tests. (#24642)
* Enable LCID marshalling and clean up our LCID marshalling tests.
* Fix return type.
* Enable LCID IDispatch reverse marshalling
* Add more tests for LCID marshalling.
* Add testing for reverse-IDispatch. Fix bug in Thread::GetCulture when culture has not been initialized on the managed side.
* PR Feedback.
* Fix install command.
Santiago Fernandez Madero [Fri, 24 May 2019 19:00:48 +0000 (12:00 -0700)]
PR Feedback
Santiago Fernandez Madero [Fri, 24 May 2019 18:54:56 +0000 (11:54 -0700)]
Fix nullable annotation in String.Join
Santiago Fernandez Madero [Fri, 24 May 2019 18:45:29 +0000 (11:45 -0700)]
Fix nullable annotations in RuntimeTypeHandle operators
Santiago Fernandez Madero [Fri, 24 May 2019 18:31:12 +0000 (11:31 -0700)]
Fix Guid.TryParse nullabel annotation
Santiago Fernandez Madero [Fri, 24 May 2019 18:02:44 +0000 (11:02 -0700)]
Fix nullable annotation in Array.SetValue
Elinor Fung [Fri, 24 May 2019 15:52:45 +0000 (08:52 -0700)]
Move to 3.0 SDK (#24756)
Gleb Balykov [Fri, 24 May 2019 15:24:55 +0000 (18:24 +0300)]
Fix FEATURE_PREJIT option setup (#24760)
dotnet-maestro[bot] [Fri, 24 May 2019 15:24:09 +0000 (08:24 -0700)]
Update dependencies from https://github.com/dotnet/corefx build
20190523.8 (#24758)
- Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview6.19273.8
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19273.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19273.8
dotnet-maestro[bot] [Fri, 24 May 2019 15:23:58 +0000 (08:23 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190523.08 (#24759)
- Microsoft.NETCore.App - 3.0.0-preview6-27723-08
dotnet-maestro-bot [Fri, 24 May 2019 13:46:47 +0000 (06:46 -0700)]
Update BuildTools, CoreClr to preview4-04022-01, preview6-27721-71, respectively (master) (#24369)
* Update BuildTools, CoreClr to preview4-04022-01, preview6-27721-71, respectively
* Use `Nullable=enable` rather than `NullableContextOptions=enable`
* Resolving new nullability warnings
* PR Feedback
Jan Kotas [Fri, 24 May 2019 12:34:44 +0000 (05:34 -0700)]
Remove dependency on IEEMemoryManager (#24755)
Sergey Andreenko [Fri, 24 May 2019 04:24:44 +0000 (21:24 -0700)]
Delete RETURNTYPE and change how we get ReturnKind for gccover. (#24600)
* Move GetReturnKindFromMethodTable to method.hpp.
We would need this in other places in the next commits.
* Delete unnecessary checks from callhelpers.
* Do not check return types in CanDeduplicateCode.
GC info v.2 has this information and it is checked in another place.
* Change ComPlusMethodFrame to use the new function.
* Change gccover.cpp to use GetReturnKindFromMethodTable.
* Delete RETURNTYPE.
* Add check to ComPlusMethodFrame.
* Delete check from threadsuspend.
codeInfo->GetCodeManager()->GetReturnKind(gcInfoToken) must always return a valid kind nowdays (it could return an invalid lind only when GC Info v2 was not available).
* Rename functions/arguments.
* Add check for IsValidReturnKind.
* delete unused var.
John Salem [Fri, 24 May 2019 03:18:33 +0000 (20:18 -0700)]
Diagnostics IPC (#24582)
* Initial draft of structs and classes for Diagnostic Server IPC Protocol
* Fix some syntax/name issues that weren't getting caught by intellisense in vscode for mac
* * Add member checkers for Flatten and GetSize
* Split Flatten impl to have a default version for simple, fixed-size structs
* * Remove unnecessary abstract class
* Add documentation about templates
* * Change templating for IpcMessage class to be more limited (only on message creation and payload parsing)
* flesh out parse and tryparse
* add requirement for non-fixed-size payloads to implement a static TryParse(buffer, bufferlen)
* refactor namespace to bottom of file
* * moved DiagnosticsIpc namespace into diagnosticprotocol.h to avoid being referenced by debug-pal project
* converted diagnostic server to use DiagnosticsIpc code
* converted EventPipeProtocolHelper to use DiagnosticsIpc code
* made EventPipe end to end use DiagnosticsIpc code
* * Add ASSERTs where relevant
* Refactor stream ownershpi back to previous way for collect tracing response
* * Add contracts where applicable
* * Updating GenerateCoreDump code to use new IPC work after rebase
* * modify contract in DiagnosticProtocolHelper to be more restrictive
* remove comments
* Add comment documentation of SFINAE pattern above usage
* simplify Has* checks
* Fix function resolution for static member check
* Add Constructor for rvalue references to IpcMessage
* avoid code path that would result in a blocking read on 0 bytes
* Fix silly strcmp bug
* fix contractin EventPipeProtocolHelper
* * Modify header declaration to make static initialization easier
* fix type in template code
* * Make all messages use Initialize instead of constructor for hydrating themselves, to make error paths easier
* * Expand and streamline error model to match spec
* Simplify writing error messages to a static function
* memory management
* *modify function signatures for SFINAE to remove clang warning
* * add braces to static initialization to remove clang warnings
* * modify IpcMessage::TryParseImpl, to reset the internal data pointer when passing back a reinterpret_cast to prevent double frees on destruction
* Add notes on requirement that user free the memory for a payload
* * fix bug in TryParse for generateCoreDump
* change INT to uint32_t in GenerateCoreDump payloads
* Remove unused error code
* * rename Miscellaneous command set to Diagnostic
* Remove unnecessary command ids in EventPipe
* Rename Diagnostic command set to Dump
* * Move payload into Holder to simplify cleanup
* Add buffer holder to payloads to ensure the buffers are being cleaned up after use
* updated Profiler attach to use IPC work after rebase
* * Fix typos
* Fix placement of ifdefs for profiler helpers
* * Fix accidental char hidden in ifdef...
* * Add ASSERT to signify we shouldn't be re-using IpcMessages
* * fix another typo hidden behind inactive ifdef...
* * Change errors to use HRESULTS to increase transparency
* fix bug in profiler attach for checking if entire client data is in buffer
Jan Vorlicek [Fri, 24 May 2019 02:33:51 +0000 (19:33 -0700)]
Re-enable queryperformancecounter PAL test (#11291)
The test seems to work in the lab again, so the failures seem to be related to the version
of OSX we were using in the past when the test started to fail.
Rich Lander [Fri, 24 May 2019 00:40:45 +0000 (17:40 -0700)]
Create THIRD-PARTY-NOTICES.TXT (#24752)
TPN for https://github.com/dotnet/coreclr/blob/
a9074bce5e3814db67dbec1c56f477202164d162/tests/src/sizeondisk/sodbench/SoDBench.cs#L738
Santiago Fernandez Madero [Fri, 24 May 2019 00:39:30 +0000 (17:39 -0700)]
Make AppDomain.GetThreadPrincipal() internal (#24747)
Jan Kotas [Fri, 24 May 2019 00:38:52 +0000 (17:38 -0700)]
Delete FEATURE_TESTHOOK (#24746)
Jan Kotas [Fri, 24 May 2019 00:38:42 +0000 (17:38 -0700)]
Delete unused file (#24745)
Jan Kotas [Fri, 24 May 2019 00:38:28 +0000 (17:38 -0700)]
Delete unused PredefinedTlsSlots (#24744)
Elinor Fung [Thu, 23 May 2019 23:42:08 +0000 (16:42 -0700)]
Fix restoring internal tools (#24750)
David Wrighton [Thu, 23 May 2019 23:18:07 +0000 (16:18 -0700)]
Fewer ilstubs in corelib from reflection apis (#24708)
Rework use of marshalling for RuntimeTypeHandle, RuntimeModule, RuntimeAssembly, and IRuntimeMethodInfo as used by QCalls
- Remove special QCall only used marshallers for RuntimeAssembly, RuntimeModule and IRuntimeMethodInfo
- Following the pattern of ObjectHandleOnStack, implement QCall handle types for RuntimeAssembly/Module/TypeHandle. Use these in all QCalls that once passed the types directly.
- For uses of IRuntimeMethodInfo, follow the existing RuntimeMethodHandleInternal pattern
Also perform some replacement of bool marshalling with use of Interop.BOOL, and a few cases of using pointers instead of byref arguments.
Fix delivers a relatively small win on startup, and small throughput gains around reflection as IL stubs are no longer necessary for many functions in reflection that once needed them.
Reduces methods jitted on powershell startup from 422 to 399, (About 5%) but performance win is only about 5ms on ~400ms as the methods removed are simple.
Dotnet-GitSync-Bot [Thu, 23 May 2019 20:55:21 +0000 (13:55 -0700)]
Fix CoreRT build breaks (#24743)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
dotnet-maestro[bot] [Thu, 23 May 2019 19:18:30 +0000 (12:18 -0700)]
[master] Update dependencies from dotnet/corefx (#24604)
* Update dependencies from https://github.com/dotnet/corefx build
20190522.8
- Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview6.19272.8
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19272.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19272.8
* Disable failing test
Akihisa Yagi [Thu, 23 May 2019 19:11:38 +0000 (04:11 +0900)]
Fix the checkboxes in superpmi.md (#24496)
dotnet-maestro[bot] [Thu, 23 May 2019 18:24:11 +0000 (11:24 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190522.02 (#24741)
- Microsoft.NETCore.App - 3.0.0-preview6-27722-02
Elinor Fung [Thu, 23 May 2019 17:51:19 +0000 (10:51 -0700)]
Fix missing version numbers in packaged files and getting IBC merge version in official build (#24735)
* Fix missing version numbers in packaged files in official build
* Fix build script for getting IBC merge version
Koundinya Veluri [Thu, 23 May 2019 17:49:10 +0000 (10:49 -0700)]
Add some perf events/data for tiered compilation (#24607)
Add some perf events/data for tiered compilation
New events:
- `Settings` - Sent when TC is enabled
- `Flags` - Currently indicates whether QuickJit and QuickJitForLoops are enabled
- `Pause` - Sent when TC is paused (due to a new method being called for the first time)
- `Resume` - Sent when TC resumes
- `NewMethodCount` - Number of methods called for the first time while tiering was paused
- `BackgroundJitStart` - Sent when starting to JIT methods in the background
- `PendingMethodCount` - Number of methods currently scheduled for background JIT
- `BackgroundJitStop` - Sent when background jitting stops
- `PendingMethodCount` - Same as above. When 0, background jitting has completed.
- `JittedMethodCount` - Number of methods jitted in the background since the previous BackgroundJitStart event on the same thread
Miscellaneous:
- Updated method JIT events to include the optimization tier
- Added a couple more cases where tiered compilation is disabled for methods that have JIT optimization disabled for some reason
- Renamed `Duration` field of the new version of the `ContentionEnd` to `DurationNs` to indicate the units of time
- Added `OptimizationTierOptimized` to `NativeCodeVersion::OptimizationTier` to distinguish it from `OptimizationTier1`. `OptimizationTierOptimized` is now used for methods that QuickJit is disabled for, and does not send the tier 1 flag.
- For info about the code being generated by the JIT, added info to `PrepareCodeConfig` and stored a pointer to it on the thread object for the current JIT invocation. Info is updated in `PrepareCodeConfig` and used for updating the tier on the code version and for sending the ETL event.
- If the JIT decides to use MinOpt when `MethodDesc::IsJitOptimizationDisabled()` is false, the info is not stored. The runtime method event will reflect the JIT's choice, the rundown event will not.
- Updated to show optimization tiers in SOS similarly to PerfView
Andy Ayers [Thu, 23 May 2019 17:35:15 +0000 (10:35 -0700)]
Add missing pin to two tests and re-enable for GC stress (#24738)
Test was evidently assuming that because an object that referred to an array
was pinned, so was the array. Failure was intermittent, GC is not guaranteed
to move objects or to render their former contents inaccessible.
Fixes #24173.
Fixes #24464.
Leandro A. F. Pereira [Thu, 23 May 2019 16:59:17 +0000 (09:59 -0700)]
Use auxiliary vector to obtain the executable path name (#24696)
This vector is populated by the kernel while loading an ELF, and is
available to user land without requiring any system calls. This is
specially interesting if programs are executed under a chroot where
/proc isn't available (and thus realpath("/proc/self/exe"), the current
method of obtaining the full path name for the executable).
Jan Kotas [Thu, 23 May 2019 15:14:39 +0000 (08:14 -0700)]
Reenable all CoreFX tests (#24740)
David Mason [Thu, 23 May 2019 07:28:09 +0000 (00:28 -0700)]
Prevent duplicate class addition when a profiler adds a type (#24737)
David Mason [Thu, 23 May 2019 07:19:41 +0000 (00:19 -0700)]
Profiler attach over the diagnostics pipe (#24670)
Remove the old windows only profiler attach mechanism and replace it with a cross plat implementation over the diagnostics pipe
Jan Kotas [Thu, 23 May 2019 06:42:31 +0000 (23:42 -0700)]
Stop compiling fragile NGen support into the runtime (#24625)
Elinor Fung [Thu, 23 May 2019 06:33:59 +0000 (23:33 -0700)]
Use Microsoft.Build.Traversal instead of dir.traversal.targets for packaging .builds projects (#24723)
Steve Dower [Thu, 23 May 2019 06:24:00 +0000 (23:24 -0700)]
Use -c when trying to find Python (#24722)
Piping code into Python is indistinguishable from interactive execution, but since we never want interactive execution here it's better to use `-c <CODE>`.
dotnet-maestro[bot] [Thu, 23 May 2019 04:45:43 +0000 (21:45 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190521.3 (#24717)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190521.3
- optimization.PGO.CoreCLR - 99.99.99-master-
20190521.3
Mike McLaughlin [Thu, 23 May 2019 04:28:49 +0000 (21:28 -0700)]
Merge pull request #24734 from mikem8361/sosincs2
Add warning banner and sos threads -special fix
Mukul Sabharwal [Thu, 23 May 2019 03:47:48 +0000 (20:47 -0700)]
Add EnumerateRefs API and remove GetObjectReferences (#24542)
Sergey Andreenko [Thu, 23 May 2019 01:19:20 +0000 (18:19 -0700)]
Change timeouts for outerloop job and move one test to longRunningGc. (#24731)
* Change outerloop timeout per collection.
We have different test collections timeouts on Alpine.38.Amd64, examples:
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/
20190521.780/workItem/JIT.jit64.hfa/wilogs
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/
20190521.779/workItem/PayloadGroup0/wilogs
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fr2r~2Fcli~2F/
20190521.783/workItem/Loader.classloader.TypeGeneratorTests.TypeGeneratorTest0-299/wilogs
* Move _il_relthread-race to pri1 and mark as long running GC test.
Steve MacLean [Thu, 23 May 2019 00:51:00 +0000 (20:51 -0400)]
ComponentActivator GetType must throwOnError (#24732)
Mike McLaughlin [Wed, 22 May 2019 23:59:02 +0000 (16:59 -0700)]
Add warning banner and sos threads -special fix
Carol Eidt [Wed, 22 May 2019 23:44:36 +0000 (16:44 -0700)]
Fix x86 synchronized method (#24703)
For the JIT32_GCENCODER the this pointer must be either kept in a single register or on the stack.
Fix #24166
Michal Strehovský [Wed, 22 May 2019 22:59:43 +0000 (15:59 -0700)]
Allow CORINFO_BOX_THIS for primitives and enums (#24644)
We abort R2R compiling methods with `thisTransform == CORINFO_BOX_THIS`. This means we don't R2R compile some methods that do virtual calls on valuetypes (e.g. calling `ToString` on a struct that doesn't itself provide a `ToString` method).
We can't allow this in general, but enums and primitives should be fine.
Aaron Robinson [Wed, 22 May 2019 22:18:44 +0000 (15:18 -0700)]
Remove filter for Exception type during registry inquiry. (#24725)
Update Console output with more details.
Sung Yoon Whang [Wed, 22 May 2019 22:13:23 +0000 (15:13 -0700)]
put lttng probe check under FEATURE_EVENT_TRACE (#24729)
Andrew Au [Wed, 22 May 2019 17:51:30 +0000 (10:51 -0700)]
Relax the assertion for FieldDesc::GetBase
Egor Chesakov [Wed, 22 May 2019 18:49:43 +0000 (11:49 -0700)]
Merge pull request #24636 from echesakovMSFT/MoreOuterloopQueues
Enable OSX.1012.Amd64.Open and Windows.10.Arm64.Open (only Windows_NT/arm) in outerloop jobs
Jan Kotas [Wed, 22 May 2019 18:21:47 +0000 (11:21 -0700)]
Delete FEATURE_WINDOWSPHONE (#24718)
Carol Eidt [Wed, 22 May 2019 17:56:54 +0000 (10:56 -0700)]
Test case for #24657 (#24721)
This bug is a duplicate of #18522. Adding the additional repro.
Close #24657
Stephen Toub [Wed, 22 May 2019 17:28:26 +0000 (13:28 -0400)]
Fix Path.Join argument nullable annotation (#24719)
Leandro A. F. Pereira [Wed, 22 May 2019 15:17:26 +0000 (08:17 -0700)]
Cache current thread ID in TLS (#24699)
While looking at the strace of `corerun` built with logging and
debugging information, I was amazed at the number of gettid() calls it
was making. While system calls are cheap, they're still not free;
cache this number in the thread local storage area. Adds a branch, but
it's just a comparison with 0, so it's fine in comparison.
Kirill Frolov [Wed, 22 May 2019 14:05:06 +0000 (17:05 +0300)]
Fixed ARM single stepper: added "ADD Rn, PC" command emulation (#24271)
This change fixes bug #24164: pull request #11366 adds generation of
commands which use PC-relative addressing. But ArmSingleStepper doesn't
implements support for "ADD Rn, PC" command, so when we try to debug
managed code, generated JIT can't be single stepped correctly.
Detailed changes description:
1) added "ADD Rn, PC" command emulation to ArmSingleStepper;
2) asserts added to JIT code generator, which prevents using of CPU
instructions, which address PC (R15) register with except of only "ADD
Rn, PC" instruction (asserts generated only in Debug builds).
Normally PC register shouldn't be used in arithmetic commands almost in
all cases.
Marek Safar [Wed, 22 May 2019 13:30:59 +0000 (15:30 +0200)]
Commit
29810a78e5b93d8da9fb921d096226d249fc75a5 added unconditional dependency on GetCpuUtilization (#24715)
Update projitems file inclusion
Jan Kotas [Wed, 22 May 2019 12:18:30 +0000 (05:18 -0700)]
Delete dead strongname-related code (#24709)
Mukul Sabharwal [Wed, 22 May 2019 09:56:05 +0000 (02:56 -0700)]
GC Moved Objects Profiler API fix (#24541)
Mukul Sabharwal [Wed, 22 May 2019 08:52:38 +0000 (01:52 -0700)]
Track debug info for DynamicMethods for Profiler API (#24139)
Sung Yoon Whang [Wed, 22 May 2019 06:06:17 +0000 (23:06 -0700)]
Add runtime counter for current assemblies loaded (#24698)
* Consume # of assemblies loaded
* Fix names
* Fix build
* Add ifdef in assemblynative.hpp
* fix merge error
* fix build break
* Address PR feedback
* Fix linux build
* Remove ifdef
Mike McLaughlin [Wed, 22 May 2019 04:52:37 +0000 (21:52 -0700)]
Fix loading libcoreclrtraceptprovider.so (#24702)
Noah Falk [Wed, 22 May 2019 04:52:18 +0000 (21:52 -0700)]
Fix profiler crash on shutdown (#22712)
Fixes issue #22176. Use the profiler evacuation counters to ensure that we
don't callback into the profiler when it has already been released.
Previously we only did this as part of the attach/detach feature, but this
is required for correctness during standard shutdown given that managed
threads are still running concurrently.
Stephen Toub [Wed, 22 May 2019 04:27:00 +0000 (00:27 -0400)]
Implement AppDomain.Monitoring*MemorySize (#24610)
* Implement AppDomain.MonitoringTotalAllocatedMemorySize
* Change precise:true back to precise:false in GetTotalAllocatedBytes
dotnet-maestro[bot] [Wed, 22 May 2019 04:16:49 +0000 (21:16 -0700)]
[master] Update dependencies from dotnet/core-setup (#24647)
* Update dependencies from https://github.com/dotnet/core-setup build
20190520.09
- Microsoft.NETCore.App - 3.0.0-preview6-27720-09
Jan Kotas [Wed, 22 May 2019 04:15:32 +0000 (21:15 -0700)]
Delete Unsafe redefinitions of Windows APIs (#24688)
Leftover from SQL hosting infrastructure
Jan Vorlicek [Wed, 22 May 2019 03:34:01 +0000 (20:34 -0700)]
Update build docker images to enable NUMA support (#24593)
* Update build docker images to enable NUMA support
So far, the NUMA support for Linux was disabled due to the fact that the
build docker images didn't have libnuma development package installed.
This change updates the images to ones that have the libnuma added that
were created recently.
* Update build job to use Clang5.0 for arm64 everywhere
Our new images for linux-arm64 build have only Clang 5.0 and this change
also aligns the build with linux-musl-arm64.
* Update the clang version used for test builds
Jan Vorlicek [Wed, 22 May 2019 03:33:05 +0000 (20:33 -0700)]
Fix GCToOSInterface::SetCurrentThreadIdealAffinity on Unix (#24706)
The code was using GCToOSInterface::SetThreadAffinity, which
effectively pinned the current thread to a specific processor. On
Windows, it calls SetThreadIdealProcessor which is basically just a
scheduler hint, but the thread can stil run on other threads.
Since there is no way to set ideal affinity on Unix, the fix is to do
nothing in the GCToOSInterface::SetCurrentThreadIdealAffinity.
Elinor Fung [Wed, 22 May 2019 03:19:33 +0000 (20:19 -0700)]
Add Microsoft.DotNet.Build.Tasks.Packaging to Version.Details.xml (#24700)
Mike Marynowski [Wed, 22 May 2019 02:58:49 +0000 (22:58 -0400)]
Modified format logic so that braces are not allowed in custom format specifiers (#23062)
* Modified format logic so that braces are not allowed in custom format specifiers.
* Disabled failing test temporarily and fixed code style issue.
PR needed to pass test: https://github.com/dotnet/corefx/pull/35820
* Slight changes to logic to better align the diff.
* Fixed counting error.
* Fix nullable
* Move exclusion near related test
* Add skip to new issue file
* Delete CoreFX.issues.json
Elinor Fung [Wed, 22 May 2019 01:52:30 +0000 (18:52 -0700)]
Set ContinuousIntegrationBuild=true for product build in build-job.yml (#24693)
dotnet-maestro[bot] [Wed, 22 May 2019 00:46:05 +0000 (17:46 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190521.1 (#24681)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190521.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190521.1
Egor Chesakov [Tue, 21 May 2019 23:48:22 +0000 (16:48 -0700)]
Add clarifying comment why Windows.10.Arn64.Open only used in Windows_NT/arm and only for CI builds
Jan Kotas [Tue, 21 May 2019 23:24:19 +0000 (16:24 -0700)]
Add null check in VoidFreeNativeLibrary (#24685)
Mike McLaughlin [Tue, 21 May 2019 22:57:33 +0000 (15:57 -0700)]
Fix loading libcoreclrtraceptprovider.so
Tanner Gooding [Tue, 21 May 2019 22:53:19 +0000 (15:53 -0700)]
Fixing EnableSSE3_4=0 and EnableHWIntrinsic=0 to control the right things (#24649)
* Ensure we check JitConfig.EnableSSE3_4 when determining the max supported vector size
* Ensure that EnableHWIntrinsic=0 doesn't impact the supported ISAs
* Applying formatting patch
* Moving jitstress-isas-x86 to the 600m timeout group
Stephen Toub [Tue, 21 May 2019 22:00:53 +0000 (18:00 -0400)]
Reduce overhead of SemaphoreSlim.WaitAsync (#24687)
This affects the case where SemaphoreSlim.WaitAsync is invoked, the operation completes asynchronously because there's no count available in the semaphore, and where a timeout and/or a cancellation token is passed to WaitAsync. In that case, we need to wait for the underlying wait task to complete, for cancellation to be requested, or for the timeout to elapse.
There's currently one code path that handles this. This change improves that slightly by avoiding a defensive array copy. However, we can do much better when we get a cancelable token but no timeout, in which case we can avoid operations like Task.Delay, can register with the original cancellation token rather than a new one (which means we avoid forcing a new CancellationTokenSource's lazily-allocated partitions into existence), etc.
Steve MacLean [Tue, 21 May 2019 21:07:24 +0000 (17:07 -0400)]
Add CreateNativeDelegate flags check (#24695)
Jan Kotas [Tue, 21 May 2019 20:28:49 +0000 (13:28 -0700)]
Delete infrastructure files that are no longer used (#24684)
* Delete Jenkins scripts
* Delete support files for the old CoreFX test infrastructure
* Delete CoreFX test file setup utility
Steve MacLean [Tue, 21 May 2019 20:04:13 +0000 (16:04 -0400)]
Update CreateNativeDelegate calling convention (#24690)
Pass strings as UTF16 on Windows
Elinor Fung [Tue, 21 May 2019 19:05:49 +0000 (12:05 -0700)]
Switch NuGet package build to use Arcade instead of BuildTools (#24619)
Sergey Andreenko [Tue, 21 May 2019 18:14:24 +0000 (11:14 -0700)]
Merge pull request #24675 from sandreenko/excludeSuperPmiCollect
Exclude superpmicollect with JitStress on arm.