Index: /trunk/source/lisp-kernel/x86-constants64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-constants64.s	(revision 8561)
+++ /trunk/source/lisp-kernel/x86-constants64.s	(revision 8562)
@@ -215,6 +215,14 @@
 	define([Rsave0],[15])	
 
+
+ifdef([WINDOWS],[
+/* We keep the TCR pointer in r11 */
+	define([rcontext_reg], r11)
+	define([rcontext],[$1(%rcontext_reg)])
+],[
 /* The TCR can be accessed relative to %gs   */
-define([rcontext],[gs])
+	define([rcontext_reg],[gs])
+	define([rcontext],[%rcontext_reg:$1])
+])
 define([fname],[temp0])
 define([next_method_context],[temp0])
@@ -225,6 +233,5 @@
 define([ra0],[temp2])        
 						
-define([xfn],[temp1])	
-
+define([xfn],[temp1])
 
 define([allocptr],[temp0])		
@@ -249,5 +256,5 @@
 define([fp15],[xmm15])		
 define([fpzero],[fp15])
-	
+
 	
 nbits_in_word = 64
Index: /trunk/source/lisp-kernel/x86-macros.s
===================================================================
--- /trunk/source/lisp-kernel/x86-macros.s	(revision 8561)
+++ /trunk/source/lisp-kernel/x86-macros.s	(revision 8562)
@@ -77,11 +77,11 @@
 define([TSP_Alloc_Fixed],[
 	define([TSP_Alloc_Size],[((($1+node_size) & ~(dnode_size-1))+dnode_size)])
-	__(subq [$]TSP_Alloc_Size,%rcontext:tcr.next_tsp)
-        __(movq %rcontext:tcr.save_tsp,%stack_temp)
-        __(movq %rcontext:tcr.next_tsp,$2)
+	__(subq [$]TSP_Alloc_Size,rcontext(tcr.next_tsp))
+        __(movq rcontext(tcr.save_tsp),%stack_temp)
+        __(movq rcontext(tcr.next_tsp),$2)
 	zero_dnodes $2,0,TSP_Alloc_Size
 	__(movq %stack_temp,($2))
         __(movq %rbp,tsp_frame.save_rbp($2))
-        __(movq $2,%rcontext:tcr.save_tsp)
+        __(movq $2,rcontext(tcr.save_tsp))
 	undefine([TSP_Alloc_Size])
 ])
@@ -92,7 +92,7 @@
 define([TSP_Alloc_Var],[
 	new_macro_labels()
-        subq $1,%rcontext:tcr.next_tsp
-        __(movq %rcontext:tcr.save_tsp,%stack_temp)
-        __(movq %rcontext:tcr.next_tsp,$2)
+        subq $1,rcontext(tcr.next_tsp)
+        __(movq rcontext(tcr.save_tsp),%stack_temp)
+        __(movq rcontext(tcr.next_tsp),$2)
 	__(jmp macro_label(test))
 macro_label(loop):
@@ -102,9 +102,9 @@
 	__(subq $dnode_size,$1)
 	__(jge macro_label(loop))
-        __(movq %rcontext:tcr.next_tsp,$2)
+        __(movq rcontext(tcr.next_tsp),$2)
 	__(movd %stack_temp,$1)
 	__(movq $1,($2))
         __(movq %rbp,tsp_frame.save_rbp($2))
-        __(movq $2,%rcontext:tcr.save_tsp)
+        __(movq $2,rcontext(tcr.save_tsp))
 	__(addq $dnode_size,$2)
 ])
@@ -122,13 +122,13 @@
 define([Make_Catch],[
 	Allocate_Catch_Frame(%imm2)
-	__(movq %rcontext:tcr.catch_top,%imm0)
-	__(movq %rcontext:tcr.db_link,%imm1)
+	__(movq rcontext(tcr.catch_top),%imm0)
+	__(movq rcontext(tcr.db_link),%imm1)
 	__(movq %arg_z,catch_frame.catch_tag(%imm2))
 	__(movq %imm0,catch_frame.link(%imm2))
 	__(movq [$]$1,catch_frame.mvflag(%imm2))
-	__(movq %rcontext:tcr.xframe,%imm0)
+	__(movq rcontext(tcr.xframe),%imm0)
 	__(movq %rsp,catch_frame.rsp(%imm2))
 	__(movq %rbp,catch_frame.rbp(%imm2))
-        __(movq %rcontext:tcr.foreign_sp,%stack_temp)
+        __(movq rcontext(tcr.foreign_sp),%stack_temp)
 	__(movq %imm1,catch_frame.db_link(%imm2))
 	__(movq %save3,catch_frame._save3(%imm2))
@@ -139,11 +139,11 @@
 	__(movq %stack_temp,catch_frame.foreign_sp(%imm2))
 	__(movq %xfn,catch_frame.pc(%imm2))
-	__(movq %imm2,%rcontext:tcr.catch_top)
+	__(movq %imm2,rcontext(tcr.catch_top))
 ])	
 
 define([nMake_Catch],[
 	Allocate_Catch_Frame(%imm2)
-	__(movq %rcontext:tcr.catch_top,%imm0)
-	__(movq %rcontext:tcr.db_link,%imm1)
+	__(movq rcontext(tcr.catch_top),%imm0)
+	__(movq rcontext(tcr.db_link),%imm1)
 	__(movq %arg_z,catch_frame.catch_tag(%imm2))
 	__(movq %imm0,catch_frame.link(%imm2))
@@ -151,7 +151,7 @@
 	__(movq [$]$1,catch_frame.mvflag(%imm2))
 	__(movq %imm0,catch_frame.rsp(%imm2))
-	__(movq %rcontext:tcr.xframe,%imm0)
+	__(movq rcontext(tcr.xframe),%imm0)
 	__(movq %rbp,catch_frame.rbp(%imm2))
-        __(movq %rcontext:tcr.foreign_sp,%stack_temp)
+        __(movq rcontext(tcr.foreign_sp),%stack_temp)
 	__(movq %imm1,catch_frame.db_link(%imm2))
 	__(movq %save3,catch_frame._save3(%imm2))
@@ -162,5 +162,5 @@
 	__(movq %stack_temp,catch_frame.foreign_sp(%imm2))
 	__(movq %xfn,catch_frame.pc(%imm2))
-	__(movq %imm2,%rcontext:tcr.catch_top)
+	__(movq %imm2,rcontext(tcr.catch_top))
 ])	
         	
@@ -183,11 +183,11 @@
 /* to interrupt; the interrupting code has to recognize and possibly  */
 /* emulate the instructions in between   */
-	__(subq $cons.size-fulltag_cons,%rcontext:tcr.save_allocptr)
-	__(movq %rcontext:tcr.save_allocptr,%allocptr)
-	__(rcmpq(%allocptr,%rcontext:tcr.save_allocbase))
+	__(subq $cons.size-fulltag_cons,rcontext(tcr.save_allocptr))
+	__(movq rcontext(tcr.save_allocptr),%allocptr)
+	__(rcmpq(%allocptr,rcontext(tcr.save_allocbase)))
 	__(jg macro_label(no_trap))
 	uuo_alloc()
 macro_label(no_trap):	
-	__(andb $~fulltagmask,%rcontext:tcr.save_allocptr)
+	__(andb $~fulltagmask,rcontext(tcr.save_allocptr))
 /* Easy to interrupt now that tcr.save_allocptr isn't tagged as a cons    */
 	__(movq $2,cons.cdr(%allocptr))
@@ -211,12 +211,12 @@
                 
 	new_macro_labels()
-	__(subq %imm1,%rcontext:tcr.save_allocptr)
-	__(movq %rcontext:tcr.save_allocptr,%allocptr)
-	__(rcmpq(%allocptr,%rcontext:tcr.save_allocbase))
+	__(subq %imm1,rcontext(tcr.save_allocptr))
+	__(movq rcontext(tcr.save_allocptr),%allocptr)
+	__(rcmpq(%allocptr,rcontext(tcr.save_allocbase)))
 	__(jg macro_label(no_trap))
 	uuo_alloc()
 macro_label(no_trap):	
 	__(movq %imm0,misc_header_offset(%allocptr))
-	__(andb $~fulltagmask,%rcontext:tcr.save_allocptr)
+	__(andb $~fulltagmask,rcontext(tcr.save_allocptr))
 /* Now that tcr.save_allocptr is untagged, it's easier to be interrupted   */
 	ifelse($1,[],[],[
@@ -411,13 +411,13 @@
 
 define([discard_temp_frame],[
-	__(movq %rcontext:tcr.save_tsp,$1)
+	__(movq rcontext(tcr.save_tsp),$1)
 	__(movq ($1),$1)
-        __(movq $1,%rcontext:tcr.save_tsp)
-        __(movq $1,%rcontext:tcr.next_tsp)
+        __(movq $1,rcontext(tcr.save_tsp))
+        __(movq $1,rcontext(tcr.next_tsp))
 
 ])	
 
 define([check_pending_enabled_interrupt],[
-	__(btrq [$]63,%rcontext:tcr.interrupt_pending)
+	__(btrq [$]63,rcontext(tcr.interrupt_pending))
 	__(jnc,pt $1)
 	interrupt_now()
@@ -431,5 +431,5 @@
 define([check_pending_interrupt],[
 	new_macro_labels()
-	__(movq %rcontext:tcr.tlb_pointer,$1)
+	__(movq rcontext(tcr.tlb_pointer),$1)
 	__(cmpq [$]0,INTERRUPT_LEVEL_BINDING_INDEX($1))
 	__(js,pt macro_label(done))
@@ -457,5 +457,5 @@
         
 define([set_foreign_gs_base],[
-        set_gs_base([%rcontext:tcr.osid])
+        set_gs_base([rcontext(tcr.osid)])
 ])
 
@@ -464,5 +464,5 @@
 
 define([save_tcr_linear],[
-        __(movq %rcontext:tcr.linear,$1)
+        __(movq rcontext(tcr.linear),$1)
 ]) 
 	
Index: /trunk/source/lisp-kernel/x86-spentry64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-spentry64.s	(revision 8561)
+++ /trunk/source/lisp-kernel/x86-spentry64.s	(revision 8562)
@@ -1167,10 +1167,10 @@
    double binding of *interrupt-level* out-of-line */
 _spentry(nmkunwind)
-	__(movq %rcontext:tcr.tlb_pointer,%arg_x)
+	__(movq rcontext(tcr.tlb_pointer),%arg_x)
         __(movq INTERRUPT_LEVEL_BINDING_INDEX(%arg_x),%arg_y)
 	__(push %arg_y)
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%arg_x))
 	__(movq $undefined,%arg_z)
@@ -1186,5 +1186,5 @@
         
 _spentry(throw)
-	__(movq %rcontext:tcr.catch_top,%imm1)
+	__(movq rcontext(tcr.catch_top),%imm1)
 	__(xorl %imm0_l,%imm0_l)
 	__(movq (%rsp,%nargs_q),%temp0)	/* temp0 = tag   */
@@ -1214,7 +1214,7 @@
 	__(jmp _SPnthrow1value)
 __(tra(local_label(_threw_one_value)))
-	__(movq %rcontext:tcr.catch_top,%temp0)
+	__(movq rcontext(tcr.catch_top),%temp0)
 	__(movq catch_frame.db_link(%temp0),%imm0)
-	__(movq %rcontext:tcr.db_link,%imm1)
+	__(movq rcontext(tcr.db_link),%imm1)
 	__(cmpq %imm0,%imm1)
 	__(jz local_label(_threw_one_value_dont_unbind))
@@ -1226,6 +1226,6 @@
 	__(movq catch_frame.foreign_sp(%temp0),%imm0)
 	__(movq catch_frame.xframe(%temp0),%imm1)
-        __(movq %imm0,%rcontext:tcr.foreign_sp)
-	__(movq %imm1,%rcontext:tcr.xframe)
+        __(movq %imm0,rcontext(tcr.foreign_sp))
+	__(movq %imm1,rcontext(tcr.xframe))
 	__(movq catch_frame.rsp(%temp0),%rsp)
 	__(movq catch_frame.link(%temp0),%imm1)
@@ -1234,10 +1234,10 @@
 	__(movq catch_frame._save2(%temp0),%save2)
 	__(movq catch_frame._save3(%temp0),%save3)
-	__(movq %imm1,%rcontext:tcr.catch_top)
+	__(movq %imm1,rcontext(tcr.catch_top))
 	__(movq catch_frame.pc(%temp0),%ra0)
 	__(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
 	__(movq (%imm1),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))
 	__(jmp *%ra0)
 local_label(_throw_multiple):
@@ -1245,7 +1245,7 @@
 	__(jmp _SPnthrowvalues)
 __(tra(local_label(_threw_multiple)))
-	__(movq %rcontext:tcr.catch_top,%temp0)
+	__(movq rcontext(tcr.catch_top),%temp0)
 	__(movq catch_frame.db_link(%temp0),%imm0)
-	__(movq %rcontext:tcr.db_link,%imm1)
+	__(movq rcontext(tcr.db_link),%imm1)
 	__(cmpq %imm0,%imm1)
 	__(je local_label(_threw_multiple_dont_unbind))
@@ -1269,7 +1269,7 @@
 	__(movq catch_frame.rbp(%temp0),%rbp)
 	__(movq catch_frame.foreign_sp(%temp0),%imm0)
-        __(movq %imm0,%rcontext:tcr.foreign_sp)        
+        __(movq %imm0,rcontext(tcr.foreign_sp))        
 	__(movq catch_frame.xframe(%temp0),%imm0)
-	__(movq %imm0,%rcontext:tcr.xframe)
+	__(movq %imm0,rcontext(tcr.xframe))
 	__(movq %imm1,%rsp)
 	__(movq catch_frame.link(%temp0),%imm1)		
@@ -1278,10 +1278,10 @@
 	__(movq catch_frame._save2(%temp0),%save2)
 	__(movq catch_frame._save3(%temp0),%save3)
-	__(movq %imm1,%rcontext:tcr.catch_top)
+	__(movq %imm1,rcontext(tcr.catch_top))
 	__(movq catch_frame.pc(%temp0),%ra0)
 	__(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
 	__(movq (%imm1),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))
 	__(jmp *%ra0)
 _endsubp(throw)
@@ -1289,14 +1289,14 @@
 /* This takes N multiple values atop the vstack.   */
 _spentry(nthrowvalues)
-	__(movb $1,%rcontext:tcr.unwinding)
+	__(movb $1,rcontext(tcr.unwinding))
 local_label(_nthrowv_nextframe):
 	__(subq $fixnumone,%imm0)
 	__(js local_label(_nthrowv_done))
 	__(movd %imm0,%mm1)
-	__(movq %rcontext:tcr.catch_top,%temp0)
+	__(movq rcontext(tcr.catch_top),%temp0)
 	__(movq catch_frame.link(%temp0),%imm1)
 	__(movq catch_frame.db_link(%temp0),%imm0)
-	__(movq %imm1,%rcontext:tcr.catch_top)
-	__(cmpq %imm0,%rcontext:tcr.db_link)
+	__(movq %imm1,rcontext(tcr.catch_top))
+	__(cmpq %imm0,rcontext(tcr.db_link))
 	__(jz local_label(_nthrowv_dont_unbind))
 	__(push %ra0)
@@ -1315,5 +1315,5 @@
 	__(jne local_label(_nthrowv_skip))
 	__(movq catch_frame.xframe(%temp0),%save0)
-	__(movq %save0,%rcontext:tcr.xframe)
+	__(movq %save0,rcontext(tcr.xframe))
 	__(leaq (%rsp,%nargs_q),%save1)
 	__(movq catch_frame.rsp(%temp0),%save2)
@@ -1329,5 +1329,5 @@
 	__(jns local_label(_nthrowv_push_loop))
 	__(movq catch_frame.xframe(%temp0),%save0)
-	__(movq %save0,%rcontext:tcr.xframe)
+	__(movq %save0,rcontext(tcr.xframe))
 	__(movq %save2,%rsp)
 	__(movq catch_frame.rbp(%temp0),%rbp)
@@ -1337,9 +1337,9 @@
 	__(movq catch_frame._save0(%temp0),%save0)
 	__(movq catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movq %stack_temp,%rcontext:tcr.foreign_sp)        
+        __(movq %stack_temp,rcontext(tcr.foreign_sp))        
 local_label(_nthrowv_skip):	
 	__(movq -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)        
-        __(movq %imm1,%rcontext:tcr.next_tsp)
+        __(movq %imm1,rcontext(tcr.save_tsp))        
+        __(movq %imm1,rcontext(tcr.next_tsp))
 	__(movd %mm1,%imm0)
 	__(jmp local_label(_nthrowv_nextframe))
@@ -1357,11 +1357,11 @@
         __(movq catch_frame.xframe(%temp0),%stack_temp)
 	__(movq catch_frame.rsp(%temp0),%arg_x)
-        __(movq %stack_temp,%rcontext:tcr.xframe)
+        __(movq %stack_temp,rcontext(tcr.xframe))
 	__(movq catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movq %stack_temp,%rcontext:tcr.foreign_sp)        
+        __(movq %stack_temp,rcontext(tcr.foreign_sp))        
 	/* Discard the catch frame, so we can build a temp frame   */
 	__(movq -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))
 	/* tsp overhead, nargs, throw count, ra0   */
 	__(dnode_align(%nargs_q,(tsp_frame.fixed_overhead+(3*node_size)),%imm0))
@@ -1390,10 +1390,10 @@
 	__(leaq local_label(_nthrowv_called_cleanup)(%rip),%ra0)
         __(push %ra0)
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
 	__(jmp *%xfn)
 __(tra(local_label(_nthrowv_called_cleanup)))
 
-	__(movb $1,%rcontext:tcr.unwinding)
-	__(movq %rcontext:tcr.save_tsp,%imm1)
+	__(movb $1,rcontext(tcr.unwinding))
+	__(movq rcontext(tcr.save_tsp),%imm1)
 	__(movq tsp_frame.data_offset+(0*node_size)(%imm1),%nargs_q)
 	__(movq tsp_frame.data_offset+(1*node_size)(%imm1),%ra0)
@@ -1408,12 +1408,12 @@
 	__(subq $node_size,%imm0)
 	__(jns local_label(_nthrowv_tpoploop))
-	__(movq %rcontext:tcr.save_tsp,%imm1)
+	__(movq rcontext(tcr.save_tsp),%imm1)
 	__(movq (%imm1),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))
 	__(movd %mm1,%imm0)
 	__(jmp local_label(_nthrowv_nextframe))
 local_label(_nthrowv_done):
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
 	__(check_pending_interrupt(%imm0))
 local_label(_nthrowv_return):	
@@ -1426,14 +1426,14 @@
 	
 _spentry(nthrow1value)
-	__(movb $1,%rcontext:tcr.unwinding)
+	__(movb $1,rcontext(tcr.unwinding))
 local_label(_nthrow1v_nextframe):
 	__(subq $fixnumone,%imm0)
 	__(js local_label(_nthrow1v_done))
 	__(movd %imm0,%mm1)
-	__(movq %rcontext:tcr.catch_top,%temp0)
+	__(movq rcontext(tcr.catch_top),%temp0)
 	__(movq catch_frame.link(%temp0),%imm1)
 	__(movq catch_frame.db_link(%temp0),%imm0)
-	__(movq %imm1,%rcontext:tcr.catch_top)
-	__(cmpq %imm0,%rcontext:tcr.db_link)
+	__(movq %imm1,rcontext(tcr.catch_top))
+	__(cmpq %imm0,rcontext(tcr.db_link))
 	__(jz local_label(_nthrow1v_dont_unbind))
 	__(push %ra0)
@@ -1452,8 +1452,8 @@
 	__(jne local_label(_nthrow1v_skip))
 	__(movq catch_frame.xframe(%temp0),%save0)
-	__(movq %save0,%rcontext:tcr.xframe)
+	__(movq %save0,rcontext(tcr.xframe))
 	__(leaq (%rsp,%nargs_q),%save1)
 	__(movq catch_frame.xframe(%temp0),%save0)
-	__(movq %save0,%rcontext:tcr.xframe)
+	__(movq %save0,rcontext(tcr.xframe))
 	__(movq catch_frame.rsp(%temp0),%rsp)
 	__(movq catch_frame.rbp(%temp0),%rbp)
@@ -1463,9 +1463,9 @@
 	__(movq catch_frame._save0(%temp0),%save0)
 	__(movq catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movq %stack_temp,%rcontext:tcr.foreign_sp)        
+        __(movq %stack_temp,rcontext(tcr.foreign_sp))        
 local_label(_nthrow1v_skip):	
 	__(movq -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)        
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))        
 	__(movd %mm1,%imm0)
 	__(jmp local_label(_nthrow1v_nextframe))
@@ -1476,5 +1476,5 @@
 	
 	__(movq catch_frame.xframe(%temp0),%save0)
-	__(movq %save0,%rcontext:tcr.xframe)
+	__(movq %save0,rcontext(tcr.xframe))
 	__(movq catch_frame._save0(%temp0),%save0)
 	__(movq catch_frame._save1(%temp0),%save1)
@@ -1485,9 +1485,9 @@
 	__(movq catch_frame.rsp(%temp0),%rsp)
 	__(movq catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movq %stack_temp,%rcontext:tcr.foreign_sp)        
+        __(movq %stack_temp,rcontext(tcr.foreign_sp))        
 	/* Discard the catch frame, so we can build a temp frame   */
 	__(movq -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)        
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))        
 	__(TSP_Alloc_Fixed((3*node_size),%imm1))
 	__(addq $tsp_frame.fixed_overhead,%imm1)
@@ -1497,11 +1497,11 @@
 /* Ready to call cleanup code. set up tra, jmp to %xfn   */
 	__(leaq local_label(_nthrow1v_called_cleanup)(%rip),%ra0)
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
         __(push %ra0)
 	__(jmp *%xfn)
 __(tra(local_label(_nthrow1v_called_cleanup)))
 
-	__(movb $1,%rcontext:tcr.unwinding)
-	__(movq %rcontext:tcr.save_tsp,%imm1)
+	__(movb $1,rcontext(tcr.unwinding))
+	__(movq rcontext(tcr.save_tsp),%imm1)
 	__(movq tsp_frame.data_offset+(0*node_size)(%imm1),%ra0)
 	__(movq tsp_frame.data_offset+(1*node_size)(%imm1),%mm1)
@@ -1509,10 +1509,10 @@
 
 	__(movq (%imm1),%imm1)
-        __(movq %imm1,%rcontext:tcr.save_tsp)
-        __(movq %imm1,%rcontext:tcr.next_tsp)        
+        __(movq %imm1,rcontext(tcr.save_tsp))
+        __(movq %imm1,rcontext(tcr.next_tsp))        
 	__(movd %mm1,%imm0)
 	__(jmp local_label(_nthrow1v_nextframe))
 local_label(_nthrow1v_done):
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
 	__(check_pending_interrupt(%imm0))
 local_label(_nthrow1v_return):	
@@ -1525,5 +1525,5 @@
 _spentry(bind)
 	__(movq symbol.binding_index(%arg_y),%temp0)
-	__(cmpq %rcontext:tcr.tlb_limit,%temp0)
+	__(cmpq rcontext(tcr.tlb_limit),%temp0)
 	__(jb,pt 0f)
 	__(push %temp0)
@@ -1531,9 +1531,9 @@
 0:	__(testq %temp0,%temp0)
 	__(jz 9f)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq %arg_z,(%temp1,%temp0))
 	__(jmp *%ra0)
@@ -1550,5 +1550,5 @@
 _spentry(bind_self)
 	__(movq symbol.binding_index(%arg_z),%temp0)
-	__(cmpq %rcontext:tcr.tlb_limit,%temp0)
+	__(cmpq rcontext(tcr.tlb_limit),%temp0)
 	__(jb,pt 0f)
 	__(push %temp0)
@@ -1556,18 +1556,18 @@
 0:	__(testq %temp0,%temp0)
 	__(jz 9f)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(cmpb $no_thread_local_binding_marker,(%temp0,%temp1))
 	__(jz 2f)
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 2:	__(movq symbol.vcell(%arg_z),%arg_y)
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
 	__(movq %arg_y,(%temp1,%temp0))
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 9:	__(movq $XSYMNOBIND,%arg_y)
@@ -1579,5 +1579,5 @@
 _spentry(bind_nil)
 	__(movq symbol.binding_index(%arg_z),%temp0)
-	__(cmpq %rcontext:tcr.tlb_limit,%temp0)
+	__(cmpq rcontext(tcr.tlb_limit),%temp0)
 	__(jb,pt 0f)
 	__(push %temp0)
@@ -1585,9 +1585,9 @@
 0:	__(testq %temp0,%temp0)
 	__(jz 9f)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq $nil_value,(%temp1,%temp0))
 	__(jmp *%ra0)
@@ -1600,5 +1600,5 @@
 _spentry(bind_self_boundp_check)
 	__(movq symbol.binding_index(%arg_z),%temp0)
-	__(cmpq %rcontext:tcr.tlb_limit,%temp0)
+	__(cmpq rcontext(tcr.tlb_limit),%temp0)
 	__(jb,pt 0f)
 	__(push %temp0)
@@ -1606,5 +1606,5 @@
 0:	__(testq %temp0,%temp0)
 	__(jz 9f)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(cmpb $no_thread_local_binding_marker,(%temp1,%temp0))
 	__(je 2f)
@@ -1613,6 +1613,6 @@
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 2:	__(movq symbol.vcell(%arg_z),%arg_y)
@@ -1621,6 +1621,6 @@
 	__(push (%temp1,%temp0))
 	__(push %temp0)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq %arg_y,(%temp1,%temp0))
 	__(jmp *%ra0)
@@ -1952,5 +1952,5 @@
 	__(TSP_Alloc_Var(%imm1,%temp0))
 	__(movq %imm0,(%temp0))
-	__(movq %rcontext:tcr.db_link,%temp1)
+	__(movq rcontext(tcr.db_link),%temp1)
 3:	__(movl $unbound_marker,%temp0_l)
 	__(compare_reg_to_nil(%arg_z))
@@ -1960,9 +1960,9 @@
 	__(_cdr(%arg_y,%arg_y))
 	__(movq symbol.binding_index(%arg_x),%arg_x)
-	__(cmp %rcontext:tcr.tlb_limit,%arg_x)
+	__(cmp rcontext(tcr.tlb_limit),%arg_x)
 	__(jb,pt 4f)
 	__(push %arg_x)
 	__(tlb_too_small())
-4:	__(movq %rcontext:tcr.tlb_pointer,%imm0)
+4:	__(movq rcontext(tcr.tlb_pointer),%imm0)
 	__(subq $binding.size,%imm1)
 	__(compare_reg_to_nil(%arg_y))
@@ -1974,5 +1974,5 @@
 	__(movq %imm1,%temp1)
 	__(jne 3b)
-	__(movq %temp1,%rcontext:tcr.db_link)
+	__(movq %temp1,rcontext(tcr.db_link))
 	__(ret)
 _endsubp(progvsave)
@@ -2028,8 +2028,8 @@
 	__(cmpq $tstack_alloc_limit,%imm1)
 	__(ja local_label(stack_misc_alloc_heap_alloc_ivector))
-        __(movq %rcontext:tcr.foreign_sp,%stack_temp) 
+        __(movq rcontext(tcr.foreign_sp),%stack_temp) 
 	__(movd %stack_temp,%temp1)
-        __(subq %imm1,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%temp0)
+        __(subq %imm1,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%temp0)
 0:	__(movapd %fpzero,-dnode_size(%temp1))
 	__(subq $dnode_size,%temp1)
@@ -2042,7 +2042,7 @@
 	__(ret)
 local_label(stack_misc_alloc_heap_alloc_ivector):
-        __(movq %rcontext:tcr.foreign_sp,%imm1)
-        __(subq $dnode_size,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%imm0)
+        __(movq rcontext(tcr.foreign_sp),%imm1)
+        __(subq $dnode_size,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%imm0)
 	__(movq %imm1,(%imm0))
 	__(jmp _SPmisc_alloc)	
@@ -2320,5 +2320,5 @@
 	/* the function takes an &rest arg or because we need to signal an  */
 	/* "unknown keywords" error   */
-1:	__(movq %rcontext:tcr.save_tsp,%arg_z)
+1:	__(movq rcontext(tcr.save_tsp),%arg_z)
 	__(mov (%arg_z),%arg_y)
 	__(jmp 3f)
@@ -2639,7 +2639,7 @@
 	__(cmpq $tstack_alloc_limit,%imm0)
 	__(jae 1f)
-        __(movq %rcontext:tcr.foreign_sp,%imm1)
-        __(subq %imm0,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%arg_z)
+        __(movq rcontext(tcr.foreign_sp),%imm1)
+        __(subq %imm0,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%arg_z)
 	__(movq %imm1,(%arg_z))
         __(movq %rbp,csp_frame.save_rbp(%arg_z))
@@ -2651,7 +2651,7 @@
 	__(movsd %fpzero,macptr.type(%arg_z))
 	__(ret)
-1:	__(movq %rcontext:tcr.foreign_sp,%imm1)
-        __(subq $dnode_size,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%imm0)
+1:	__(movq rcontext(tcr.foreign_sp),%imm1)
+        __(subq $dnode_size,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%imm0)
 	__(movq %imm1,(%imm0))
         __(movq %rbp,csp_frame.save_rbp(%imm0))
@@ -2666,7 +2666,7 @@
 	__(cmpq $tstack_alloc_limit,%imm0)
 	__(jae 9f)
-        __(movq %rcontext:tcr.foreign_sp,%imm1)
-        __(subq %imm0,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%arg_z)
+        __(movq rcontext(tcr.foreign_sp),%imm1)
+        __(subq %imm0,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%arg_z)
 	__(movq %imm1,(%arg_z))
         __(movq %rbp,csp_frame.save_rbp(%arg_z))
@@ -2683,7 +2683,7 @@
 	__(jne 1b)		
 	__(repret)
-9:	__(movq %rcontext:tcr.foreign_sp,%imm1)
-        __(subq $dnode_size,%rcontext:tcr.foreign_sp)
-        __(movq %rcontext:tcr.foreign_sp,%imm0)
+9:	__(movq rcontext(tcr.foreign_sp),%imm1)
+        __(subq $dnode_size,rcontext(tcr.foreign_sp))
+        __(movq rcontext(tcr.foreign_sp),%imm0)
 	__(movq %imm1,(%imm0))
         __(movq %rbp,csp_frame.save_rbp(%imm0))
@@ -3054,11 +3054,11 @@
 
 _spentry(save_values)
-	__(movq %rcontext:tcr.save_tsp,%imm1)
+	__(movq rcontext(tcr.save_tsp),%imm1)
 /* common exit: nargs = values in this set, imm1 = ptr to tsp before call to save_values   */
 local_label(save_values_to_tsp):
-	__(movq %rcontext:tcr.save_tsp,%arg_x)
+	__(movq rcontext(tcr.save_tsp),%arg_x)
 	__(dnode_align(%nargs_q,tsp_frame.fixed_overhead+(2*node_size),%imm0)) /* count, link   */
 	__(TSP_Alloc_Var(%imm0,%arg_z))
-	__(movq %rcontext:tcr.save_tsp,%imm0)
+	__(movq rcontext(tcr.save_tsp),%imm0)
 	__(movq %imm1,(%imm0))
 	__(movq %nargs_q,(%arg_z))
@@ -3087,5 +3087,5 @@
 _spentry(add_values)
 	__(testl %nargs,%nargs)
-	__(movq %rcontext:tcr.save_tsp,%imm1)
+	__(movq rcontext(tcr.save_tsp),%imm1)
 	__(movq (%imm1),%imm1)
 	__(jne local_label(save_values_to_tsp))
@@ -3100,5 +3100,5 @@
 	/* segment pointers Can tell the end because that previous  */
 	/* segment pointer is the prev tsp pointer   */
-	__(movq %rcontext:tcr.save_tsp,%temp1)
+	__(movq rcontext(tcr.save_tsp),%temp1)
 	__(movq %temp1,%arg_x)	/* current segment   */
 	__(movq %temp1,%arg_y)	/* last segment   */
@@ -3128,6 +3128,6 @@
 	__(jne local_label(pushloop))
 	__(movq (%temp1),%temp1)
-        __(movq %temp1,%rcontext:tcr.save_tsp)
-        __(movq %temp1,%rcontext:tcr.next_tsp)        
+        __(movq %temp1,rcontext(tcr.save_tsp))
+        __(movq %temp1,rcontext(tcr.next_tsp))        
 	__(jmp *%ra0)		
 _endsubp(recover_values)
@@ -3143,5 +3143,5 @@
 	/* segment pointer is the prev tsp pointer   */
         __(xorl %nargs,%nargs)
-	__(movq %rcontext:tcr.save_tsp,%temp1)
+	__(movq rcontext(tcr.save_tsp),%temp1)
 	__(movq %temp1,%arg_x)	/* current segment   */
 	__(movq %temp1,%arg_y)	/* last segment   */
@@ -3176,6 +3176,6 @@
 	__(jne local_label(pushloop_mvcall))
 	__(movq (%temp1),%temp1)
-        __(movq %temp1,%rcontext:tcr.save_tsp)
-        __(movq %temp1,%rcontext:tcr.next_tsp)        
+        __(movq %temp1,rcontext(tcr.save_tsp))
+        __(movq %temp1,rcontext(tcr.next_tsp))        
 	__(jmp *%ra0)		
 _endsubp(recover_values_for_mvcall)
@@ -3309,6 +3309,6 @@
 _spentry(specref)
 	__(movq symbol.binding_index(%arg_z),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
-	__(movq %rcontext:tcr.tlb_pointer,%imm1)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
+	__(movq rcontext(tcr.tlb_pointer),%imm1)
 	__(movq %arg_z,%arg_y)
 	__(jae 7f)
@@ -3323,6 +3323,6 @@
 _spentry(specset)
 	__(movq symbol.binding_index(%arg_y),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
-	__(movq %rcontext:tcr.tlb_pointer,%imm1)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
+	__(movq rcontext(tcr.tlb_pointer),%imm1)
 	__(jae 1f)
 	__(movq (%imm1,%imm0),%arg_x)
@@ -3338,6 +3338,6 @@
 _spentry(specrefcheck)
 	__(movq symbol.binding_index(%arg_z),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
-	__(movq %rcontext:tcr.tlb_pointer,%imm1)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
+	__(movq rcontext(tcr.tlb_pointer),%imm1)
 	__(movq %arg_z,%arg_y)
 	__(jae 7f)
@@ -3380,17 +3380,17 @@
 
 _spentry(unbind)
-	__(movq %rcontext:tcr.db_link,%imm1)
-	__(movq %rcontext:tcr.tlb_pointer,%arg_x)
+	__(movq rcontext(tcr.db_link),%imm1)
+	__(movq rcontext(tcr.tlb_pointer),%arg_x)
 	__(movq binding.sym(%imm1),%temp1)
 	__(movq binding.val(%imm1),%arg_y)
 	__(movq binding.link(%imm1),%imm1)
 	__(movq %arg_y,(%arg_x,%temp1))
-	__(movq %imm1,%rcontext:tcr.db_link)
+	__(movq %imm1,rcontext(tcr.db_link))
 	__(ret)	
 _endsubp(unbind)
 
 _spentry(unbind_n)
-	__(movq %rcontext:tcr.db_link,%imm1)
-	__(movq %rcontext:tcr.tlb_pointer,%arg_x)
+	__(movq rcontext(tcr.db_link),%imm1)
+	__(movq rcontext(tcr.tlb_pointer),%arg_x)
 1:		
 	__(movq binding.sym(%imm1),%temp1)
@@ -3400,11 +3400,11 @@
 	__(subq $1,%imm0)
 	__(jne 1b)
-	__(movq %imm1,%rcontext:tcr.db_link)
+	__(movq %imm1,rcontext(tcr.db_link))
 	__(ret)	
 _endsubp(unbind_n)
 
 _spentry(unbind_to)
-	__(movq %rcontext:tcr.db_link,%imm1)
-	__(movq %rcontext:tcr.tlb_pointer,%arg_x)
+	__(movq rcontext(tcr.db_link),%imm1)
+	__(movq rcontext(tcr.tlb_pointer),%arg_x)
 1:		
 	__(movq binding.sym(%imm1),%temp1)
@@ -3414,5 +3414,5 @@
 	__(cmpq %imm1,%imm0)
 	__(jne 1b)
-	__(movq %imm1,%rcontext:tcr.db_link)
+	__(movq %imm1,rcontext(tcr.db_link))
 	__(ret)	
 _endsubp(unbind_to)
@@ -3423,10 +3423,10 @@
 	
 _spentry(bind_interrupt_level_0)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(cmpq $0,INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq $0,INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(js,pn 1f)
@@ -3442,9 +3442,9 @@
 
 _spentry(bind_interrupt_level_m1)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(jmp *%ra0)
@@ -3455,10 +3455,10 @@
 _spentry(bind_interrupt_level)
 	__(testq %arg_z,%arg_z)
-	__(movq %rcontext:tcr.tlb_pointer,%temp1)
+	__(movq rcontext(tcr.tlb_pointer),%temp1)
 	__(jz _SPbind_interrupt_level_0)
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movq %rsp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movq %rsp,rcontext(tcr.db_link))
 	__(movq %arg_z,INTERRUPT_LEVEL_BINDING_INDEX(%temp1))
 	__(jmp *%ra0)
@@ -3469,7 +3469,7 @@
 	
 _spentry(unbind_interrupt_level)
-        __(btq $TCR_FLAG_BIT_PENDING_SUSPEND,%rcontext:tcr.flags)
-	__(movq %rcontext:tcr.db_link,%imm1)
-	__(movq %rcontext:tcr.tlb_pointer,%arg_x)
+        __(btq $TCR_FLAG_BIT_PENDING_SUSPEND,rcontext(tcr.flags))
+	__(movq rcontext(tcr.db_link),%imm1)
+	__(movq rcontext(tcr.tlb_pointer),%arg_x)
 	__(movq INTERRUPT_LEVEL_BINDING_INDEX(%arg_x),%imm0)
         __(jc 5f)
@@ -3478,5 +3478,5 @@
 	__(movq binding.link(%imm1),%imm1)
 	__(movq %temp0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_x))
- 	__(movq %imm1,%rcontext:tcr.db_link)
+ 	__(movq %imm1,rcontext(tcr.db_link))
 	__(js,pn 3f)
 2:	__(repret)
@@ -3499,5 +3499,5 @@
 	
 _spentry(progvrestore)
-	__(movq %rcontext:tcr.save_tsp,%imm0)
+	__(movq rcontext(tcr.save_tsp),%imm0)
 	__(movq tsp_frame.backlink(%imm0),%imm0) /* ignore .SPnthrowXXX values frame   */
 	__(movq tsp_frame.data_offset(%imm0),%imm0)
@@ -3936,11 +3936,11 @@
 	__(push %save2)
 	__(push %save3)         /* 10 registers pushed after %rbp */
-	__(movq %rsp,%rcontext:tcr.save_vsp)
-        __(movq %rbp,%rcontext:tcr.save_rbp)
-	__(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-        __(movq %rcontext:tcr.foreign_sp,%rsp)
-	__(stmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(movq %rsp,rcontext(tcr.save_vsp))
+        __(movq %rbp,rcontext(tcr.save_rbp))
+	__(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+        __(movq rcontext(tcr.foreign_sp),%rsp)
+	__(stmxcsr rcontext(tcr.lisp_mxcsr))
 	__(emms)
-	__(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+	__(ldmxcsr rcontext(tcr.foreign_mxcsr))
 	__(movq (%rsp),%rbp)
         __ifdef([DARWIN_GS_HACK])
@@ -3986,5 +3986,5 @@
          __(movq %save2,%rdx)
         __endif
-	__(movq %rsp,%rcontext:tcr.foreign_sp)        
+	__(movq %rsp,rcontext(tcr.foreign_sp))        
 	__(clr %save3)
 	__(clr %save2)
@@ -4002,11 +4002,11 @@
            about causing spurious FP exceptions */
         __ifdef([DARWIN])
-         __(movl %arg_x_l,%rcontext:tcr.ffi_exception)
+         __(movl %arg_x_l,rcontext(tcr.ffi_exception))
         __else
-         __(stmxcsr %rcontext:tcr.ffi_exception)
+         __(stmxcsr rcontext(tcr.ffi_exception))
         __endif
-	__(movq %rcontext:tcr.save_vsp,%rsp)
-        __(movq %rcontext:tcr.save_rbp,%rbp)
-	__(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movq rcontext(tcr.save_vsp),%rsp)
+        __(movq rcontext(tcr.save_rbp),%rbp)
+	__(movq $TCR_STATE_LISP,rcontext(tcr.valence))
 	__(pop %save3)
 	__(pop %save2)
@@ -4019,10 +4019,10 @@
 	__(pop %temp2)
 	__(pop %temp1)
-	__(ldmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(check_pending_interrupt(%temp0))
 	__(pop %temp0)
         __(leave)
 	__ifdef([DARWIN])
-	__(btrq $TCR_FLAG_BIT_FOREIGN_EXCEPTION,%rcontext:tcr.flags)
+	__(btrq $TCR_FLAG_BIT_FOREIGN_EXCEPTION,rcontext(tcr.flags))
 	__(jc,pn 0f)
 	__endif
@@ -4134,11 +4134,11 @@
         __(movq macptr.address(%arg_y),%rbx)  /* %rbx non-volatile */
 	__(push %fn)
-	__(movq %rsp,%rcontext:tcr.save_vsp)
-        __(movq %rbp,%rcontext:tcr.save_rbp)
-	__(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-        __(movq %rcontext:tcr.foreign_sp,%rsp)
-	__(stmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(movq %rsp,rcontext(tcr.save_vsp))
+        __(movq %rbp,rcontext(tcr.save_rbp))
+	__(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+        __(movq rcontext(tcr.foreign_sp),%rsp)
+	__(stmxcsr rcontext(tcr.lisp_mxcsr))
 	__(emms)
-	__(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+	__(ldmxcsr rcontext(tcr.foreign_mxcsr))
 	__(movq (%rsp),%rbp)
         __ifdef([DARWIN_GS_HACK])
@@ -4188,5 +4188,5 @@
          __(movsd 24(%save2),%xmm1)
         __endif
-	__(movq %rsp,%rcontext:tcr.foreign_sp)        
+	__(movq %rsp,rcontext(tcr.foreign_sp))        
 	__(clr %save3)
 	__(clr %save2)
@@ -4204,11 +4204,11 @@
            about causing spurious FP exceptions */
         __ifdef([DARWIN])
-         __(movl %arg_x_l,%rcontext:tcr.ffi_exception)
+         __(movl %arg_x_l,rcontext(tcr.ffi_exception))
         __else
-         __(stmxcsr %rcontext:tcr.ffi_exception)
+         __(stmxcsr rcontext(tcr.ffi_exception))
         __endif
-	__(movq %rcontext:tcr.save_vsp,%rsp)
-        __(movq %rcontext:tcr.save_rbp,%rbp)
-	__(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movq rcontext(tcr.save_vsp),%rsp)
+        __(movq rcontext(tcr.save_rbp),%rbp)
+	__(movq $TCR_STATE_LISP,rcontext(tcr.valence))
 	__(pop %fn)
 	__(pop %save3)
@@ -4221,10 +4221,10 @@
 	__(pop %temp2)
 	__(pop %temp1)
-	__(ldmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(check_pending_interrupt(%temp0))
 	__(pop %temp0)
         __(leave)
 	__ifdef([DARWIN])
-	__(btrq $TCR_FLAG_BIT_FOREIGN_EXCEPTION,%rcontext:tcr.flags)
+	__(btrq $TCR_FLAG_BIT_FOREIGN_EXCEPTION,rcontext(tcr.flags))
 	__(jc,pn 0f)
 	__endif
@@ -4327,8 +4327,8 @@
 	__(push %save3)
 	__(push %fn)
-	__(movq %rsp,%rcontext:tcr.save_vsp)
-        __(movq %rbp,%rcontext:tcr.save_rbp)
-	__(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-        __(movq %rcontext:tcr.foreign_sp,%rsp)
+	__(movq %rsp,rcontext(tcr.save_vsp))
+        __(movq %rbp,rcontext(tcr.save_rbp))
+	__(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+        __(movq rcontext(tcr.foreign_sp),%rsp)
 	__(emms)
 	__(movq (%rsp),%rbp)
@@ -4348,5 +4348,5 @@
         __endif        
 	__(movq %rbp,%rsp)
-	__(movq %rsp,%rcontext:tcr.foreign_sp)        
+	__(movq %rsp,rcontext(tcr.foreign_sp))        
 	__(clr %save3)
 	__(clr %save2)
@@ -4361,7 +4361,7 @@
 	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__(movq %rcontext:tcr.save_vsp,%rsp)
-        __(movq %rcontext:tcr.save_rbp,%rbp)
-	__(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movq rcontext(tcr.save_vsp),%rsp)
+        __(movq rcontext(tcr.save_rbp),%rbp)
+	__(movq $TCR_STATE_LISP,rcontext(tcr.valence))
 	__(pop %fn)
 	__(pop %save3)
@@ -4499,9 +4499,9 @@
 	__(movq %r12,%r11)
 1:	/* Align foreign stack for lisp   */
-        __(pushq %rcontext:tcr.save_rbp) /* mark cstack frame's "owner" */
-	__(pushq %rcontext:tcr.foreign_sp)
+        __(pushq rcontext(tcr.save_rbp)) /* mark cstack frame's "owner" */
+	__(pushq rcontext(tcr.foreign_sp))
 	/* init lisp registers   */
 	__(movq %r11,%rax)
-	__(movq %rsp,%rcontext:tcr.foreign_sp)
+	__(movq %rsp,rcontext(tcr.foreign_sp))
 	__(clr %save3)
 	__(clr %save2)
@@ -4516,16 +4516,16 @@
 	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__(movq %rcontext:tcr.save_vsp,%rsp)
+	__(movq rcontext(tcr.save_vsp),%rsp)
 	__(box_fixnum(%rax,%arg_y))
 	__(movq %rbp,%arg_z)
-        __(movq %rcontext:tcr.save_rbp,%rbp)
-	__(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
+        __(movq rcontext(tcr.save_rbp),%rbp)
+	__(movq $TCR_STATE_LISP,rcontext(tcr.valence))
         __(movq (%rsp),%save3)
         __(movq 8(%rsp),%save2)
         __(movq 16(%rsp),%save1)
         __(movq 24(%rsp),%save0)
-        __(stmxcsr %rcontext:tcr.foreign_mxcsr)
-        __(andb $~mxcsr_all_exceptions,%rcontext:tcr.foreign_mxcsr)
-	__(ldmxcsr %rcontext:tcr.lisp_mxcsr)
+        __(stmxcsr rcontext(tcr.foreign_mxcsr))
+        __(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
+	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(movq $nrs.callbacks,%fname)
 	__(lea local_label(back_from_callback)(%rip),%ra0)
@@ -4534,13 +4534,13 @@
 	__(jump_fname())
 __(tra(local_label(back_from_callback)))
-	__(movq %rsp,%rcontext:tcr.save_vsp)
-        __(movq %rbp,%rcontext:tcr.save_rbp)
-        __(movq %rcontext:tcr.foreign_sp,%rsp)
-	__(stmxcsr %rcontext:tcr.lisp_mxcsr)
-	__(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
+	__(movq %rsp,rcontext(tcr.save_vsp))
+        __(movq %rbp,rcontext(tcr.save_rbp))
+        __(movq rcontext(tcr.foreign_sp),%rsp)
+	__(stmxcsr rcontext(tcr.lisp_mxcsr))
+	__(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
 	__(emms)
-	__(pop %rcontext:tcr.foreign_sp)
+	__(pop rcontext(tcr.foreign_sp))
         __(addq $node_size,%rsp)
-        __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
         __ifdef([DARWIN_GS_HACK])
          /* Lucky us; nothing is live here */
Index: /trunk/source/lisp-kernel/x86-subprims64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-subprims64.s	(revision 8561)
+++ /trunk/source/lisp-kernel/x86-subprims64.s	(revision 8562)
@@ -37,6 +37,6 @@
         __(push $0)
         __(push $0)
-	__(movq %rsp,%rcontext:tcr.foreign_sp)
-	__(movq %rcontext:tcr.save_vsp,%rsp)
+	__(movq %rsp,rcontext(tcr.foreign_sp))
+	__(movq rcontext(tcr.save_vsp),%rsp)
 	__(push $0)
 	__(movq %rsp,%rbp)
@@ -67,5 +67,5 @@
 local_label(back_to_c):
         __(discard_temp_frame(%imm0))
-	__(movq %rcontext:tcr.foreign_sp,%rsp)
+	__(movq rcontext(tcr.foreign_sp),%rsp)
         __(addq $dnode_size,%rsp)
 	__(movq %rsp,%rbp)
@@ -110,10 +110,10 @@
 	__(clr %save3)
 	__(pxor %fpzero,%fpzero)	/* fpzero = 0.0[d0] */
-        __(stmxcsr %rcontext:tcr.foreign_mxcsr)
-        __(andb $~mxcsr_all_exceptions,%rcontext:tcr.foreign_mxcsr)
-        __(ldmxcsr %rcontext:tcr.lisp_mxcsr)
-	__(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
+        __(stmxcsr rcontext(tcr.foreign_mxcsr))
+        __(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
+        __(ldmxcsr rcontext(tcr.lisp_mxcsr))
+	__(movq $TCR_STATE_LISP,rcontext(tcr.valence))
 	__(call toplevel_loop)
-	__(movq $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
+	__(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence))
 	__(emms)
 	__(addq $8,%rsp)	/* discard alignment word */
@@ -123,5 +123,5 @@
 	__(pop %r12)
 	__(pop %rbx)
-        __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
         __ifdef([DARWIN_GS_HACK])
          __(set_foreign_gs_base)
