]> Cypherpunks repositories - gostls13.git/commit
cmd/5l, cmd/6l, cmd/8l, cmd/gc, runtime: generate and use bitmaps of argument pointer...
authorCarl Shapiro <cshapiro@google.com>
Wed, 29 May 2013 00:59:10 +0000 (17:59 -0700)
committerCarl Shapiro <cshapiro@google.com>
Wed, 29 May 2013 00:59:10 +0000 (17:59 -0700)
commit4e0a51c210ededa82809756ca1cc72b1fb1def8d
tree73e39d7d22cc17088ea10bcd2bc0ce165b45ef0d
parent8bbb08533dab0dcf627db0b76ba65c3fb9b1d682
cmd/5l, cmd/6l, cmd/8l, cmd/gc, runtime: generate and use bitmaps of argument pointer locations

With this change the compiler emits a bitmap for each function
covering its stack frame arguments area.  If an argument word
is known to contain a pointer, a bit is set.  The garbage
collector reads this information when scanning the stack by
frames and uses it to ignores locations known to not contain a
pointer.

R=golang-dev, bradfitz, daniel.morsing, dvyukov, khr, khr, iant, cshapiro
CC=golang-dev
https://golang.org/cl/9223046
25 files changed:
src/cmd/5g/peep.c
src/cmd/5g/reg.c
src/cmd/5l/5.out.h
src/cmd/5l/l.h
src/cmd/5l/obj.c
src/cmd/6g/peep.c
src/cmd/6g/reg.c
src/cmd/6l/6.out.h
src/cmd/6l/l.h
src/cmd/6l/obj.c
src/cmd/6l/optab.c
src/cmd/8g/peep.c
src/cmd/8g/reg.c
src/cmd/8l/8.out.h
src/cmd/8l/l.h
src/cmd/8l/obj.c
src/cmd/8l/optab.c
src/cmd/gc/bv.c [new file with mode: 0644]
src/cmd/gc/go.h
src/cmd/gc/pgen.c
src/cmd/ld/lib.c
src/pkg/runtime/extern.go
src/pkg/runtime/mgc0.c
src/pkg/runtime/runtime.h
src/pkg/runtime/symtab.c