This method is called on each relocation when parsing input files, so
the overhead of using virtual functions ends up being quite large. We
now have a single non-virtual method, which reads from the appropriate
array of relocation attributes set in the TargetInfo's constructor.
This change results in a modest 2.7% reduction in link time for
chromium_framework measured on my GCP instance:
x before
+ after
+---------------------------------------------------------------------+
| + |
| + + + + x xx |
|+ +++ ++ + +++++ + ++ x xxx xxxxxx x xxx x x x|
| |_______A_______| |_______MA________| |
+---------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 20 11.992883 12.289202 12.107467 12.114866 0.079527048
+ 20 11.662653 11.903168 11.785559 11.785649 0.073029551
Difference at 95.0% confidence
-0.329216 +/- 0.0488658
-2.71746% +/- 0.403354%
(Student's t, pooled s = 0.0763475)