]> Nishi Git Mirror - gwion.git/commitdiff
:bug: Fix foreach and scoped_stmt (vm)
authorJérémie Astor <fennecdjay@gmail.com>
Wed, 24 Feb 2021 17:26:59 +0000 (18:26 +0100)
committerJérémie Astor <fennecdjay@gmail.com>
Wed, 24 Feb 2021 17:26:59 +0000 (18:26 +0100)
src/vm/vm.c

index 1789a880b7369f38b152bccb3e9f77050ccd2f16..ee12c0680f72ceb93fe0a518358ec5575d1307f8 100644 (file)
@@ -732,8 +732,8 @@ autounrollinit:
   *(m_uint*)(mem + VAL) = m_vector_size(ARRAY(*(M_Object*)(mem+VAL+SZ_INT)));
   DISPATCH()
 autoloop:
-  *(m_bit**)(mem + VAL + SZ_INT) = m_vector_addr(ARRAY(*(M_Object*)(mem+VAL-SZ_INT)), *(m_uint*)(mem + VAL));
-  *(m_uint*)reg = m_vector_size(ARRAY(*(M_Object*)(mem+VAL-SZ_INT))) - (*(m_uint*)(mem + VAL))++;
+  *(m_bit**)(mem + VAL + SZ_INT) = m_vector_addr(ARRAY(*(M_Object*)(mem+VAL-SZ_INT)), *(m_uint*)(mem + VAL) + 1);
+  *(m_uint*)reg = m_vector_size(ARRAY(*(M_Object*)(mem+VAL-SZ_INT))) - (*(m_uint*)(mem + VAL))++ -1;
   DISPATCH()
 arraytop:
   if(*(m_uint*)(reg - SZ_INT * 2) < *(m_uint*)(reg-SZ_INT))