// run // Copyright 2014 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. // Issue 7944: // Liveness bitmaps said b was live at call to g, // but no one told the register optimizer. package main import "runtime" func f(b []byte) { for len(b) > 0 { n := len(b) n = f1(n) f2(b[n:]) b = b[n:] } g() } func f1(n int) int { runtime.GC() return n } func f2(b []byte) { runtime.GC() } func g() { runtime.GC() } func main() { f(make([]byte, 100)) }