]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: encapsulate OSLICE* representation
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 21 Apr 2016 18:55:33 +0000 (11:55 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 25 Apr 2016 18:39:33 +0000 (18:39 +0000)
commitf12bd8a5a8f8485f13793f03d4803a924923badb
treef24c3d5f4f37d8132899dd1090617b33b3b54b6c
parent2bf7034d87c051ff3d3fcce9f62d7ef2d2f4108d
cmd/compile: encapsulate OSLICE* representation

As a nice side-effect, this allows us to
unify several code paths.

The terminology (low, high, max, simple slice expr,
full slice expr) is taken from the spec and
the examples in the spec.

This is a trial run. The plan, probably for Go 1.8,
is to change slice expressions to use Node.List
instead of OKEY, and to do some similar
tree structure changes for other ops.

Passes toolstash -cmp. No performance change.
all.bash passes with GO_GCFLAGS=-newexport.

Updates #15350

Change-Id: Ic1efdc36e79cdb95ae1636e9817a3ac8f83ab1ac
Reviewed-on: https://go-review.googlesource.com/22425
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
13 files changed:
src/cmd/compile/internal/gc/bexport.go
src/cmd/compile/internal/gc/bimport.go
src/cmd/compile/internal/gc/cgen.go
src/cmd/compile/internal/gc/fmt.go
src/cmd/compile/internal/gc/inl.go
src/cmd/compile/internal/gc/order.go
src/cmd/compile/internal/gc/parser.go
src/cmd/compile/internal/gc/racewalk.go
src/cmd/compile/internal/gc/sinit.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/subr.go
src/cmd/compile/internal/gc/typecheck.go
src/cmd/compile/internal/gc/walk.go