]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/runtime: generate gc bitmaps for SSA-compiled code
authorKeith Randall <khr@golang.org>
Mon, 24 Aug 2015 09:16:19 +0000 (02:16 -0700)
committerKeith Randall <khr@golang.org>
Sat, 5 Sep 2015 06:41:05 +0000 (06:41 +0000)
commitd2107fc98724662c7aa343d8004ed9d391fdeb59
treec5791bf69022fb5ca145ca63d23c17b8e49ab38c
parentd052bbd051a76dcfcbc0a0f471072166a9d07d20
[dev.ssa] cmd/runtime: generate gc bitmaps for SSA-compiled code

This change is all about leveraging the gc bitmap generation
that is already done by the current compiler.  We rearrange how
stack allocation is done so that we generate a variable declaration
for each spill.  We also reorganize how args/locals are recorded
during SSA.  Then we can use the existing allocauto/defframe to
allocate the stack frame and liveness to make the gc bitmaps.

With this change, stack copying works correctly and we no longer
need hacks in runtime/stack*.go to make tests work.  GC is close
to working, it just needs write barriers.

Change-Id: I990fb4e3fbe98850c6be35c3185a1c85d9e1a6ba
Reviewed-on: https://go-review.googlesource.com/13894
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/export_test.go
src/cmd/compile/internal/ssa/func.go
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/location.go
src/cmd/compile/internal/ssa/lower.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/schedule.go
src/cmd/compile/internal/ssa/stackalloc.go
src/cmd/compile/internal/ssa/value.go