// 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))
}
