Josh Bleecher Snyder
174b858f78
cmd/compile: pass frame size to defframe
...
Preparation for de-globalizing Stksize and MaxArg.
Passes toolstash -cmp. No compiler performance impact.
Updates #15756
Change-Id: I312f0bbd15587a6aebf472cd66c8e62b89e55c8a
Reviewed-on: https://go-review.googlesource.com/38328
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-03-17 23:56:22 +00:00
Josh Bleecher Snyder
da8e939ba9
cmd/compile: thread Curfn through SSA
...
This is a first step towards eliminating the
Curfn global in the backend.
There's more to do.
Passes toolstash -cmp. No compiler performance impact.
Updates #15756
Change-Id: Ib09f550a001e279a5aeeed0f85698290f890939c
Reviewed-on: https://go-review.googlesource.com/38232
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-03-17 23:45:22 +00:00
Aliaksandr Valialkin
ed70f37e73
cmd/compile: pack bool fields in Node, Name, Func and Type structs to bitsets
...
This reduces compiler memory usage by up to 4% - see compilebench
results below.
name old time/op new time/op delta
Template 245ms ± 4% 241ms ± 2% -1.88% (p=0.029 n=10+10)
Unicode 126ms ± 3% 124ms ± 3% ~ (p=0.105 n=10+10)
GoTypes 805ms ± 2% 813ms ± 3% ~ (p=0.515 n=8+10)
Compiler 3.95s ± 2% 3.83s ± 1% -2.96% (p=0.000 n=9+10)
MakeBash 47.4s ± 4% 46.6s ± 1% -1.59% (p=0.028 n=9+10)
name old user-ns/op new user-ns/op delta
Template 324M ± 5% 326M ± 3% ~ (p=0.935 n=10+10)
Unicode 186M ± 5% 178M ±10% ~ (p=0.067 n=9+10)
GoTypes 1.08G ± 7% 1.09G ± 4% ~ (p=0.956 n=10+10)
Compiler 5.34G ± 4% 5.31G ± 1% ~ (p=0.501 n=10+8)
name old alloc/op new alloc/op delta
Template 41.0MB ± 0% 39.8MB ± 0% -3.03% (p=0.000 n=10+10)
Unicode 32.3MB ± 0% 31.0MB ± 0% -4.13% (p=0.000 n=10+10)
GoTypes 119MB ± 0% 116MB ± 0% -2.39% (p=0.000 n=10+10)
Compiler 499MB ± 0% 487MB ± 0% -2.48% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
Template 380k ± 1% 379k ± 1% ~ (p=0.436 n=10+10)
Unicode 324k ± 1% 324k ± 0% ~ (p=0.853 n=10+10)
GoTypes 1.15M ± 0% 1.15M ± 0% ~ (p=0.481 n=10+10)
Compiler 4.41M ± 0% 4.41M ± 0% -0.12% (p=0.007 n=10+10)
name old text-bytes new text-bytes delta
HelloSize 623k ± 0% 623k ± 0% ~ (all equal)
CmdGoSize 6.64M ± 0% 6.64M ± 0% ~ (all equal)
name old data-bytes new data-bytes delta
HelloSize 5.81k ± 0% 5.81k ± 0% ~ (all equal)
CmdGoSize 238k ± 0% 238k ± 0% ~ (all equal)
name old bss-bytes new bss-bytes delta
HelloSize 134k ± 0% 134k ± 0% ~ (all equal)
CmdGoSize 152k ± 0% 152k ± 0% ~ (all equal)
name old exe-bytes new exe-bytes delta
HelloSize 967k ± 0% 967k ± 0% ~ (all equal)
CmdGoSize 10.2M ± 0% 10.2M ± 0% ~ (all equal)
Change-Id: I1f40af738254892bd6c8ba2eb43390b175753d52
Reviewed-on: https://go-review.googlesource.com/37445
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-03-03 21:06:03 +00:00
Vladimir Stefanovic
f4c997578a
cmd/compile: add support for GOARCH=mips{,le}
...
Change-Id: Ib489dc847787aaab7ba1be96792f885469e346ae
Reviewed-on: https://go-review.googlesource.com/31479
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2016-11-08 19:53:45 +00:00