• Russ Cox's avatar
    6l: function at a time code layout · 9c204852
    Russ Cox authored
    Also change the span-dependent jump algorithm
    to use fewer iterations:
    
    * resolve forward jumps at their targets (comefrom list)
    * mark jumps as small or big and only do small->big
    * record whether a jump failed to be encodable
    
    These changes mean that a function with only small
    jumps can be laid out in a single iteration, and the
    vast majority of functions take just two iterations.
    I was seeing a maximum of 5 iterations before; the
    max now is 3 and there are fewer that get even that far.
    
    R=ken2
    CC=golang-dev
    https://golang.org/cl/2537041
    9c204852
data.c 12.7 KB