1
0
mirror of https://github.com/golang/go synced 2024-11-26 14:56:47 -07:00

cmd/compile: add test that non-name call does not allocate

Updates #57434

Change-Id: Ib90c228f95c3d61204e60f63d7de55884d839e05
Reviewed-on: https://go-review.googlesource.com/c/go/+/459496
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
This commit is contained in:
Cuong Manh Le 2022-12-28 11:21:47 +07:00 committed by Gopher Robot
parent 5da1f41513
commit 0853f8caec

View File

@ -0,0 +1,38 @@
// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package test
import (
"testing"
)
var output int
type Object struct {
Val int
}
func (o *Object) Initialize() *Object {
o.Val = 5
return o
}
func (o *Object) Update() *Object {
o.Val = o.Val + 1
return o
}
func TestAutotmpLoopDepth(t *testing.T) {
f := func() {
for i := 0; i < 10; i++ {
var obj Object
obj.Initialize().Update()
output = obj.Val
}
}
if n := testing.AllocsPerRun(10, f); n > 0 {
t.Error("obj moved to heap")
}
}