Index: /trunk/ccl/xdump/faslenv.lisp
===================================================================
--- /trunk/ccl/xdump/faslenv.lisp	(revision 5044)
+++ /trunk/ccl/xdump/faslenv.lisp	(revision 5045)
@@ -38,5 +38,5 @@
   faslstate.fasldispatch)
 
-; loader framework istruct
+;;; loader framework istruct
 (def-accessors (faslapi) %svref
   ()
@@ -55,5 +55,5 @@
   faslapi.fasl-read-n-bytes)
 
-(defconstant numfaslops 64 "Number of fasl file opcodes, roughly")
+(defconstant numfaslops 80 "Number of fasl file opcodes, roughly")
 (defconstant $fasl-epush-bit 7)
 (defconstant $fasl-file-id #xff00)
@@ -96,5 +96,5 @@
 (defconstant $fasl-veref 25)            ;<index:count> Get the value from an etab slot.
 (defconstant $fasl-fixnum8 26)          ;<high:long><low:long> Make an 8-byte fixnum.
-(defconstant $fasl-symfn 27)            ;<sym:expr> returns #'sym.
+(defconstant $fasl-symfn 27)            ;<sym:expr> 
 (defconstant $fasl-eval 28)             ;<expr> Eval <expr> and return value.
 (defconstant $fasl-u16-vector 29)       ;<count> Make a (SIMPLE-ARRAY (UNSIGNED-BYTE 16) <count>)
@@ -102,5 +102,5 @@
 (defconstant $fasl-vintern 31)          ;<vstring> Intern in current pkg.
 (defconstant $fasl-vpkg-intern 32)      ;<pkg:expr><vstring> Make a sym in pkg.
-(defconstant $fasl-vpkg 33)             ;<string> Returns the package of given name
+(defconstant $fasl-vpkg 33)             ;<vstring> Returns the package of given name
 (defconstant $fasl-vgvec 34)            ;<subtype:byte><n:count><n exprs>
 (defconstant $fasl-defun 35)            ;<fn:expr><doc:expr>
@@ -129,9 +129,29 @@
 (defconstant $fasl-s64 59)              ;<8bytes> Make a (SIGNED-BYTE 64)
 (defconstant $fasl-vpkg-intern-special 60) ;<pkg:expr><vstring> Make a sym in pkg, ensure that it has a special binding index
-(defconstant $fasl-vmksym-special 61)      ;<vstring> Make an uninterned symbol, ensure special binding index
+(defconstant $fasl-vmksym-special 61)   ;<vstring> Make an uninterned symbol, ensure special binding index
+(defconstant $fasl-nvmksym-special 62)  ;<nvstring> Make an uninterned symbol, ensure special binding index
+(defconstant $fasl-nvpkg-intern-special 63) ;<pkg:expr><nvstring> Make a sym in pkg, ensure that it has a special binding index
+(defconstant $fasl-nvintern-special 64)  ;<nvstring> Intern in current pkg, ensure that it has a special binding index
+(defconstant $fasl-nvpkg 65)            ;<vstring> Returns the package of given name
+(defconstant $fasl-nvpkg-intern 66)     ;<nvstring> Intern in current pkg.
+(defconstant $fasl-nvintern 67)         ;<pkg:expr><nvstring> Make a sym in pkg.
+(defconstant $fasl-nvmksym 68)          ;<nvstring> Make a string
+(defconstant $fasl-nvstr 69)            ;<nvstring> Make an uninterned symbol
 
-;;; <string> means <size><size bytes>
+
+;;; <string> means <size><size bytes> (this is no longer used)
 ;;; <size> means either <n:byte> with n<#xFF, or <FF><n:word> with n<#xFFFF or
 ;;;   <FFFF><n:long>
+;;; <count> is a variable-length encoding of an unsigned integer, written
+;;;  7 bits per octet, the least significant bits written first and the most
+;;;  significant octet having bit 7 set, so 127 would be written as #x00 and
+;;;  128 as #x00 #x81
+;;; <vstring> is a <count> (string length) followed by count octets of
+;;; 8-bit charcode data.
+;;; <nvstring> is a <count> (string length) followd by count <counts> of
+;;;  variable-length charcode data.  This encodes ASCII/STANDARD-CHAR as
+;;;  compactly as the <vstring> encoding, which should probably be deprecated.
+
+
 
 (defconstant $fasl-end #xFF)    ;Stop reading.
