Changeset dd551d71920779212829c7c781ca8c4d654d8935

User picture

Commiter: Charles Childers

Author: Charles Childers

Parent: 81be6a7595

(2010/03/13 01:46) About 2 years ago

fix for stack depth query in gonga (thanks yiyus)

Affected files

Updated vm/gonga/devs.go Download diff

81be6a759539aac15f78155a22b2c7e42cb70e12dd551d71920779212829c7c781ca8c4d654d8935
75
	return string(data[a:w])
75
	return string(data[a:w])
76
}
76
}
77
77
78
func (vm *NgaroVM) wait(port *[nports]int, tos int, ip int) (spdec int) {
78
func (vm *NgaroVM) wait(port *[nports]int, tos int, depth int) (spdec int) {
79
	var c [1]byte
79
	var c [1]byte
80
	switch {
80
	switch {
81
	case port[0] == 1:
81
	case port[0] == 1:
...
...
135
		case -1: // Image size
135
		case -1: // Image size
136
			port[5] = len(vm.img)
136
			port[5] = len(vm.img)
137
		case -5: // Stack depth
137
		case -5: // Stack depth
138
			port[5] = stackDepth
138
			port[5] = depth
139
		case -6: // Address stack depth
139
		case -6: // Address stack depth
140
			port[5] = stackDepth
140
			port[5] = stackDepth
141
		case -9: // Bye!
141
		case -9: // Bye!

Updated vm/gonga/ngaro.go Download diff

81be6a759539aac15f78155a22b2c7e42cb70e12dd551d71920779212829c7c781ca8c4d654d8935
214
			port[tos] = data[sp-1]
214
			port[tos] = data[sp-1]
215
			sp = sp - 2
215
			sp = sp - 2
216
		case Wait:
216
		case Wait:
217
			sp -= vm.wait(&port, tos, ip)
217
			sp -= vm.wait(&port, tos, sp-2)
218
		default:
218
		default:
219
			rsp++
219
			rsp++
220
			addr[rsp] = ip
220
			addr[rsp] = ip