This is needed so that LLD wouldn't bind a symbol to a framework where it's hidden (would result in "missing symbol" runtime crash).
Perf impact seemed minimal:
(linking chromium)
x base.txt + with_hide.txt SYSTEM CPU time: N Min Max Median Avg Stddev x 5 0.88 0.9 0.89 0.892 0.0083666003 + 5 0.87 0.9 0.88 0.882 0.010954451 No difference proven at 95.0% confidence USER CPU time: N Min Max Median Avg Stddev x 5 3.51 3.54 3.51 3.518 0.013038405 + 5 3.47 3.5 3.5 3.49 0.014142136 Difference at 95.0% confidence -0.028 +/- 0.019837 -0.795907% +/- 0.56387% (Student's t, pooled s = 0.0136015) WALL time: N Min Max Median Avg Stddev x 5 3.91 3.94 3.94 3.93 0.014142136 + 5 3.86 3.9 3.9 3.888 0.017888544 Difference at 95.0% confidence -0.042 +/- 0.0235167 -1.0687% +/- 0.598389% (Student's t, pooled s = 0.0161245)
PR/52708
nit: looks like this could go above the bool assignments