Change-Id: I5887565077f598bc7e3edc4b78188956fb13cdaa
GitHub-Last-Rev:
479a04b42e9dc2ffc72cb599ebb12b8fc669fe20
GitHub-Pull-Request: golang/go#71822
Reviewed-on: https://go-review.googlesource.com/c/go/+/650415
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
Auto-Submit: Keith Randall <khr@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
// A miniNode is a minimal node implementation,
// meant to be embedded as the first field in a larger node implementation,
-// at a cost of 8 bytes.
+// at a cost of 12 bytes.
//
// A miniNode is NOT a valid Node by itself: the embedding struct
// must at the least provide:
// for more useful panic messages when invalid methods are called,
// instead of implementing Op itself.
type miniNode struct {
- pos src.XPos // uint32
- op Op // uint8
+ pos src.XPos
+ op Op
bits bitset8
esc uint16
}
{Func{}, 184, 312},
{Name{}, 96, 160},
{miniExpr{}, 32, 48},
+ {miniNode{}, 12, 12},
}
for _, tt := range tests {