func (fr *Frame) extend(grow int) {
	fr.locals = append(
		fr.locals,
		make([]Value, grow, grow)...,
	)[:len(fr.locals)]
}
extend grows the frame's locals stack by grow.
package lua
import "github.com/Azure/golua/lua/vm"
type callStatus uint
const (
	callStatusAllowHook = 1 << iota  
	callStatusTail  
)
type (
	CallInfo struct {
	}
	Frame struct {
		prev, next *Frame            
		closure    *Closure          
		vararg     []Value           
		locals     []Value           
		state      *State            
		depth      int               
		fnID       int               
		rets       int               
		pc         int               
		up         map[int]*upValue  
		status     callStatus        
	}
)
func (fr *Frame) checkstack(needed int) bool {
	if space := cap(fr.locals) - fr.gettop(); space < needed {
		fr.extend(needed - space)
	}
	return true
}