[EL] DEBUG-4879 Support multiple expression compilations by dudikeleti · Pull Request #7994 · DataDog/dd-trace-dotnet

GreenMatan

@dudikeleti

Replace 4 per-feature ConcurrentDictionary caches with a single bucketed cache keyed by (thisType, returnType, memberCount)
Avoid per-evaluation allocations/hashing by matching member runtime types inside the bucket
Ensure single compilation per type-combination with per-entry compile gating
Add monomorphic fast-path in bucket (_last) and reduce allocations on misses
Expose MethodScopeMembers.MemberCount to avoid scanning pooled member arrays
Lazy-init span-decoration result list

@dudikeleti

@dudikeleti dudikeleti deleted the dudik/el-support-multiple-compilations branch

January 21, 2026 20:10