Index: /branches/ia32/compiler/X86/X8632/x8632-arch.lisp
===================================================================
--- /branches/ia32/compiler/X86/X8632/x8632-arch.lisp	(revision 8224)
+++ /branches/ia32/compiler/X86/X8632/x8632-arch.lisp	(revision 8225)
@@ -295,19 +295,17 @@
 (define-imm-subtag dead-macptr 4)
 (define-imm-subtag xcode-vector 5)	; for cross-development
-(define-imm-subtag unbound 6)
+
+;;; immediate subtags
+(define-subtag unbound fulltag-imm 6)
 (defconstant unbound-marker subtag-unbound)
 (defconstant undefined unbound-marker)
-;subtag 7
-;subtag 8
-(define-imm-subtag character 9)
-(define-imm-subtag slot-unbound 10)
+(define-subtag character fulltag-imm 9)
+(define-subtag slot-unbound fulltag-imm 10)
 (defconstant slot-unbound-marker subtag-slot-unbound)
-(define-imm-subtag illegal 11)
+(define-subtag illegal fulltag-imm 11)
 (defconstant illegal-marker subtag-illegal)
-
-(define-imm-subtag reserved-frame 29)
+(define-subtag reserved-frame fulltag-imm 29)
 (defconstant reserved-frame-marker subtag-reserved-frame)
-
-(define-imm-subtag no-thread-local-binding 30)
+(define-subtag no-thread-local-binding fulltag-imm 30)
 
 ;;; This has two functions: it tells the link-inverting marker where
@@ -320,5 +318,6 @@
 ;;; function, or gain 7 bytes of otherwise unused space for debugging
 ;;; info.
-(define-imm-subtag function-boundary-marker 31)
+;;; xxx -- comments above not right for x8632
+(define-subtag function-boundary-marker fulltag-imm 31)
 (defconstant function-boundary-marker subtag-function-boundary-marker)
 (defconstant max-non-array-imm-subtag (logior (ash 19 ntagbits) fulltag-immheader))
Index: /branches/ia32/lisp-kernel/x86-constants32.h
===================================================================
--- /branches/ia32/lisp-kernel/x86-constants32.h	(revision 8224)
+++ /branches/ia32/lisp-kernel/x86-constants32.h	(revision 8225)
@@ -130,13 +130,19 @@
 #define max_non_array_node_subtag ((19<<ntagbits)|fulltag_immheader)
 
-/* xxx confused about this */
-#define unbound SUBTAG(fulltag_imm, 6)
-#define undefined unbound
-#define unbound_marker unbound
+#define subtag_unbound SUBTAG(fulltag_imm, 6)
+#define unbound_marker subtag_unbound
+#define undefined subtag_unbound
+#define unbound subtag_unbound
 #define subtag_character SUBTAG(fulltag_imm, 9)
 #define slot_unbound SUBTAG(fulltag_imm, 10)
 #define slot_unbound_marker slot_unbound
-#define no_thread_local_binding_marker SUBTAG(fulltag_imm,30)
-
+#define subtag_illegal SUBTAG(fulltag_imm,11)
+#define illegal_marker subtag_illegal
+#define subtag_reserved_frame  SUBTAG(fulltag_imm,29)
+#define reserved_frame_marker subtag_reserved_frame
+#define subtag_no_thread_local_binding SUBTAG(fulltag_imm,30)
+#define no_thread_local_binding_marker subtag_no_thread_local_binding
+#define subtag_function_boundary_marker SUBTAG(fulltag_imm,31)
+#define function_boundary_marker subtag_function_boundary_marker
 
 typedef struct cons {
Index: /branches/ia32/lisp-kernel/x86-constants32.s
===================================================================
--- /branches/ia32/lisp-kernel/x86-constants32.s	(revision 8224)
+++ /branches/ia32/lisp-kernel/x86-constants32.s	(revision 8225)
@@ -149,19 +149,18 @@
 define_imm_subtag(dead_macptr,4)
 define_imm_subtag(xcode_vector,5)
-define_imm_subtag(unbound,6)
+
+define_subtag(unbound,fulltag_imm,6)
 unbound_marker = subtag_unbound
 undefined = unbound_marker
-
-define_imm_subtag(character,9)
-define_imm_subtag(slot_unbound,10)
+define_subtag(character,fulltag_imm,9)
+define_subtag(slot_unbound,fulltag_imm,10)
 slot_unbound_marker = subtag_slot_unbound
-define_imm_subtag(illegal,11)
+define_subtag(illegal,fulltag_imm,11)
 illegal = subtag_illegal
-
-define_imm_subtag(reserved_frame,29)
+define_subtag(reserved_frame,fulltag_imm,29)
 reserved_frame_marker = subtag_reserved_frame
-define_imm_subtag(no_thread_local_binding,30)
+define_subtag(no_thread_local_binding,fulltag_imm,30)
 no_thread_local_binding_marker = subtag_no_thread_local_binding
-define_imm_subtag(function_boundary_marker,31)
+define_subtag(function_boundary_marker,fulltag_imm,31)
 function_boundary_marker = subtag_function_boundary_marker
 
