AlekseyTs
AlekseyTs
Providing a link to a general documentation page is not the same as providing a rational behind the changes that you are proposing. > This changes (optimizes) generated code, but...
> public void ConcatTwo_ConstantCharToString(int? missingUnimportantWellKnownMember) Is it important to try them one by one, or could we simply mark them all missing in one go? #Closed --- Refers to: src/Compilers/CSharp/Test/Emit2/CodeGen/CodeGenSpanBasedStringConcatTests.cs:312...
> IL_0001: ldstr "c" Is it really better to not go with the span approach, use extra space in the string blob of the assembly image, and then allocate the...
> public void ConcatTwo_ConstantCharToString(int? missingUnimportantWellKnownMember) I guess trying one by one doesn't hurt, but I would also add a flavor when all of them are missing together. --- In reply...
> IL_0001: ldstr "c" Looking at ```ConcatThree_ReadOnlySpan_OperandGroupingAndUserInputOfStringBasedConcats```, it appears that if we have a constant, we allocate a string, but, if we have a parameter, we use spans. This behavior...
> IL_0008: call "string string.Concat(string, string, string, string)" I am surprised the span overload is not used when it is available along with necessary conversion helpers. For other methods as...
> IL_0008: call "string string.Concat(string, string, string, string)" Perhaps this is the same issue with "premature char to string conversion", which could probably be mitigated by going from a single...
> // but in the second case we leave things untouched. Both lowerings produce correct output in the end, so this isn't much to worry about ~~I am not comfortable...
> // but in the second case we leave things untouched. Both lowerings produce correct output in the end, so this isn't much to worry about After a closer look,...
> If you worry that we take space in string blob, than I don't think it matters. Just think about it: it took a decade of development and a project...