]> Nishi Git Mirror - gwion.git/commitdiff
:art: clean live values in reverse order
authorfennecdjay <fennecdjay@gmail.com>
Fri, 15 Jul 2022 11:37:20 +0000 (13:37 +0200)
committerfennecdjay <fennecdjay@gmail.com>
Fri, 15 Jul 2022 11:37:20 +0000 (13:37 +0200)
src/vm/vm.c

index ef769d2b64ff972e49f5ccd5abda68285978cc48..909f2dae89c95a2c76feed9307351f5fb70fcf31 100644 (file)
@@ -50,7 +50,7 @@ ANN static inline void shred_unwind(const VM_Shred shred) {
 ANN static void clean_values(const VM_Shred shred) {
   const VM_Code code = shred->code;
   const uint16_t pc = shred->pc;
-  for (m_uint i = 0; i < m_vector_size(&code->live_values); i++) {
+  for (m_uint i = m_vector_size(&code->live_values) + 1; --i;) {
     VMValue *vmval = (VMValue *)m_vector_addr(&code->live_values, i);
     if (pc <= vmval->start) break;
     if (pc >= vmval->end) continue;