We weren't flagging inlined callee functions with callsite but not memprof metadata correctly, leading to the callsite metadata not being stripped when that function was inlined into a callsite that didn't itself have callsite metadata. In practice, this meant that we went into the LTO link with many more calls than necessary having callsite metadata / summary records, which in turn made the graph larger than necessary. Fixing this oversight resulted in huge reductions in the thin link of a large target: 99% fewer duplicated context ids (recall we have to duplicate when callsites containing the same stack ids are in different functions) 71% fewer graph edges 17% fewer graph nodes 13% fewer functions cloned 44% smaller peak memory 47% smaller time
16 KiB
16 KiB