Avoid passing stack crawl mark unnecessarily deep in the call stack. - #21783
Conversation
|
Can this introduce (expensive) stackcrawl for caller assembly in some cases where it does not happen today? If yes, what are those cases and how important are they? |
As far as I can see it should not add any new stackcrawl that was not there before. The code paths in I moved up the stack mark resolution to There are three calls to |
|
@dotnet-bot test OSX10.12 x64 Checked Innerloop Build and Test |
|
On second thought I can move the resolution from |
|
Additionally, one stack crawl is saved if |
|
@dotnet-bot test Windows_NT x64 full_opt ryujit CoreCLR Perf Tests Correctness |
|
@dotnet-bot test Windows_NT x64 full_opt ryujit CoreCLR Perf Tests Correctness |
…otnet#21783) * Avoid passing stack crawl mark unnecessarily deep in the call stack. * Move stack crawl from TypeName::GetTypeManaged to RuntimeTypeHandle::GetTypeByName.
…otnet/coreclr#21783) * Avoid passing stack crawl mark unnecessarily deep in the call stack. * Move stack crawl from TypeName::GetTypeManaged to RuntimeTypeHandle::GetTypeByName. Commit migrated from dotnet/coreclr@2ee2cb3
TypeName::GetTypeWorkerwas passed both a stack mark and requesting assembly. Only the requesting assembly is actually needed and the stack mark can be resolved earlier if necessary.