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