X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcmd%2Fcompile%2Finternal%2Finline%2Finlheur%2Fcallsite.go;h=7a1830fd68a335125ca31a5cf95fdab94ced115e;hb=74350dd603a3480e1402a6ec98608ccb11246fb1;hp=2e42cc28da8d8f5692ff7bf1d35e8949a0df07d7;hpb=8fb8d0df90b3f692857f14233353c23fac396f82;p=gostls13.git diff --git a/src/cmd/compile/internal/inline/inlheur/callsite.go b/src/cmd/compile/internal/inline/inlheur/callsite.go index 2e42cc28da..7a1830fd68 100644 --- a/src/cmd/compile/internal/inline/inlheur/callsite.go +++ b/src/cmd/compile/internal/inline/inlheur/callsite.go @@ -41,19 +41,16 @@ type CallSite struct { // with many calls that share the same auto-generated pos. type CallSiteTab map[*ir.CallExpr]*CallSite -// Package-level table of callsites. -var cstab = CallSiteTab{} - -func GetCallSiteScore(ce *ir.CallExpr) (bool, int) { - cs, ok := cstab[ce] - if !ok { - return false, 0 +func GetCallSiteScore(fn *ir.Func, call *ir.CallExpr) (int, bool) { + if funcInlHeur, ok := fpmap[fn]; !ok { + return 0, false + } else { + cs, ok := funcInlHeur.cstab[call] + if !ok { + return 0, false + } + return cs.Score, true } - return true, cs.Score -} - -func CallSiteTable() CallSiteTab { - return cstab } type CSPropBits uint32