mirror of
https://github.com/golang/go
synced 2024-11-22 18:54:44 -07:00
cmd/compile: discount calls to closure variables
This causes more inlining for rangefunc code. The PAUTOHEAP case catches closure-passed-as-param to function that returns a closure, that calls the outer PPARAM. Change-Id: I927cf2e1924ed2191e0ad8be9a1f2e793b6f2b38 Reviewed-on: https://go-review.googlesource.com/c/go/+/620220 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
a464ffda3e
commit
ad7f736d8f
@ -544,7 +544,7 @@ opSwitch:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if name.Class == ir.PPARAM {
|
if name.Class == ir.PPARAM || name.Class == ir.PAUTOHEAP && name.IsClosureVar() {
|
||||||
extraCost = min(extraCost, inlineParamCallCost)
|
extraCost = min(extraCost, inlineParamCallCost)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user