From: fennecdjay Date: Thu, 25 Apr 2019 18:44:04 +0000 (+0200) Subject: :art: Fix unwind X-Git-Tag: nightly~2524 X-Git-Url: http://10.11.0.4:5575/?a=commitdiff_plain;h=894dadb582f84280970aee2576a3817b1a39e6df;p=gwion.git :art: Fix unwind --- diff --git a/src/vm/shreduler.c b/src/vm/shreduler.c index 37174a03..b961a5a9 100644 --- a/src/vm/shreduler.c +++ b/src/vm/shreduler.c @@ -45,10 +45,9 @@ ANN static void unwind(const VM_Shred shred) { const m_bit exec = (m_bit)((Instr)vector_back(code->instr))->opcode; if(exec == eFuncReturn) { code = *(VM_Code*)(shred->mem - SZ_INT*3); -// if(!code)break; REM_REF(code, shred->info->vm->gwion); shred->mem -= *(m_uint*)(shred->mem - SZ_INT*4) + SZ_INT*4; - if(shred->mem == (((m_bit*)(shred) + sizeof(struct VM_Shred_) + SIZEOF_REG)))break; + if(shred->mem <= (((m_bit*)(shred) + sizeof(struct VM_Shred_) + SIZEOF_REG)))break; } else break; } }