These changes allow Power to use fast stack unwinding. This is a huge performance benefit for asan.
For instance, using the testcase mentioned here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63927
these are sample runs with and without the change. The numbers are seconds taken to run that test.
With asan and existing "slow" stack unwinding:
size array vector_point vector_iters deque list set multiset
10 12.40 11.74 11.39 24.85 220.89 124.04 246.55
100 0.84 0.82 0.86 3.48 110.01 67.22 128.29
1000 0.35 0.32 0.33 1.67 74.42 47.36 89.42
10000 0.27 0.28 0.26 1.37 56.92 38.08 70.83
100000 0.26 0.26 0.26 1.03 45.02 32.75 58.08
1000000 0.26 0.21 0.26 0.90 37.96 30.64 53.24
With asan and now working "fast" stack unwinding:
size array vector_point vector_iters deque list set multiset
10 0.57 0.58 0.62 1.19 6.57 3.69 6.60
100 0.30 0.27 0.31 0.48 3.07 1.89 3.46
1000 0.31 0.28 0.29 0.36 2.26 1.28 2.44
10000 0.25 0.25 0.26 0.33 1.82 1.14 1.90
100000 0.26 0.25 0.24 0.28 1.75 1.20 2.01
1000000 0.25 0.21 0.26 0.28 2.28 1.93 3.22
Does this have to be in the header?