• Austin Clements's avatar
    cmd/compile: output stack map index everywhere it changes · ed7a0682
    Austin Clements authored
    Currently, the code generator only considers outputting stack map
    indexes at CALL instructions. Raise this into the code generator loop
    itself so that changes in the stack map index at any instruction emit
    a PCDATA Prog before the actual instruction.
    
    We'll optimize this in later CLs:
    
    name        old time/op       new time/op       delta
    Template          190ms ± 2%        191ms ± 2%    ~     (p=0.529 n=10+10)
    Unicode          96.4ms ± 1%       98.5ms ± 3%  +2.18%  (p=0.001 n=9+10)
    GoTypes           669ms ± 1%        673ms ± 1%  +0.62%  (p=0.004 n=9+9)
    Compiler          3.18s ± 1%        3.22s ± 1%  +1.06%  (p=0.000 n=10+9)
    SSA               7.59s ± 1%        7.64s ± 1%  +0.66%  (p=0.023 n=10+10)
    Flate             128ms ± 1%        130ms ± 2%  +1.07%  (p=0.043 n=10+10)
    GoParser          157ms ± 2%        158ms ± 3%    ~     (p=0.123 n=10+10)
    Reflect           442ms ± 1%        445ms ± 1%  +0.73%  (p=0.017 n=10+9)
    Tar               179ms ± 1%        180ms ± 1%  +0.58%  (p=0.019 n=9+9)
    XML               229ms ± 1%        232ms ± 2%  +1.27%  (p=0.009 n=10+10)
    [Geo mean]        401ms             405ms       +0.94%
    
    name        old exe-bytes     new exe-bytes     delta
    HelloSize         1.46M ± 0%        1.47M ± 0%  +0.84%  (p=0.000 n=10+10)
    [Geo mean]        1.46M             1.47M       +0.84%
    
    For #24543.
    
    Change-Id: I4bfe45b767c9d9db47308a27763b303fa75bfa54
    Reviewed-on: https://go-review.googlesource.com/109350
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    ed7a0682
Name
Last commit
Last update
..
internal Loading commit data...
README.md Loading commit data...
doc.go Loading commit data...
fmt_test.go Loading commit data...
main.go Loading commit data...