runtime: copy cpuprof code from Go 1.7 runtime
commitcd39797e6b2f7c44da632d518ac9b0a296ea208a
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Oct 2016 13:36:35 +0000 (14 13:36 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Oct 2016 13:36:35 +0000 (14 13:36 +0000)
tree319b4c046950b68f79d46161f30121384b85c6be
parente5664bb5adc302c90b29a4abd4276251c9d70ac8
runtime: copy cpuprof code from Go 1.7 runtime

    This replaces runtime/cpuprof.goc with go/runtime/cpuprof.go and adjusts
    the supporting code in runtime/proc.c.

    This adds another case where the compiler needs to avoid heap allocation
    in the runtime package: when evaluating a method expression into a
    closure.  Implementing this required moving the relevant code from
    do_get_backend to do_flatten, so that I could easily add a temporary
    variable.  Doing that let me get rid of Bound_method_expression::do_lower.

    Reviewed-on: https://go-review.googlesource.com/31050

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241163 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/expressions.h
libgo/Makefile.am
libgo/Makefile.in
libgo/go/runtime/cpuprof.go [new file with mode: 0644]
libgo/go/runtime/stubs.go
libgo/runtime/cpuprof.goc [deleted file]
libgo/runtime/go-signal.c
libgo/runtime/malloc.h
libgo/runtime/proc.c
libgo/runtime/runtime.h
libgo/runtime/runtime1.goc