fix bug in vm_stack
This commit is contained in:
parent
7a82c7e3b2
commit
138f9978f8
|
@ -235,11 +235,11 @@ u6a_vm_stack_xch(struct u6a_vm_var_fn v0) {
|
||||||
return (struct u6a_vm_var_fn) { 0 };
|
return (struct u6a_vm_var_fn) { 0 };
|
||||||
}
|
}
|
||||||
if (--prev->refcnt > 0) {
|
if (--prev->refcnt > 0) {
|
||||||
prev = vm_stack_dup(active_stack);
|
prev = vm_stack_dup(prev);
|
||||||
}
|
if (UNLIKELY(prev == NULL)) {
|
||||||
if (UNLIKELY(active_stack == NULL)) {
|
|
||||||
return (struct u6a_vm_var_fn) { 0 };
|
return (struct u6a_vm_var_fn) { 0 };
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (vs->top == 0) {
|
if (vs->top == 0) {
|
||||||
++prev->refcnt;
|
++prev->refcnt;
|
||||||
vs->prev = prev;
|
vs->prev = prev;
|
||||||
|
|
Loading…
Reference in New Issue