mark all vfp registers as used when done.
authorDavid Schneider <david.schneider@bivab.de>
Tue, 12 Nov 2013 18:49:01 +0000 (19:49 +0100)
committerDavid Schneider <david.schneider@bivab.de>
Tue, 12 Nov 2013 18:49:01 +0000 (19:49 +0100)
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.

src/arm/ffi.c

index d52ad02..a8444c3 100644 (file)
@@ -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)