summaryrefslogtreecommitdiff
path: root/src/mscorlib/src
AgeCommit message (Collapse)AuthorFilesLines
2017-02-23Run codeformatter on S.P.CoreLib sourcesAlex Perovich663-31651/+40648
2017-02-22Reduce code in SafeHandleAddRef (#9724)Stephen Toub2-6/+10
If DangerousAddRef returns rather than throws, its argument will be true, so there's no need to branch on it.
2017-02-22Faster List Add (#9539)Ben Adams1-4/+24
2017-02-22Separate Comparer and EqualityComparer creation logic into a non-generic ↵James Ko3-142/+220
class (#9640)
2017-02-21Improve string.Equals OrdinalIgnoreCase performance for matching chars (#9213)Bruce Bowyer-Smyth1-2/+44
* Improve string.Equals OrdinalIgnoreCase performance for matching chars * Added code comment
2017-02-18Merge pull request #9671 from benaadams/revert-encodingAndy Ayers7-1016/+183
Revert "Fast-path for ASCII & UTF8 Encoding ASCII data (#9187)"
2017-02-18Merge pull request #9670 from stephentoub/cs_randomDan Moseley1-2/+13
Delay Random allocation in ConcurrentStack
2017-02-19Revert "Fast-path for ASCII & UTF8 Encoding ASCII data (#9187)"Ben Adams7-1016/+183
This reverts commit 77e676be9fab34471c4ae9f16a7a51a06bd470ee.
2017-02-18Remove a few explicit static cctors (#9669)Stephen Toub5-19/+4
2017-02-18Delay Random allocation in ConcurrentStackStephen Toub1-2/+13
2017-02-18Fast-path for ASCII & UTF8 Encoding ASCII data (#9187)Ben Adams7-183/+1016
2017-02-17Merge pull request #9228 from fujiy/fixcorefx4805Dan Moseley1-7/+6
Add/Expose String.EndsWith(char) and String.StartsWith(char)
2017-02-16Merge pull request #8778 from dnickless/masterDan Moseley1-0/+4
Performance improvement: Make ConcurrentDictionary with Enum values also profit from atomic writes.
2017-02-15Merge pull request #9603 from danmosemsft/defines4Dan Moseley7-369/+0
Remove more dead native defines
2017-02-16Remove unnecessary "this"Felipe Fujiy Pessoto1-1/+1
2017-02-15Remove never defined FEATURE_SERIALIZATIONdanmosemsft3-81/+0
2017-02-15Extra linedanmosemsft1-2/+0
2017-02-15Merge pull request #9613 from danmosemsft/stragglersDan Moseley1-6/+0
Remove dead code
2017-02-15Remove dead codedanmosemsft1-6/+0
2017-02-14Remove never defined FEATURE_REFLECTION_ONLY_LOADdanmosemsft4-95/+0
2017-02-14Remove never defined FEATURE_NON_UNICODE_CODE_PAGESdanmosemsft1-143/+0
2017-02-14Removing nativeGetResourceFallbackArray support from VmRama Krishnan Raghupathy1-3/+0
2017-02-14Removing Os specified ulimatefallback for localizationRama Krishnan Raghupathy1-169/+1
2017-02-14Remove never defined FEATURE_ISOSTOREdanmosemsft1-34/+0
2017-02-14Remove never defined FEATURE_IDENTITY_REFERENCEdanmosemsft1-14/+0
2017-02-14Add case-insensitive String.Replace overloads (#9316)Erti-Chris Eelmaa2-13/+114
Added overloads for String.Replace so that they now accept StringComparison and CultureInfo as input parameters.
2017-02-13Merge pull request #9298 from noahfalk/r2rnoahfalk1-0/+6
Rejit support for R2R
2017-02-13Rejit support for R2R imagesnoahfalk1-0/+6
Two changes: a) R2R code wasn't being reported to the Rejit Manager when it was used, this is a simple fix in prestub.cpp. This makes the ReJit API work. b) The bulk of the changes handle adding support for an inlining table to R2R so that ICorProfilerInfo6::EnumNgenMethodsInliningThisMethod can supply that information to profilers. This was only tested on Windows thus far, but there is no apparent reason this change would be OS specific.
2017-02-12Remove constrainedexecutionregion.cppdanmosemsft1-7/+0
2017-02-12Remove never defined FEATURE_FUSIONdanmosemsft1-19/+0
2017-02-12Add RuntimeHelpers.IsReferenceOrContainsReferences<T>() (#9541)Jan Kotas5-27/+28
Rename JitHelpers.ContainsReferences<T>() to RuntimeHelpers.IsReferenceOrContainsReferences<T>() and make it public. Work towards https://github.com/dotnet/corefx/issues/14047
2017-02-12Merge pull request #9544 from stephentoub/delete_unused_constStephen Toub1-2/+0
Remove unused const in ArraySortHelper
2017-02-12Optimize List Clear+Remove (#9540)Ben Adams1-14/+35
* List Clear+Remove * Tail call Array.Clear
2017-02-12Remove unused const in ArraySortHelperStephen Toub1-2/+0
2017-02-11Merge pull request #9471 from stephentoub/task_perfStephen Toub8-330/+341
Reduce Task and async method overheads
2017-02-11Fix checks for methods that use StackCrawlMark (#9537)Jan Kotas1-3/+6
* Fix checks for methods that use StackCrawlMark My recent changed these methods to be marked using IsMdRequireSecObject instead, but some places that have to check for it were not updated correctly.
2017-02-11Perf improvements to Task/Task<T>Stephen Toub6-281/+275
- Remove some unecessary intermediate functions, e.g. Execute(), manually inlining it into its one caller - Make the common completion path (no exceptions, no cancellation, etc.) more inlineable, and avoid calling some functions (like AddExceptionsFromChildren) when we know they will be nops. - Make FinishContinuations inlineable. When there aren't any continuations, this shaves off a measurable percentage of time. When there are, we're no worse off, as the FinishContinuations entrypoint gets inlined, so we still only have the one function call to RunContinuations. - Make TaskCompletionSource.TrySetResult more inlineable. It was just on the cusp, with an extra branch / call to IsCompleted putting it over the edge. But the common path for calling TrySetResult is when the call will successfully transition, in which case we don't need the IsCompleted call; it's only necessary if/when we lose the race condition, in which case we can pay a bit more to call SpinUntilCompleted. - Avoid some duplicate logging-related calls - Remove AggressiveInlining from an ETW-related method that did not need it; the call sites can instead just check IsEnabled before calling it. - Remove some unnecessary writes, casts, locals, etc., make some fields readonly - Change CompareExchange to Exchange in Task.WhenAny completion
2017-02-11Streamline AsyncTaskMethodBuildersStephen Toub3-49/+66
- Slim down AsyncTaskMethodBuilder`1.Task and make it aggressively inlined. The common case we care to optimize for is synchronous completion, in which case the first access to Task will already fine m_task non-null, and we want that access inlined. - Slim down AsyncTaskMethodBuilder`1.SetResult. As with Task, we care most about the synchronous completion path, as when perf matters, most async method invocations complete synchronously. The code path is streamlined so that the synchronous completion path can mostly be inlined. - Replace some throws with ThrowHelper - Mark GetTaskForResult as aggressive inlining. It contains a lot of C# code, but for a given TResult, the JIT trims away the majority of the implementation.
2017-02-10Use DynamicSecurityMethod attribute to mark methods with StackCrawlMarkJan Kotas19-116/+84
CoreCLR does not have CAS, and so we can conveniently use it to mark methods with StackCrawlMark to decouple it from NoInlining. The original purpose of DynamicSecurityMethod was to disable inlining of the caller and to insert CAS security checks, so we are basically just keeping the first part. Fixes #8102
2017-02-10Boolean -> boolFelipe Fujiy Pessoto1-2/+2
2017-02-10Remove extra EndsWith and StartsWith overloadsFelipe Fujiy Pessoto1-42/+3
2017-02-10Renamed internal method EndsWith and references to it to EndsWithOrdinalVinicius Martins1-1/+39
added all three versions for EndsWith(char): char, char + bool + culture, char + comparison added all three versions of StartsWith(char): char, char + bool + culture, char + comparison Added references to the new public apis
2017-02-10Remove CER metadata (#9487)Dan Moseley50-399/+0
2017-02-10GcHandle Perf Tweaks (#9473)Ben Adams2-76/+70
* GcHandle Perf Tweaks
2017-02-09Revert earlier CAS changes to Eventing/** and put under !if !CORECLR (#9478)Dan Moseley4-0/+49
* Revert earlier CAS changes to Eventing/** and put under !if !CORECLR
2017-02-09Optimize Span.Fill (#9441)Ahson Ahmed Khan2-3/+55
2017-02-09Inlinable ArraySegment ctor (#9433)Ben Adams2-12/+25
2017-02-08Delete unnecessary domain sanity check (#9420)Jan Kotas1-3/+0
2017-02-08Span Slice method AggressiveInlining (#9404)Ahson Ahmed Khan2-1/+11
2017-02-07Add ComVisible(true) back to several special types (#9403)Jan Kotas5-7/+14
It is required by WinRT/COM interop. Fixes #9401.