Index: /branches/arm/level-0/ARM/arm-utils.lisp
===================================================================
--- /branches/arm/level-0/ARM/arm-utils.lisp	(revision 13838)
+++ /branches/arm/level-0/ARM/arm-utils.lisp	(revision 13839)
@@ -173,6 +173,6 @@
 
 (defarmlapfunction %walk-dynamic-area ((a arg_y) (f arg_z))
-  (let ((fun temp0)
-        (obj temp1)
+  (let ((fun temp1)
+        (obj temp0)
         (sentinel temp2)
         (header imm0)
@@ -204,17 +204,18 @@
     (bhs @done)
     (set-nargs 1)
-    (stmdb (:! vsp) (fun obj sentinel))
+    (stmdb (:! vsp) (arg_z fun sentinel))
     (mov nfn fun)
     (bl .SPFuncall)
-    (ldmia (:! vsp) (fun obj sentinel))
+    (ldmia (:! vsp) (obj fun sentinel))
     (add obj obj (:$ arm::cons.size))
     (b @test)
     @misc
     (add arg_z obj (:$ arm::fulltag-misc))
-    (stmdb (:! vsp) (fun obj sentinel))
+    (stmdb (:! vsp) (arg_z fun sentinel))
     (set-nargs 1)
     (mov nfn fun)
     (bl .SPFuncall)
-    (ldmia (:! vsp) (fun obj sentinel))
+    (ldmia (:! vsp) (obj fun sentinel))
+    (add obj obj (:$ arm::fulltag-misc))
     (ldr header (:@ obj (:$ 0)))
     (extract-fulltag tag header)
