Egor Bogatov

Results 18 issues of Egor Bogatov

I've analyzed a couple of memory snapshots using dotMemory and it feels to me that `String.InternalSubString` is the main source of duplicated strings on the heap, e.g. total heap statistics...

area-System.Runtime

A similar trick is used for `IndexOf(string, OrdinalIgnoreCase)` see [here](https://github.com/dotnet/runtime/blob/e43e31527db9f1a2dde3095a1651279b272c8c09/src/libraries/System.Private.CoreLib/src/System/Globalization/Ordinal.cs#L256-L261). Benchmark: ```csharp using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Running; BenchmarkSwitcher.FromAssembly(typeof(Benchmarks).Assembly).Run(args); public class Benchmarks { const string TestStr = ".NET Runtime uses third-party libraries...

area-System.Runtime

This PR enables `DOTNET_JitDisasm` for Release config. It doesn't print lcl tables, EH and gc info (for now). Adds ~30kb to the binary size of jit. The only noticeable impact...

area-CodeGen-coreclr

This PR implements @jkotas's idea in https://github.com/dotnet/runtime/issues/70410#issuecomment-1149874663 when `DOTNET_TieredPGO` is enabled (it's off by default and will be so in .NET 7.0) > 1) Use R2R code for process startup...

area-VM-coreclr

SDL layer should handle SwapChainControl events instead of CoreWindow.

UrhoSharp.UWP supports only x86 at the moment.

enhancement
Low priority

Currently SharpieBinder only supports macOS, so the bindings can be re-generated only on that OS. If we compile 'mono-clang' for Linux, it will allow us to generate bindings on Linux...

enhancement

Let me explain it via a code snippet: ``` var node = new Node(); scene.Remove(node); scene.Add(node); // Boom! Exception - underlying native object was deleted. ``` Now let's analyze it...

bug
lifecycle-design-update

ref-related features in C# 7.2 basically allow to avoid redundant allocations without unsafe code. So we should revise our API and find places where we can apply such optimization or...

enhancement

Let's see if my assumptions were correct. Closes https://github.com/dotnet/runtime/issues/75815 ```csharp // isinst bool IsArrayOfStrings(object o) => o is string[]; // castclass void CastToArrayOfString(IEnumerable e) => Consume((string[])e); [MethodImpl(MethodImplOptions.NoInlining)] void Consume(string[] str)...

area-CodeGen-coreclr