mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: move Node.Paramfld to Node.Param.Field
$ sizeof -p cmd/compile/internal/gc Node Node 264 $ Change-Id: I5c90089dcf5df51c874250f28a1bc3ec32f764b9 Reviewed-on: https://go-review.googlesource.com/10522 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
66be1481df
commit
496ad0a286
6 changed files with 40 additions and 27 deletions
|
|
@ -29,19 +29,16 @@ type Node struct {
|
|||
Func *Func
|
||||
|
||||
// ONAME
|
||||
Name *Name
|
||||
Defn *Node // ONAME: initializing assignment; OLABEL: labeled statement
|
||||
Pack *Node // real package for import . names
|
||||
Curfn *Node // function for local variables
|
||||
Paramfld *Type // TFIELD for this PPARAM; also for ODOT, curfn
|
||||
Alloc *Node // allocation call
|
||||
Param *Param
|
||||
Name *Name
|
||||
Defn *Node // ONAME: initializing assignment; OLABEL: labeled statement
|
||||
Pack *Node // real package for import . names
|
||||
Curfn *Node // function for local variables
|
||||
Alloc *Node // allocation call
|
||||
Param *Param
|
||||
|
||||
// OPACK
|
||||
Pkg *Pkg
|
||||
|
||||
// OARRAYLIT, OMAPLIT, OSTRUCTLIT.
|
||||
|
||||
// Escape analysis.
|
||||
Escflowsrc *NodeList // flow(this, src)
|
||||
Escretval *NodeList // on OCALLxxx, list of dummy return values
|
||||
|
|
@ -116,6 +113,9 @@ type Param struct {
|
|||
Outerexpr *Node // expression copied into closure for variable
|
||||
Stackparam *Node // OPARAM node referring to stack copy of param
|
||||
|
||||
// ONAME PPARAM
|
||||
Field *Type // TFIELD in arg struct
|
||||
|
||||
// ONAME closure param with PPARAMREF
|
||||
Outer *Node // outer PPARAMREF in nested closure
|
||||
Closure *Node // ONAME/PHEAP <-> ONAME/PPARAMREF
|
||||
|
|
@ -124,14 +124,15 @@ type Param struct {
|
|||
|
||||
// Func holds Node fields used only with function-like nodes.
|
||||
type Func struct {
|
||||
Shortname *Node
|
||||
Enter *NodeList
|
||||
Exit *NodeList
|
||||
Cvars *NodeList // closure params
|
||||
Dcl *NodeList // autodcl for this func/closure
|
||||
Inldcl *NodeList // copy of dcl for use in inlining
|
||||
Closgen int
|
||||
Outerfunc *Node
|
||||
Shortname *Node
|
||||
Enter *NodeList
|
||||
Exit *NodeList
|
||||
Cvars *NodeList // closure params
|
||||
Dcl *NodeList // autodcl for this func/closure
|
||||
Inldcl *NodeList // copy of dcl for use in inlining
|
||||
Closgen int
|
||||
Outerfunc *Node
|
||||
Fieldtrack []*Type
|
||||
|
||||
Inl *NodeList // copy of the body for use in inlining
|
||||
InlCost int32
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue