<div>This patch moves invalidation of the layout until after all relaxations have occurred.</div><div><br></div><div>This prevents wasting time recomputing portions of the layout over and over. Computing the layout is expensive, so we want to use as much of the information generated each time as possible, instead of throwing it away each  time a relaxation happens.</div>
<div><br></div><div>This removes a hidden O(n^2) runtime factor (where n is the number of fragments) which causes terrifying performance problems when assembling really large .s file with lots of relaxable instructions.</div>
<div><br></div><div>- David Meyer</div>