(p *prototype, upValues []*upValue, base int)
| 235 | } |
| 236 | |
| 237 | func cached(p *prototype, upValues []*upValue, base int) *luaClosure { |
| 238 | c := p.cache |
| 239 | if c != nil { |
| 240 | for i, uv := range p.upValues { |
| 241 | if uv.isLocal && !c.upValues[i].isInStackAt(base+uv.index) { |
| 242 | return nil |
| 243 | } else if !uv.isLocal && c.upValues[i].home != upValues[uv.index].home { |
| 244 | return nil |
| 245 | } |
| 246 | } |
| 247 | } |
| 248 | return c |
| 249 | } |
| 250 | |
| 251 | func (l *State) callGo(f value, function int, resultCount int) { |
| 252 | l.checkStack(MinStack) |
no test coverage detected