Index: /branches/arm/lib/nfcomp.lisp
===================================================================
--- /branches/arm/lib/nfcomp.lisp	(revision 13756)
+++ /branches/arm/lib/nfcomp.lisp	(revision 13757)
@@ -1675,15 +1675,22 @@
            (= (typecode (uvref f 0)) target::subtag-u8-vector))
     (fasl-xdump-clfun f)
-    (let* ((code-size (%function-code-words f))
-           (function-vector (function-to-function-vector f))
-           (function-size (uvsize function-vector)))
-      (fasl-out-opcode $fasl-clfun f)
-      (fasl-out-count function-size)
-      (fasl-out-count code-size)
-      (fasl-out-ivect function-vector 0 (ash code-size target::word-shift))
-      (do* ((k code-size (1+ k)))
-           ((= k function-size))
-        (declare (fixnum k))
-        (fasl-dump-form (uvref function-vector k))))))
+    (if (= (typecode f) target::subtag-xfunction)
+      (let* ((n (uvsize f)))
+        (fasl-out-opcode $fasl-function f)
+        (fasl-out-count n)
+        (dotimes (i n)
+          (fasl-dump-form (%svref f i))))        
+
+      (let* ((code-size (%function-code-words f))
+             (function-vector (function-to-function-vector f))
+             (function-size (uvsize function-vector)))
+        (fasl-out-opcode $fasl-clfun f)
+        (fasl-out-count function-size)
+        (fasl-out-count code-size)
+        (fasl-out-ivect function-vector 0 (ash code-size target::word-shift))
+        (do* ((k code-size (1+ k)))
+             ((= k function-size))
+          (declare (fixnum k))
+          (fasl-dump-form (uvref function-vector k)))))))
         
 
