Commit 37067ec5036f2a6ed7a4799f83f8f53160460344

David Schneider 2013-11-12T19:49:01

mark all vfp registers as used when done. To avoid assigning registers the would fit, once arguments have been on the stack, we mark all registers as used once we do not find a free register for the first time.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/arm/ffi.c b/src/arm/ffi.c
index d52ad02..a8444c3 100644
--- a/src/arm/ffi.c
+++ b/src/arm/ffi.c
@@ -897,6 +897,9 @@ static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
       return;
     next_reg: ;
     }
+	// done mark all regs as used
+	cif->vfp_reg_free = 16;
+	cif->vfp_used = 0xFFFF;
 }
 
 static void layout_vfp_args (ffi_cif *cif)