[Openmcl-cvs-notifications] r10092 - /trunk/source/lisp-kernel/x86-spentry32.s

rme at clozure.com rme at clozure.com
Fri Jul 18 15:20:03 EDT 2008


Author: rme
Date: Fri Jul 18 15:20:03 2008
New Revision: 10092

Log:
New file.

Added:
    trunk/source/lisp-kernel/x86-spentry32.s
      - copied, changed from r10076, branches/ia32/lisp-kernel/x86-spentry3=
2.s

Copied: trunk/source/lisp-kernel/x86-spentry32.s (from r10076, branches/ia3=
2/lisp-kernel/x86-spentry32.s)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/ia32/lisp-kernel/x86-spentry32.s (original)
+++ trunk/source/lisp-kernel/x86-spentry32.s Fri Jul 18 15:20:03 2008
@@ -1020,10 +1020,10 @@
         __(push %arg_y)
         __(push %arg_z)
         __(push %fn)
-	__(movl %esp,%rcontext:tcr.save_vsp)
-	__(movl %ebp,%rcontext:tcr.save_ebp)
-	__(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-	__(movl %rcontext:tcr.foreign_sp,%esp)
+	__(movl %esp,rcontext(tcr.save_vsp))
+	__(movl %ebp,rcontext(tcr.save_ebp))
+	__(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+	__(movl rcontext(tcr.foreign_sp),%esp)
 	__(emms)
 	__(pop %ebp)		/* backlink */
 	__(unbox_fixnum(%arg_z,%eax))	/* syscall number */
@@ -1036,12 +1036,16 @@
 	__(neg %eax)
 0:	=

 	__(movl %ebp,%esp)
-	__(movl %esp,%rcontext:tcr.foreign_sp)
-	__(zero_node_regs)
+	__(movl %esp,rcontext(tcr.foreign_sp))
+	__(clr %arg_z)
+	__(clr %arg_y)
+	__(clr %temp1)
+	__(clr %temp0)
+	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__(movl %rcontext:tcr.save_vsp,%esp)
-	__(movl %rcontext:tcr.save_ebp,%ebp)
-	__(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movl rcontext(tcr.save_vsp),%esp)
+	__(movl rcontext(tcr.save_ebp),%ebp)
+	__(movl $TCR_STATE_LISP,rcontext(tcr.valence))
         __(pop %fn)
         __(pop %arg_z)
         __(pop %arg_y)
@@ -1063,10 +1067,10 @@
         __(push %arg_y)
         __(push %arg_z)
         __(push %fn)
-	__(movl %esp,%rcontext:tcr.save_vsp)
-	__(movl %ebp,%rcontext:tcr.save_ebp)
-	__(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-	__(movl %rcontext:tcr.foreign_sp,%esp)
+	__(movl %esp,rcontext(tcr.save_vsp))
+	__(movl %ebp,rcontext(tcr.save_ebp))
+	__(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+	__(movl rcontext(tcr.foreign_sp),%esp)
 	__(emms)
 	__(pop %ebp)		/* backlink */
 	__(unbox_fixnum(%arg_z,%eax))	/* syscall number */
@@ -1083,12 +1087,16 @@
 	__(push %eax)
 	__(movq (%esp),%mm0)
 	__(movl %ebp,%esp)
-	__(movl %esp,%rcontext:tcr.foreign_sp)
-	__(zero_node_regs)
+	__(movl %esp,rcontext(tcr.foreign_sp))
+	__(clr %arg_z)
+	__(clr %arg_y)
+	__(clr %temp1)
+	__(clr %temp0)
+	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__(movl %rcontext:tcr.save_vsp,%esp)
-	__(movl %rcontext:tcr.save_ebp,%ebp)
-	__(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movl rcontext(tcr.save_vsp),%esp)
+	__(movl rcontext(tcr.save_ebp),%ebp)
+	__(movl $TCR_STATE_LISP,rcontext(tcr.valence))
         __(pop %fn)
         __(pop %arg_z)
         __(pop %arg_y)
@@ -1114,12 +1122,12 @@
 /* this takes a return address in %ra0; it's "new" in that it does the */
 /*   double binding of *interrupt-level* out-of-line */
 _spentry(nmkunwind)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_z)
+	__(movl rcontext(tcr.tlb_pointer),%arg_z)
         __(movl INTERRUPT_LEVEL_BINDING_INDEX(%arg_z),%arg_y)
 	__(push %arg_y)
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%arg_z))
 	__(movl $undefined,%arg_z)
 	/* %arg_z =3D tag, %xfn (%temp1) =3D pc */
@@ -1134,7 +1142,7 @@
 _endsubp(mkcatchmv)
 =

 _spentry(throw)
-	__(movl %rcontext:tcr.catch_top,%imm0)
+	__(movl rcontext(tcr.catch_top),%imm0)
 	__(movl (%esp,%nargs),%arg_y)	/* arg_y =3D tag   */
 	__(movd %nargs,%mm0)
 	__(xorl %temp1,%temp1)
@@ -1165,34 +1173,34 @@
 	__(movl $local_label(_threw_one_value),%ra0)
 	__(jmp _SPnthrow1value)
 __(tra(local_label(_threw_one_value)))
-	__(movl %rcontext:tcr.catch_top,%arg_y)
+	__(movl rcontext(tcr.catch_top),%arg_y)
 	__(movl catch_frame.db_link(%arg_y),%imm0)
-	__(cmpl %imm0,%rcontext:tcr.db_link)
+	__(cmpl %imm0,rcontext(tcr.db_link))
 	__(jz local_label(_threw_one_value_dont_unbind))
 	__(push $local_label(_threw_one_value_dont_unbind))
 	__(jmp _SPunbind_to)	/* preserves registers */
 __(tra(local_label(_threw_one_value_dont_unbind)))
 	__(movl catch_frame.ebp(%arg_y),%ebp)
 	__(movl catch_frame.foreign_sp(%arg_y),%imm0)
-        __(movl %imm0,%rcontext:tcr.foreign_sp)
+        __(movl %imm0,rcontext(tcr.foreign_sp))
 	__(movl catch_frame.xframe(%arg_y),%imm0)
-	__(movl %imm0,%rcontext:tcr.xframe)
+	__(movl %imm0,rcontext(tcr.xframe))
 	__(movl catch_frame.esp(%arg_y),%esp)
 	__(movl catch_frame.link(%arg_y),%imm0)
-	__(movl %imm0,%rcontext:tcr.catch_top)
+	__(movl %imm0,rcontext(tcr.catch_top))
 	__(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%arg_y),%imm0)
 	__(movl (%imm0),%imm0)
-        __(movl %imm0,%rcontext:tcr.save_tsp)
-        __(movl %imm0,%rcontext:tcr.next_tsp)
+        __(movl %imm0,rcontext(tcr.save_tsp))
+        __(movl %imm0,rcontext(tcr.next_tsp))
 	__(movl catch_frame.pc(%arg_y),%ra0)
 	__(jmp *%ra0)
 local_label(_throw_multiple):
 	__(movl $local_label(_threw_multiple),%ra0)
 	__(jmp _SPnthrowvalues)
 __(tra(local_label(_threw_multiple)))
-	__(movl %rcontext:tcr.catch_top,%arg_y)
+	__(movl rcontext(tcr.catch_top),%arg_y)
 	__(movl catch_frame.db_link(%arg_y),%imm0)
-	__(cmpl %imm0,%rcontext:tcr.db_link)
+	__(cmpl %imm0,rcontext(tcr.db_link))
 	__(je local_label(_threw_multiple_dont_unbind))
 	__(push $local_label(_threw_multiple_dont_unbind))
 	__(jmp _SPunbind_to)	/* preserves registers */
@@ -1213,34 +1221,34 @@
 	/* target %esp is now in %temp1   */
 	__(movl catch_frame.ebp(%arg_y),%ebp)
 	__(movl catch_frame.foreign_sp(%arg_y),%imm0)
-        __(movl %imm0,%rcontext:tcr.foreign_sp)        =

+        __(movl %imm0,rcontext(tcr.foreign_sp))        =

 	__(movl catch_frame.xframe(%arg_y),%imm0)
-	__(movl %imm0,%rcontext:tcr.xframe)
+	__(movl %imm0,rcontext(tcr.xframe))
 	__(movl %temp1,%esp)
 	__(movl catch_frame.link(%arg_y),%temp1)
-	__(movl %temp1,%rcontext:tcr.catch_top)
+	__(movl %temp1,rcontext(tcr.catch_top))
 	__(movd %mm0,%nargs)
 	__(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%arg_y),%imm0)
 	__(movl catch_frame.pc(%arg_y),%ra0)
 	__(movl (%imm0),%imm0)
-        __(movl %imm0,%rcontext:tcr.save_tsp)
-        __(movl %imm0,%rcontext:tcr.next_tsp)
+        __(movl %imm0,rcontext(tcr.save_tsp))
+        __(movl %imm0,rcontext(tcr.next_tsp))
 	__(jmp *%ra0)
 _endsubp(throw)
 =

 	/* This takes N multiple values atop the vstack.   */
 _spentry(nthrowvalues)
-	__(movb $1,%rcontext:tcr.unwinding)
-	__(movl %ra0,%rcontext:tcr.save0) /* %ra0 (aka %temp0) to spill area */
+	__(movb $1,rcontext(tcr.unwinding))
+	__(movl %ra0,rcontext(tcr.save0)) /* %ra0 (aka %temp0) to spill area */
 local_label(_nthrowv_nextframe):
 	__(subl $fixnumone,%imm0)
 	__(js local_label(_nthrowv_done))
 	__(movd %imm0,%mm1)
-	__(movl %rcontext:tcr.catch_top,%temp0)
+	__(movl rcontext(tcr.catch_top),%temp0)
 	__(movl catch_frame.link(%temp0),%imm0)
-	__(movl %imm0,%rcontext:tcr.catch_top)
+	__(movl %imm0,rcontext(tcr.catch_top))
 	__(movl catch_frame.db_link(%temp0),%imm0)
-	__(cmpl %imm0,%rcontext:tcr.db_link)
+	__(cmpl %imm0,rcontext(tcr.db_link))
 	__(jz local_label(_nthrowv_dont_unbind))
 	__(push %temp1)
 	__(push %temp0)
@@ -1257,7 +1265,7 @@
 	__(test %imm0,%imm0)	/* last catch frame ?   */
 	__(jne local_label(_nthrowv_skip))
 	__(movl catch_frame.xframe(%temp0),%arg_y)
-	__(movl %arg_y,%rcontext:tcr.xframe)
+	__(movl %arg_y,rcontext(tcr.xframe))
 	__(lea (%esp,%nargs),%arg_y)
 	__(movl catch_frame.esp(%temp0),%arg_z)
 	__(movd %nargs,%mm2)
@@ -1272,15 +1280,15 @@
 	__(jns local_label(_nthrowv_push_loop))
 	__(movd %mm2,%nargs)
 	__(movl catch_frame.xframe(%temp0),%arg_y)
-	__(movl %arg_y,%rcontext:tcr.xframe)
+	__(movl %arg_y,rcontext(tcr.xframe))
 	__(movl %arg_z,%esp)
 	__(movl catch_frame.ebp(%temp0),%ebp)
 	__(movd catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movd %stack_temp,%rcontext:tcr.foreign_sp)        =

+        __(movd %stack_temp,rcontext(tcr.foreign_sp))        =

 local_label(_nthrowv_skip):	=

 	__(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm0)
-        __(movl %imm0,%rcontext:tcr.save_tsp)
-        __(movl %imm0,%rcontext:tcr.next_tsp)
+        __(movl %imm0,rcontext(tcr.save_tsp))
+        __(movl %imm0,rcontext(tcr.next_tsp))
 	__(movd %mm1,%imm0)
 	__(jmp local_label(_nthrowv_nextframe))
 local_label(_nthrowv_do_unwind):	=

@@ -1291,14 +1299,14 @@
 	__(push catch_frame.pc(%temp0))
 	__(movl catch_frame.ebp(%temp0),%ebp)
         __(movd catch_frame.xframe(%temp0),%stack_temp)
-        __(movd %stack_temp,%rcontext:tcr.xframe)
+        __(movd %stack_temp,rcontext(tcr.xframe))
 	__(movl catch_frame.esp(%temp0),%arg_z)
 	__(movd catch_frame.foreign_sp(%temp0),%stack_temp)
-        __(movd %stack_temp,%rcontext:tcr.foreign_sp)        =

+        __(movd %stack_temp,rcontext(tcr.foreign_sp))        =

 	/* Discard the catch frame, so we can build a temp frame   */
 	__(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm0)
-        __(movl %imm0,%rcontext:tcr.save_tsp)
-        __(movl %imm0,%rcontext:tcr.next_tsp)
+        __(movl %imm0,rcontext(tcr.save_tsp))
+        __(movl %imm0,rcontext(tcr.next_tsp))
 	__(movd %temp1,%mm2) /* save %nargs */
 	/* tsp overhead, nargs, throw count, ra0   */
 	__(dnode_align(%nargs,(tsp_frame.fixed_overhead+(3*node_size)),%imm0))
@@ -1307,7 +1315,7 @@
 	__(movd %mm2,%temp1) /* aka %nargs */
 =

 	__(movl %nargs,(%imm0))
-	__(movl %rcontext:tcr.save0,%ra0)
+	__(movl rcontext(tcr.save0),%ra0)
 	__(movl %ra0,node_size(%imm0))
 	__(movd %mm1,node_size*2(%imm0))
 	__(leal node_size*3(%imm0),%imm0)
@@ -1324,15 +1332,15 @@
 	__(movl %arg_z,%esp)
 /* Ready to call cleanup code. set up tra, jmp to %xfn   */
 	__(push $local_label(_nthrowv_called_cleanup))
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
 	__(jmp *%xfn)
 __(tra(local_label(_nthrowv_called_cleanup)))
 =

-	__(movb $1,%rcontext:tcr.unwinding)
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movb $1,rcontext(tcr.unwinding))
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movl tsp_frame.data_offset+(0*node_size)(%imm0),%nargs)
 	__(movl tsp_frame.data_offset+(1*node_size)(%imm0),%ra0)
-	__(movl %ra0,%rcontext:tcr.save0)
+	__(movl %ra0,rcontext(tcr.save0))
 	__(movd tsp_frame.data_offset+(2*node_size)(%imm0),%mm1)
 	__(movd %nargs,%mm2)
 	__(addl $tsp_frame.fixed_overhead+(node_size*3),%imm0)
@@ -1344,18 +1352,18 @@
 	__(subl $node_size,%nargs)
 	__(jns local_label(_nthrowv_tpoploop))
 	__(movd %mm2,%nargs)
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movl (%imm0),%imm0)
-        __(movl %imm0,%rcontext:tcr.save_tsp)
-        __(movl %imm0,%rcontext:tcr.next_tsp)
+        __(movl %imm0,rcontext(tcr.save_tsp))
+        __(movl %imm0,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):
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%ra0)	=

 _endsubp(nthrowvalues)
 =

@@ -1364,16 +1372,16 @@
 /* Note that this takes a single value in arg_z.  */
 =

 _spentry(nthrow1value)
-	__(movb $1,%rcontext:tcr.unwinding)
+	__(movb $1,rcontext(tcr.unwinding))
 local_label(_nthrow1v_nextframe):
 	__(subl $fixnumone,%imm0)
 	__(js local_label(_nthrow1v_done))
 	__(movd %imm0,%mm0)
-	__(movl %rcontext:tcr.catch_top,%temp1)
+	__(movl rcontext(tcr.catch_top),%temp1)
 	__(movl catch_frame.link(%temp1),%imm0)
-	__(movl %imm0,%rcontext:tcr.catch_top)
+	__(movl %imm0,rcontext(tcr.catch_top))
 	__(movl catch_frame.db_link(%temp1),%imm0)
-	__(cmpl %imm0,%rcontext:tcr.db_link)
+	__(cmpl %imm0,rcontext(tcr.db_link))
 	__(jz local_label(_nthrow1v_dont_unbind))
 	__(push %temp1)
 	__(push %temp0)
@@ -1392,30 +1400,30 @@
 	__(test %imm0,%imm0)	/* last catch frame? */
 	__(jne local_label(_nthrow1v_skip))
 	__(movl catch_frame.xframe(%temp1),%arg_y)
-	__(movl %arg_y,%rcontext:tcr.xframe)
+	__(movl %arg_y,rcontext(tcr.xframe))
 	__(movl catch_frame.esp(%temp1),%esp)
 	__(movl catch_frame.ebp(%temp1),%ebp)
 	__(movd catch_frame.foreign_sp(%temp1),%stack_temp)
-	__(movd %stack_temp,%rcontext:tcr.foreign_sp)
+	__(movd %stack_temp,rcontext(tcr.foreign_sp))
 local_label(_nthrow1v_skip):
 	__(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp1),%imm0)
-	__(movl %imm0,%rcontext:tcr.save_tsp)
-	__(movl %imm0,%rcontext:tcr.next_tsp)
+	__(movl %imm0,rcontext(tcr.save_tsp))
+	__(movl %imm0,rcontext(tcr.next_tsp))
 	__(movd %mm0,%imm0)
 	__(jmp local_label(_nthrow1v_nextframe))
 local_label(_nthrow1v_do_unwind):
 /* This is harder, but not as hard (not as much BLTing) as the */
 /* multiple-value case. */
 	__(movl catch_frame.xframe(%temp1),%arg_y)
-	__(movl %arg_y,%rcontext:tcr.xframe)
+	__(movl %arg_y,rcontext(tcr.xframe))
 	__(movl catch_frame.ebp(%temp1),%ebp)
 	__(movl catch_frame.esp(%temp1),%esp)
 	__(movd catch_frame.foreign_sp(%temp1),%stack_temp)
-	__(movd %stack_temp,%rcontext:tcr.foreign_sp)
+	__(movd %stack_temp,rcontext(tcr.foreign_sp))
 	/* Discard the catch frame so we can build a temp frame. */
 	__(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp1),%imm0)
-	__(movl %imm0,%rcontext:tcr.save_tsp)
-	__(movl %imm0,%rcontext:tcr.next_tsp)
+	__(movl %imm0,rcontext(tcr.save_tsp))
+	__(movl %imm0,rcontext(tcr.next_tsp))
 	__(movl catch_frame.pc(%temp1),%xfn) /* xfn is temp1 */
 	__(TSP_Alloc_Fixed((3*node_size),%imm0))
 	__(addl $tsp_frame.fixed_overhead,%imm0)
@@ -1424,21 +1432,21 @@
 	__(movl %arg_z,node_size*2(%imm0))
 /* Ready to call cleanup code.  Set up tra, jmp to %xfn. */
 	__(push $local_label(_nthrow1v_called_cleanup))
-	__(movb $0,%rcontext:tcr.unwinding)
+	__(movb $0,rcontext(tcr.unwinding))
 	__(jmp *%xfn)
 __(tra(local_label(_nthrow1v_called_cleanup)))
-	__(movb $1,%rcontext:tcr.unwinding)
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movb $1,rcontext(tcr.unwinding))
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movl tsp_frame.data_offset+(0*node_size)(%imm0),%ra0)
 	__(movd tsp_frame.data_offset+(1*node_size)(%imm0),%mm0)
 	__(movl tsp_frame.data_offset+(2*node_size)(%imm0),%arg_z)
 	__(movl (%imm0),%imm0)
-	__(movl %imm0,%rcontext:tcr.save_tsp)
-	__(movl %imm0,%rcontext:tcr.next_tsp)
+	__(movl %imm0,rcontext(tcr.save_tsp))
+	__(movl %imm0,rcontext(tcr.next_tsp))
 	__(movd %mm0,%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):
 	__(jmp *%ra0)
@@ -1449,17 +1457,17 @@
 =

 _spentry(bind)
 	__(movl symbol.binding_index(%arg_y),%imm0)
-	__(cmpl %rcontext:tcr.tlb_limit,%imm0)
+	__(cmpl rcontext(tcr.tlb_limit),%imm0)
 	__(jb 0f)
 	__(push %imm0)
 	__(tlb_too_small())
 0:	__(test %imm0,%imm0)
 	__(jz 9f)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl %arg_z,(%temp1,%imm0))
 	__(jmp *%ra0)
 9:	=

@@ -1474,26 +1482,26 @@
 =

 _spentry(bind_self)
 	__(movl symbol.binding_index(%arg_z),%imm0)
-	__(cmpl %rcontext:tcr.tlb_limit,%imm0)
+	__(cmpl rcontext(tcr.tlb_limit),%imm0)
 	__(jb 0f)
 	__(push %imm0)
 	__(tlb_too_small())
 0:	__(test %imm0,%imm0)
 	__(jz 9f)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(cmpb $no_thread_local_binding_marker,(%temp1,%imm0))
 	__(jz 2f)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 2:	__(movl symbol.vcell(%arg_z),%arg_y)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
 	__(movl %arg_y,(%temp1,%imm0))
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(movl %esp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 9:	__(movl $XSYMNOBIND,%arg_y)
 	__(set_nargs(2))
@@ -1503,17 +1511,17 @@
 =

 _spentry(bind_nil)
 	__(movl symbol.binding_index(%arg_z),%imm0)
-	__(cmpl %rcontext:tcr.tlb_limit,%imm0)
+	__(cmpl rcontext(tcr.tlb_limit),%imm0)
 	__(jb 0f)
 	__(push %imm0)
 	__(tlb_too_small())
 0:	__(test %imm0,%imm0)
 	__(jz 9f)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl $nil_value,(%temp1,%imm0))
 	__(jmp *%ra0)
 9:	__(movl $XSYMNOBIND,%arg_y)
@@ -1524,29 +1532,29 @@
 =

 _spentry(bind_self_boundp_check)
 	__(movl symbol.binding_index(%arg_z),%imm0)
-	__(cmpl %rcontext:tcr.tlb_limit,%imm0)
+	__(cmpl rcontext(tcr.tlb_limit),%imm0)
 	__(jb 0f)
 	__(push %imm0)
 	__(tlb_too_small())
 0:	__(test %imm0,%imm0)
 	__(jz 9f)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(cmpb $no_thread_local_binding_marker,(%temp1,%imm0))
 	__(je 2f)
 	__(cmpb $unbound_marker,(%temp1,%imm0))
 	__(je 8f)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(jmp *%ra0)
 2:	__(movl symbol.vcell(%arg_z),%arg_y)
 	__(cmpl $unbound_marker,%arg_y)
 	__(jz 8f)
 	__(push (%temp1,%imm0))
 	__(push %imm0)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl %arg_y,(%temp1,%imm0))
 	__(jmp *%ra0)
 8:	__(push %ra0)
@@ -1589,7 +1597,7 @@
 /* We always have to create a tsp frame (even if nargs is 0), so the compi=
ler */
 /* doesn't get confused. */
 _spentry(stkconslist)
-	__(movl %ra0,%rcontext:tcr.save0)
+	__(movl %ra0,rcontext(tcr.save0))
 	__(movd %nargs,%mm0)
 	__(movl %nargs,%temp0)
 	__(addl %temp0,%temp0)
@@ -1606,8 +1614,8 @@
 	__(add $cons.size,%imm0)
 	__(subl $node_size,%nargs)
 2:	__(jne 1b)
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)
 _endsubp(stkconslist)
 =

@@ -1853,7 +1861,7 @@
 	__(dnode_align(%imm0,tsp_frame.fixed_overhead+node_size,%imm0))
 	__(TSP_Alloc_Var(%imm0,%temp0))
 	__(movl %temp1,(%temp0))
-	__(movd %rcontext:tcr.db_link,%mm0)
+	__(movd rcontext(tcr.db_link),%mm0)
 3:	__(movl $unbound_marker,%temp0)
 	__(compare_reg_to_nil(%arg_z))
 	__(cmovnel cons.car(%arg_z),%temp0)
@@ -1861,12 +1869,12 @@
 	__(_car(%arg_y,%temp1))
 	__(_cdr(%arg_y,%arg_y))
 	__(movl symbol.binding_index(%temp1),%temp1)
-	__(cmp %rcontext:tcr.tlb_limit,%temp1)
+	__(cmp rcontext(tcr.tlb_limit),%temp1)
 	__(jb 4f)
 	__(push %temp1)
 	__(tlb_too_small())
 4:	__(push %arg_z)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_z)
+	__(movl rcontext(tcr.tlb_pointer),%arg_z)
 	__(subl $binding.size,%imm0)
 	__(movl %temp1,binding.sym(%imm0))
 	__(push (%arg_z,%temp1))
@@ -1877,7 +1885,7 @@
 	__(movd %imm0,%mm0)
 	__(compare_reg_to_nil(%arg_y))
 	__(jne 3b)
-	__(movd %mm0,%rcontext:tcr.db_link)
+	__(movd %mm0,rcontext(tcr.db_link))
 	__(ret)
 _endsubp(progvsave)
 =

@@ -1927,10 +1935,10 @@
 	__(dnode_align(%imm0,tsp_frame.fixed_overhead+node_size,%imm0))
 	__(cmpl $tstack_alloc_limit,%imm0)
 	__(ja local_label(stack_misc_alloc_heap_alloc_ivector))
-	__(movd %rcontext:tcr.foreign_sp,%stack_temp)
+	__(movd rcontext(tcr.foreign_sp),%stack_temp)
 	__(movd %stack_temp,%temp1)
-	__(subl %imm0,%rcontext:tcr.foreign_sp)
-	__(movl %rcontext:tcr.foreign_sp,%temp0)
+	__(subl %imm0,rcontext(tcr.foreign_sp))
+	__(movl rcontext(tcr.foreign_sp),%temp0)
 0:	__(movsd %fpzero,-dnode_size(%temp1))
 	__(subl $dnode_size,%temp1)
 	__(cmpl %temp1,%temp0)
@@ -1940,9 +1948,9 @@
 	__(lea tsp_frame.fixed_overhead+fulltag_misc(%temp0),%arg_z)
 	__(ret)
 local_label(stack_misc_alloc_heap_alloc_ivector):
-	__(movd %rcontext:tcr.foreign_sp,%stack_temp)
-	__(subl $dnode_size,%rcontext:tcr.foreign_sp)
-	__(movl %rcontext:tcr.foreign_sp,%imm0)
+	__(movd rcontext(tcr.foreign_sp),%stack_temp)
+	__(subl $dnode_size,rcontext(tcr.foreign_sp))
+	__(movl rcontext(tcr.foreign_sp),%imm0)
 	__(movd %stack_temp,(%imm0))
 	__(jmp _SPmisc_alloc)
 local_label(stack_misc_alloc_node):
@@ -2122,7 +2130,7 @@
 define([keyword_flags_seen_aok_bit],[19])
 =

 _spentry(keyword_bind)
-	__(movl %temp1,%rcontext:tcr.unboxed0)	/* save keyword flags */
+	__(movl %temp1,rcontext(tcr.unboxed0))	/* save keyword flags */
 	__(movzwl %nargs_w,%nargs)
 	__(movl %nargs,%arg_z)
 	__(subl %imm0,%arg_z)
@@ -2132,14 +2140,14 @@
 	__(movl $nil_value,%arg_y)
 	__(movl %arg_z,%nargs)
 	__(test %nargs,%nargs)
-	__(movl %ra0,%rcontext:tcr.save0)	/* save temp0 while consing */
+	__(movl %ra0,rcontext(tcr.save0))	/* save temp0 while consing */
 	__(jmp 1f)
 0:	__(pop %arg_z)
 	__(Cons(%arg_z,%arg_y,%arg_y))
 	__(subl $node_size,%nargs)
 1:	__(jnz 0b)
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movapd %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movapd %fpzero,rcontext(tcr.save0))
 	__(movl %arg_y,%arg_z)
 	__(movl $XBADKEYS,%arg_y)
 	__(set_nargs(2))
@@ -2185,7 +2193,7 @@
 	/* checking to see if any */
 	/* key-value pairs were unexpectedly supplied. */
 =

-	__(movl %rcontext:tcr.save_tsp,%temp0)
+	__(movl rcontext(tcr.save_tsp),%temp0)
 	__(addl $2*node_size,%temp0) /* skip frame overhead */
 	/* %temp0: top of tstack (skipping frame overhead) */
 	__(lea 4*node_size(%esp,%imm0,2),%temp1)
@@ -2205,14 +2213,14 @@
 	__(xorl %imm0,%imm0)
 	__(cmpl $nrs.kallowotherkeys,%arg_z)
 	__(jne local_label(next_keyvect_entry))
-	__(btsl $keyword_flags_seen_aok_bit,%rcontext:tcr.unboxed0)
+	__(btsl $keyword_flags_seen_aok_bit,rcontext(tcr.unboxed0))
 	__(jc local_label(next_keyvect_entry))
 	__(push %imm0)
 	__(movl 4(%esp),%imm0)
 	__(cmpl $nil_value,node_size(%temp0,%imm0,2))
 	__(pop %imm0)
 	__(je local_label(next_keyvect_entry))
-	__(btsl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
+	__(btsl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
 	__(jmp local_label(next_keyvect_entry))
 	/* loop through keyword vector */
 6:	__(cmpl misc_data_offset(%arg_y,%imm0),%arg_z)
@@ -2235,7 +2243,7 @@
 	/* :allow-other-keys? */
 	__(cmpl $nrs.kallowotherkeys,%arg_z)
 	__(je 9f)	/* :allow-other-keys is never "unknown" */
-8:	__(btsl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
+8:	__(btsl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
 9:	__(pop %imm0)
 	__(addl $fixnumone,%imm0)
 	__(movl %imm0,%arg_z)
@@ -2251,11 +2259,11 @@
 	/* If the function takes an &rest arg, or if we got an unrecognized */
 	/* keyword and don't allow that, copy the incoming k/v pairs from */
 	/* the temp stack back to the value stack. */
-	__(btl $keyword_flags_rest_bit,%rcontext:tcr.unboxed0)
+	__(btl $keyword_flags_rest_bit,rcontext(tcr.unboxed0))
 	__(jc 1f)
-	__(btl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
+	__(btl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
 	__(jnc 0f)
-	__(btl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
+	__(btl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
 	__(jnc 1f)
 	/* pop the tstack frame */
 0:	__(discard_temp_frame(%imm0))
@@ -2264,7 +2272,7 @@
 	/* Copy the k/v pairs from the tstack back to the value stack, */
 	/* either because the function takes an &rest arg or because */
 	/* we need to signal an "unknown keywords" error. */
-1:	__(movl %rcontext:tcr.save_tsp,%arg_z)
+1:	__(movl rcontext(tcr.save_tsp),%arg_z)
 	__(mov (%arg_z),%arg_y)
 	__(jmp 3f)
 2:	__(push (%arg_z))
@@ -2273,15 +2281,15 @@
 	__(cmpl %arg_z,%arg_y)
 	__(jne 2b)
 	__(discard_temp_frame(%arg_z))
-	__(btl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
+	__(btl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
 	__(jnc 9f)
-	__(btl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
+	__(btl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
 	__(jc 9f)
 	/* Signal an "unknown keywords" error */
 	__(movl %imm0,%nargs)
 	__(movl $nil_value,%arg_z)
 	__(test %nargs,%nargs)
-	__(movl %ra0,%rcontext:tcr.save0)
+	__(movl %ra0,rcontext(tcr.save0))
 	__(jmp 5f)
 4:	__(pop %arg_y)
 	__(Cons(%arg_y,%arg_z,%arg_z))
@@ -2289,8 +2297,8 @@
 5:	__(jnz 4b)
 	__(movl $XBADKEYS,%arg_y)
 	__(set_nargs(2))
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp _SPksignalerr)
 9:	__(jmp *%ra0)
 =

@@ -2336,7 +2344,7 @@
 =

 _spentry(stack_cons_rest_arg)
 	__(movd %nargs,%mm2)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 	__(subl %imm0,%temp1)
 	__(movl $nil_value,%arg_z)
 	__(jle 2f)	/* empty list; make an empty TSP frame */
@@ -2355,22 +2363,22 @@
 	__(jne 1b)
 	__(push %arg_z)
 	__(movd %mm2,%nargs)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%temp0)
 /* Length 0, make empty frame */
 2:
 	__(TSP_Alloc_Fixed(0,%temp0))
 	__(push %arg_z)
 	__(movd %mm2,%nargs)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%temp0)
 /* Too big to stack-cons, but make an empty frame before heap-consing */
 	__(TSP_Alloc_Fixed(0,%temp0))
 	__(movd %mm2,%nargs)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp _SPheap_cons_rest_arg)
 _endsubp(stack_cons_rest_arg)
 =

@@ -2392,7 +2400,7 @@
 	__(jne 0f)
 	__(push $reserved_frame_marker)
 	__(push $reserved_frame_marker)
-0:	__(movl %arg_z,%rcontext:tcr.save0)	/* save in case of error */
+0:	__(movl %arg_z,rcontext(tcr.save0))	/* save in case of error */
 	__(movd %nargs,%mm0)	/* now we can use %temp1 */
 	__(xorl %nargs,%nargs)
 	__(cmpl $nil_value,%arg_z)
@@ -2412,7 +2420,7 @@
 	__(addl %imm0,%nargs)
 	__(jne 4f)
 3:	__(addl $2*node_size,%esp)
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)
 4:	__(pop %arg_z)
 	__(cmp $1*node_size,%nargs)
@@ -2420,19 +2428,19 @@
 	__(pop %arg_y)
 	__(cmp $2*node_size,%nargs)
 	__(je 3b)
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)
 /* Discard everything that's been pushed already, complain */
 8:	__(lea (%esp,%nargs),%esp)
-	__(movl %rcontext:tcr.save0,%arg_z) /* recover original */
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%arg_z) /* recover original */
+	__(movl $0,rcontext(tcr.save0))
 	__(movl $XTMINPS,%arg_y)
 	__(set_nargs(2))
 	__(push %ra0)
 	__(jmp _SPksignalerr)
 9:	__(lea (%esp,%nargs),%esp)
-	__(movl %rcontext:tcr.save0,%arg_z) /* recover original */
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%arg_z) /* recover original */
+	__(movl $0,rcontext(tcr.save0))
 	__(movl $XNOSPREAD,%arg_y)
 	__(set_nargs(2))
 	__(push %ra0)
@@ -2447,7 +2455,7 @@
 	__(cmpl $nargregs*node_size,%nargs)
 	__(jbe 9f)
 	__(lea -nargregs*node_size(%esp,%nargs),%imm0)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 	__(movd %nargs,%mm0)
 	__(xorl %temp1,%temp1)
 	/* We can use %ra0 as a temporary here, since the real return address */
@@ -2463,8 +2471,8 @@
 	__(movl (%ebp),%ebp)
         __(pushl %ra0)
 	__(movd %mm0,%nargs)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(do_funcall())
         /* All args in regs; exactly the same as the tfuncallvsp case   */
 9:		=

@@ -2478,7 +2486,7 @@
 	__(lea -nargregs*node_size(%esp,%nargs),%imm0)
 	__(movd %nargs,%mm0)
 	__(xorl %temp1,%temp1)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 0:	__(movl -node_size(%imm0),%temp0)
 	__(movl %temp0,-node_size(%ebp,%temp1))
 	__(subl $node_size,%imm0)
@@ -2489,8 +2497,8 @@
 	__(push 4(%ebp))	/* return address */
 	__(movl (%ebp),%ebp)
 	__(movd %mm0,%nargs)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(do_funcall())
 _endsubp(tfuncallslide)
 =

@@ -2505,7 +2513,7 @@
 	__(jbe 9f)
 	__(lea -nargregs*node_size(%esp,%nargs),%imm0)
 	__(movd %nargs,%mm0)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 	__(xorl %temp1,%temp1)	/* aka nargs */
 0:	__(movl -node_size(%imm0),%temp0)
 	__(movl %temp0,-node_size(%ebp,%temp1))
@@ -2517,8 +2525,8 @@
 	__(movl 4(%ebp),%temp0)
 	__(movl (%ebp),%ebp)
 	__(push %temp0)
-	__(movl %rcontext:tcr.save0,%temp0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%temp0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(movd %mm0,%nargs)
 	__(jump_fname())
 /* All args in regs; exactly the same as the tcallsymvsp case. */
@@ -2565,7 +2573,7 @@
 	__(lea -nargregs*node_size(%esp,%nargs),%imm0)
 	__(movd %nargs,%mm0)	/* stash nargs aka temp1 */
 	__(xorl %temp1,%temp1)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 	/* It's OK to use %ra0 (%temp0) as an temp here, since the */
 	/* real return address is on the stack. */
 0:	__(movl -node_size(%imm0),%ra0)
@@ -2574,8 +2582,8 @@
 	__(subl $node_size,%temp1)
 	__(cmpl %imm0,%esp)
 	__(jne 0b)
-	__(movl %rcontext:tcr.save0,%fn)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%fn)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(lea (%ebp,%temp1),%esp)
 	__(movl lisp_frame.savera0(%ebp),%ra0)
 	__(movl lisp_frame.backlink(%ebp),%ebp)
@@ -2592,7 +2600,7 @@
 	__(lea -nargregs*node_size(%esp,%nargs),%imm0)
 	__(movd %nargs,%mm0)	/* save nargs aka temp1 */
 	__(xorl %temp1,%temp1)
-	__(movl %temp0,%rcontext:tcr.save0)
+	__(movl %temp0,rcontext(tcr.save0))
 	/* We can use %ra0 as a temporary here, since the real return address */
 	/* is on the stack   */
 0:	__(movl -node_size(%imm0),%ra0)
@@ -2601,12 +2609,12 @@
 	__(subl $node_size,%temp1)
 	__(cmpl %imm0,%esp)
 	__(jne 0b)
-	__(movl %rcontext:tcr.save0,%fn)
+	__(movl rcontext(tcr.save0),%fn)
 	__(lea (%ebp,%temp1),%esp)
 	__(movl lisp_frame.savera0(%ebp),%ra0)
 	__(movl lisp_frame.backlink(%ebp),%ebp)
         __(push %ra0)
-	__(movapd %fpzero,%rcontext:tcr.save0)
+	__(movapd %fpzero,rcontext(tcr.save0))
 	__(movd %mm0,%nargs)
 	__(jmp *%fn)
 _endsubp(tcallnfnslide)
@@ -2625,9 +2633,9 @@
 	__(dnode_align(%imm0,tsp_frame.fixed_overhead+macptr.size,%imm0))
 	__(cmpl $tstack_alloc_limit,%imm0)
 	__(jae 1f)
-	__(movd %rcontext:tcr.foreign_sp,%mm0)
-	__(subl %imm0,%rcontext:tcr.foreign_sp)
-	__(movl %rcontext:tcr.foreign_sp,%arg_z)
+	__(movd rcontext(tcr.foreign_sp),%mm0)
+	__(subl %imm0,rcontext(tcr.foreign_sp))
+	__(movl rcontext(tcr.foreign_sp),%arg_z)
 	__(movd %mm0,(%arg_z))
 	__(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0)
 	__(movl $macptr_header,tsp_frame.fixed_overhead(%arg_z))
@@ -2636,9 +2644,9 @@
 	__(movss %fpzero,macptr.domain(%arg_z))
 	__(movss %fpzero,macptr.type(%arg_z))
 	__(ret)
-1:	__(movd %rcontext:tcr.foreign_sp,%mm0)
-	__(subl $dnode_size,%rcontext:tcr.foreign_sp)
-	__(movl %rcontext:tcr.foreign_sp,%imm0)
+1:	__(movd rcontext(tcr.foreign_sp),%mm0)
+	__(subl $dnode_size,rcontext(tcr.foreign_sp))
+	__(movl rcontext(tcr.foreign_sp),%imm0)
 	__(movd %mm0,(%imm0))
 	__(set_nargs(1))
 	__(movl $nrs.new_gcable_ptr,%fname)
@@ -2650,9 +2658,9 @@
 	__(dnode_align(%imm0,tsp_frame.fixed_overhead+macptr.size,%imm0))
 	__(cmpl $tstack_alloc_limit,%imm0)
 	__(jae 9f)
-        __(movl %rcontext:tcr.foreign_sp,%temp0)
-        __(subl %imm0,%rcontext:tcr.foreign_sp)
-        __(movl %rcontext:tcr.foreign_sp,%arg_z)
+        __(movl rcontext(tcr.foreign_sp),%temp0)
+        __(subl %imm0,rcontext(tcr.foreign_sp))
+        __(movl rcontext(tcr.foreign_sp),%arg_z)
 	__(movl %temp0,(%arg_z))
 	__(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0)
 	__(movl $macptr_header,tsp_frame.fixed_overhead(%arg_z))
@@ -2666,9 +2674,9 @@
 2:	__(cmpl %imm0,%temp0)
 	__(jne 1b)
 	__(repret)
-9:	__(movd %rcontext:tcr.foreign_sp,%mm0)
-        __(subl $dnode_size,%rcontext:tcr.foreign_sp)
-        __(movl %rcontext:tcr.foreign_sp,%imm0)
+9:	__(movd rcontext(tcr.foreign_sp),%mm0)
+        __(subl $dnode_size,rcontext(tcr.foreign_sp))
+        __(movl rcontext(tcr.foreign_sp),%imm0)
 	__(movd %mm0,(%imm0))
 	__(set_nargs(1))
 	__(movl $nrs.new_gcable_ptr,%fname)
@@ -2778,10 +2786,10 @@
 _endsubp(misc_alloc)
 =

 /* N.B. arg count word in %imm0, not %nargs */
-/* no %whole_reg;  it's in %rcontext:tcr.save0 */
+/* no %whole_reg;  it's in rcontext(tcr.save0) */
 /* %arg_reg is %temp1, key vector in %arg_y */ =

 _startfn(C(destbind1))
-	__(movl %ra0,%rcontext:tcr.save1)
+	__(movl %ra0,rcontext(tcr.save1))
 	/* Save entry %esp in case of error   */
 	__(movd %esp,%mm0)
 	/* Save arg count word */
@@ -2850,13 +2858,13 @@
 	__(jc local_label(have_keys))
 	__(compare_reg_to_nil(%arg_reg))
 	__(jne local_label(toomany))
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%ra0)
 local_label(have_rest):
 	__(pushl %arg_reg)
 	__(btl $keyp_bit,%imm0)
 	__(jc local_label(have_keys))
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%ra0)
 	/* Ensure that arg_reg contains a proper,even-length list.  */
 	/* Insist that its length is <=3D 512 (as a cheap circularity check.)   */
@@ -2890,7 +2898,7 @@
 	__(movd %mm1,%imm0)
 	__(shrl $16,%imm0)
 	__(movzbl %imm0_b,%imm0)
-	__(movl %esp,%rcontext:tcr.unboxed0)	/* 0th value/supplied-p pair */
+	__(movl %esp,rcontext(tcr.unboxed0))	/* 0th value/supplied-p pair */
 	__(jmp local_label(push_pair_test))
 local_label(push_pair_loop):
 	__(push $nil_value)
@@ -2904,7 +2912,7 @@
 	__(push %arg_reg)
 	__(push %imm0)	/* keyword vector length */
 	__(movd %mm1,%imm0)
-	__(movl $0,%rcontext:tcr.unboxed1) /* count of unknown keywords seen */
+	__(movl $0,rcontext(tcr.unboxed1)) /* count of unknown keywords seen */
 local_label(match_keys_loop):
 	__(movl 4(%esp),%arg_reg)
 	__(compare_reg_to_nil(%arg_reg))
@@ -2924,10 +2932,10 @@
 	__(cmpl %temp1,(%esp))	/* compare index, keyword vector length */
 	__(jne local_label(match_loop))
 	/* No match.  Note unknown keyword, check for :allow-other-keys   */
-	__(addl $1,%rcontext:tcr.unboxed1)
+	__(addl $1,rcontext(tcr.unboxed1))
 	__(cmpl $nrs.kallowotherkeys,%temp0)
 	__(jne local_label(match_keys_loop))
-	__(subl $1,%rcontext:tcr.unboxed1)
+	__(subl $1,rcontext(tcr.unboxed1))
 	__(btsl $seen_aok_bit,%imm0)
 	__(jc local_label(match_keys_loop))
 	/* First time we've seen :allow-other-keys.  Maybe set aok_bit.   */
@@ -2939,7 +2947,7 @@
 local_label(matched):
 	__(negl %temp1)
 	__(shll $1,%temp1)
-	__(addl %rcontext:tcr.unboxed0,%temp1)
+	__(addl rcontext(tcr.unboxed0),%temp1)
 	__(cmpl $nil_value,-node_size*2(%temp1))
 	__(jne local_label(match_keys_loop))
 	__(movl %arg_z,-node_size(%temp1))
@@ -2953,14 +2961,14 @@
 	__(btsl $aok_bit,%imm0)
 	__(jmp local_label(match_keys_loop))
 local_label(matched_keys):	=

-	__(cmpl $0,%rcontext:tcr.unboxed1)	/* any unknown keys seen? */
+	__(cmpl $0,rcontext(tcr.unboxed1))	/* any unknown keys seen? */
 	__(je local_label(keys_ok))
 	__(btl $aok_bit,%imm0)
 	__(jnc local_label(badkeys))
 local_label(keys_ok):
 	__(addl $(3*node_size),%esp)
 	__(pop %ra0)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(jmp *%ra0)
 	/* Some unrecognized keywords.  Complain generically about   */
 	/* invalid keywords.   */
@@ -2977,23 +2985,23 @@
 	__(movl $XCALLNOMATCH,%arg_y)
 local_label(destructure_error):
 	__(movd %mm0,%esp)		/* undo everything done to the stack */
-	__(movl %rcontext:tcr.save0,%arg_z)	/* %whole_reg */
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%arg_z)	/* %whole_reg */
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(set_nargs(2))
 	__(push %ra0)
 	__(jmp _SPksignalerr)
 _endfn(C(destbind1))
 =

 _spentry(macro_bind)
-	__(movl %arg_reg,%rcontext:tcr.save0)	/* %whole_reg */
+	__(movl %arg_reg,rcontext(tcr.save0))	/* %whole_reg */
 	__(extract_fulltag(%arg_reg,%imm0))
 	__(cmpb $fulltag_cons,%imm0_b)
 	__(jne 1f)
 	__(_cdr(%arg_reg,%arg_reg))
 	__(jmp C(destbind1))
 1:	__(movl $XCALLNOMATCH,%arg_y)
-	__(movl %rcontext:tcr.save0,%arg_z)
-	__(movss %fpzero,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%arg_z)
+	__(movss %fpzero,rcontext(tcr.save0))
 	__(set_nargs(2))
         __(push %ra0)        =

 	__(jmp _SPksignalerr)
@@ -3001,12 +3009,12 @@
 _endsubp(macro_bind)
 =

 _spentry(destructuring_bind)
-	__(movl %arg_reg,%rcontext:tcr.save0)	/* %whole_reg */
+	__(movl %arg_reg,rcontext(tcr.save0))	/* %whole_reg */
 	__(jmp C(destbind1))
 _endsubp(destructuring_bind)
 =

 _spentry(destructuring_bind_inner)
-	__(movl %arg_z,%rcontext:tcr.save0)	/* %whole_reg */
+	__(movl %arg_z,rcontext(tcr.save0))	/* %whole_reg */
 	__(jmp C(destbind1))
 _endsubp(destructuring_bind_inner)
 =

@@ -3051,14 +3059,14 @@
 _endsubp(mvslide)
 =

 _spentry(save_values)
-	__(movd %rcontext:tcr.save_tsp,%mm1)
+	__(movd rcontext(tcr.save_tsp),%mm1)
 /* common exit: nargs =3D values in this set, mm1 =3D ptr to tsp before ca=
ll to save_values   */
 local_label(save_values_to_tsp):
-	__(movl %ra0,%rcontext:tcr.save0)
-	__(movl %rcontext:tcr.save_tsp,%temp0)
+	__(movl %ra0,rcontext(tcr.save0))
+	__(movl rcontext(tcr.save_tsp),%temp0)
 	__(dnode_align(%nargs,tsp_frame.fixed_overhead+(2*node_size),%imm0)) /* c=
ount, link   */
 	__(TSP_Alloc_Var(%imm0,%arg_z))
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movd %mm1,(%imm0))
 	__(movl %nargs,(%arg_z))
 	__(movl %temp0,node_size(%arg_z))
@@ -3073,8 +3081,8 @@
 	__(movl %arg_z,(%arg_y))
 2:	__(jne 1b)
 	__(addl %nargs,%esp)
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movl $0,%rcontext:tcr.save0)
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)
 _endsubp(save_values)
 =

@@ -3088,7 +3096,7 @@
 _spentry(add_values)
 	/* do we need to preserve imm0? */
 	__(test %nargs,%nargs)
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movl (%imm0),%imm0)
 	__(movd %imm0,%mm1)	/* for the benefit of save_values_to_tsp */
 	__(jne local_label(save_values_to_tsp))
@@ -3098,12 +3106,12 @@
 /* push the values in the value set atop the sp, incrementing nargs.  */
 /* Discard the tsp frame; leave values atop the sp.   */
 _spentry(recover_values)
-	__(movl %ra0,%rcontext:tcr.save0) /* temp0 */
+	__(movl %ra0,rcontext(tcr.save0)) /* temp0 */
 	__(movd %nargs,%mm0)		  /* temp1 */
 	/* First, walk the segments reversing the pointer to previous  */
 	/* segment pointers Can tell the end because that previous  */
 	/* segment pointer is the prev tsp pointer   */
-	__(movl %rcontext:tcr.save_tsp,%temp1)
+	__(movl rcontext(tcr.save_tsp),%temp1)
 	__(movl %temp1,%temp0)	/* current segment   */
 	__(movl %temp1,%arg_y)	/* last segment   */
 	__(movl tsp_frame.backlink(%temp1),%arg_z)	/* previous tsp   */
@@ -3133,10 +3141,10 @@
 	__(movl tsp_frame.data_offset+node_size(%arg_y),%arg_y)
 	__(jne local_label(pushloop))
 	__(movl (%arg_z),%arg_z)
-        __(movl %arg_z,%rcontext:tcr.save_tsp)
-        __(movl %arg_z,%rcontext:tcr.next_tsp)
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movl $0,%rcontext:tcr.save0)
+        __(movl %arg_z,rcontext(tcr.save_tsp))
+        __(movl %arg_z,rcontext(tcr.next_tsp))
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)		=

 _endsubp(recover_values)
 =

@@ -3146,13 +3154,13 @@
 /* that no other arguments have been pushed) on entry.   */
 =

 _spentry(recover_values_for_mvcall)
-	__(movl %ra0,%rcontext:tcr.save0) /* temp0 */
+	__(movl %ra0,rcontext(tcr.save0)) /* temp0 */
 	/* First, walk the segments reversing the pointer to previous  */
 	/* segment pointers Can tell the end because that previous  */
 	/* segment pointer is the prev tsp pointer   */
 	__(xorl %nargs,%nargs)
 	__(push %nargs)
-	__(movl %rcontext:tcr.save_tsp,%temp1)
+	__(movl rcontext(tcr.save_tsp),%temp1)
 	__(movl %temp1,%temp0)	/* current segment   */
 	__(movl %temp1,%arg_y)	/* last segment   */
 	__(movl tsp_frame.backlink(%temp1),%arg_z)	/* previous tsp   */
@@ -3189,10 +3197,10 @@
 	__(movl tsp_frame.data_offset+node_size(%arg_y),%arg_y)
 	__(jne local_label(pushloop_mvcall))
 	__(movl (%arg_z),%arg_z)
-        __(movl %arg_z,%rcontext:tcr.save_tsp)
-        __(movl %arg_z,%rcontext:tcr.next_tsp)
-	__(movl %rcontext:tcr.save0,%ra0)
-	__(movl $0,%rcontext:tcr.save0)
+        __(movl %arg_z,rcontext(tcr.save_tsp))
+        __(movl %arg_z,rcontext(tcr.next_tsp))
+	__(movl rcontext(tcr.save0),%ra0)
+	__(movl $0,rcontext(tcr.save0))
 	__(jmp *%ra0)		=

 _endsubp(recover_values_for_mvcall)
 =

@@ -3329,8 +3337,8 @@
 /* unbound_marker), arg_y =3D symbol */
 _spentry(specref)
 	__(movl symbol.binding_index(%arg_z),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(movl %arg_z,%arg_y)
 	__(jae 7f)
 	__(movl (%temp1,%imm0),%arg_z)
@@ -3343,8 +3351,8 @@
 /* arg_y =3D special symbol, arg_z =3D new value. */
 _spentry(specset)
 	__(movl symbol.binding_index(%arg_y),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(jae 1f)
 	__(movl (%temp1,%imm0),%temp0)
 	__(cmpb $no_thread_local_binding_marker,%temp0_b)
@@ -3359,9 +3367,9 @@
 _spentry(specrefcheck)
 	__(mov %arg_z,%arg_y)
 	__(movl symbol.binding_index(%arg_z),%imm0)
-	__(cmp %rcontext:tcr.tlb_limit,%imm0)
+	__(cmp rcontext(tcr.tlb_limit),%imm0)
 	__(jae 7f)
-	__(movl %rcontext:tcr.tlb_pointer,%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%temp1)
 	__(movl (%temp1,%imm0),%arg_z)
 	__(cmpb $no_thread_local_binding_marker,%arg_z_b)
 	__(jne 8f)
@@ -3455,13 +3463,13 @@
 /* don't smash arg_z */
 _spentry(unbind)
 	__(push %arg_z)
-	__(movl %rcontext:tcr.db_link,%imm0)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_z)
+	__(movl rcontext(tcr.db_link),%imm0)
+	__(movl rcontext(tcr.tlb_pointer),%arg_z)
 	__(movl binding.sym(%imm0),%temp0)
 	__(movl binding.val(%imm0),%arg_y)
 	__(movl binding.link(%imm0),%imm0)
 	__(movl %arg_y,(%arg_z,%temp0))
-	__(movl %imm0,%rcontext:tcr.db_link)
+	__(movl %imm0,rcontext(tcr.db_link))
 	__(pop %arg_z)
 	__(ret)
 _endsubp(unbind)
@@ -3470,8 +3478,8 @@
 	__(push %temp1)		/* preserve temp1/nargs */
 	__(push %arg_z)
 	__(xorl %arg_z,%arg_z)
-	__(movl %rcontext:tcr.db_link,%temp1)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_z)
+	__(movl rcontext(tcr.db_link),%temp1)
+	__(movl rcontext(tcr.tlb_pointer),%arg_z)
 1:		=

 	__(movl binding.sym(%temp1),%temp0)
 	__(movl binding.val(%temp1),%arg_y)
@@ -3479,7 +3487,7 @@
 	__(movl %arg_y,(%arg_z,%temp0))
 	__(decl %imm0)
 	__(jne 1b)
-	__(movl %temp1,%rcontext:tcr.db_link)
+	__(movl %temp1,rcontext(tcr.db_link))
 	__(pop %arg_z)
 	__(pop %temp1)
 	__(ret)	=

@@ -3491,8 +3499,8 @@
 	__(push %temp0)
 	__(push %temp1)
 	=

-	__(movl %rcontext:tcr.db_link,%temp0)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_z)
+	__(movl rcontext(tcr.db_link),%temp0)
+	__(movl rcontext(tcr.tlb_pointer),%arg_z)
 1:
 	__(movl binding.sym(%temp0),%temp1)
 	__(movl binding.val(%temp0),%arg_y)
@@ -3500,7 +3508,7 @@
 	__(movl %arg_y,(%arg_z,%temp1))
 	__(cmpl %temp0,%imm0)
 	__(jne 1b)
-	__(movl %temp0,%rcontext:tcr.db_link)
+	__(movl %temp0,rcontext(tcr.db_link))
 =

 	__(pop %temp1)
 	__(pop %temp0)
@@ -3510,12 +3518,12 @@
 _endsubp(unbind_to)
 =

 _spentry(bind_interrupt_level_0)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_y)
+	__(movl rcontext(tcr.tlb_pointer),%arg_y)
 	__(cmpl $0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl $0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(js 1f)
 0:	__(jmp *%ra0)
@@ -3527,11 +3535,11 @@
 /* Bind CCL::*INTERRUPT-LEVEL* to the fixnum -1.  (This has the effect  */
 /* of disabling interrupts.)   */
 _spentry(bind_interrupt_level_m1)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_y)
+	__(movl rcontext(tcr.tlb_pointer),%arg_y)
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(jmp *%ra0)
 _endsubp(bind_interrupt_level_m1)
@@ -3541,11 +3549,11 @@
 _spentry(bind_interrupt_level)
 	__(test %arg_z,%arg_z)
 	__(jz _SPbind_interrupt_level_0)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_y)
+	__(movl rcontext(tcr.tlb_pointer),%arg_y)
 	__(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(push $INTERRUPT_LEVEL_BINDING_INDEX)
-	__(push %rcontext:tcr.db_link)
-	__(movl %esp,%rcontext:tcr.db_link)
+	__(push rcontext(tcr.db_link))
+	__(movl %esp,rcontext(tcr.db_link))
 	__(movl %arg_z,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
 	__(jmp *%ra0)
 _endsubp(bind_interrupt_level)
@@ -3553,14 +3561,14 @@
 /* Unbind CCL::*INTERRUPT-LEVEL*.  If the value changes from negative to */
 /* non-negative, check for pending interrupts. */
 _spentry(unbind_interrupt_level)
-	__(movl %rcontext:tcr.tlb_pointer,%arg_y)
+	__(movl rcontext(tcr.tlb_pointer),%arg_y)
 	__(movl INTERRUPT_LEVEL_BINDING_INDEX(%arg_y),%imm0)
 	__(test %imm0,%imm0)
-	__(movl %rcontext:tcr.db_link,%imm0)
+	__(movl rcontext(tcr.db_link),%imm0)
 	__(movl binding.val(%imm0),%temp0)
 	__(movl binding.link(%imm0),%imm0)
 	__(movl %temp0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
-	__(movl %imm0,%rcontext:tcr.db_link)
+	__(movl %imm0,rcontext(tcr.db_link))
 	__(js 1f)
 0:	__(repret)
 1:	__(test %temp0,%temp0)
@@ -3570,7 +3578,7 @@
 _endsubp(unbind_interrupt_level)
 =

 _spentry(progvrestore)
-	__(movl %rcontext:tcr.save_tsp,%imm0)
+	__(movl rcontext(tcr.save_tsp),%imm0)
 	__(movl tsp_frame.backlink(%imm0),%imm0) /* ignore .SPnthrowXXX values fr=
ame   */
 	__(movl tsp_frame.data_offset(%imm0),%imm0)
 	__(shrl $fixnumshift,%imm0)
@@ -4002,13 +4010,13 @@
 	__(push %arg_y)
 	__(push %arg_z)
 	__(push %fn)
-	__(movl %esp,%rcontext:tcr.save_vsp)
-	__(movl %ebp,%rcontext:tcr.save_ebp)
-	__(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
-	__(movl %rcontext:tcr.foreign_sp,%esp)
-	__(stmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(movl %esp,rcontext(tcr.save_vsp))
+	__(movl %ebp,rcontext(tcr.save_ebp))
+	__(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
+	__(movl rcontext(tcr.foreign_sp),%esp)
+	__(stmxcsr rcontext(tcr.lisp_mxcsr))
 	__(emms)
-	__(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+	__(ldmxcsr rcontext(tcr.foreign_mxcsr))
 	__(movl (%esp),%ebp)
 LocalLabelPrefix[]ffcall_setup:
 	__(addl $node_size,%esp)
@@ -4016,7 +4024,7 @@
 	__(call *%eax)
 LocalLabelPrefix[]ffcall_call_end:
 	__(movl %ebp,%esp)
-	__(movl %esp,%rcontext:tcr.foreign_sp)
+	__(movl %esp,rcontext(tcr.foreign_sp))
 	__(clr %arg_z)
 	__(clr %arg_y)
 	__(clr %temp1)
@@ -4025,18 +4033,18 @@
 	__(pxor %fpzero,%fpzero)
 	__ifdef([DARWIN])
 	/* Darwin's math library seems to cause spurious FP exceptions. */
-	__(movl %arg_z,%rcontext:tcr.ffi_exception)
+	__(movl %arg_z,rcontext(tcr.ffi_exception))
 	__else
-	__(stmxcsr %rcontext:tcr.ffi_exception)
+	__(stmxcsr rcontext(tcr.ffi_exception))
 	__endif
-	__(movl %rcontext:tcr.save_vsp,%esp)
-	__(movl %rcontext:tcr.save_ebp,%ebp)
-	__(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
+	__(movl rcontext(tcr.save_vsp),%esp)
+	__(movl rcontext(tcr.save_ebp),%ebp)
+	__(movl $TCR_STATE_LISP,rcontext(tcr.valence))
 	__(pop %fn)
 	__(pop %arg_z)
 	__(pop %arg_y)
 	__(pop %temp1)
-	__(ldmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(check_pending_interrupt(%temp0))
 	__(pop %temp0)
 	__(leave)
@@ -4124,35 +4132,35 @@
 	__(call *%eax)
 	__(addl $node_size,%esp)
 	/* linear TCR addr now in %eax */
-	__(movw tcr.ldt_selector(%eax), %rcontext)
-	__(push %rcontext:tcr.foreign_sp)
-	__(movl %esp,%rcontext:tcr.foreign_sp)
+	__(movw tcr.ldt_selector(%eax), %rcontext_reg)
+	__(push rcontext(tcr.foreign_sp))
+	__(movl %esp,rcontext(tcr.foreign_sp))
 	__(clr %arg_z)
 	/* arg_y contains callback index */
 	__(clr %temp1)
 	__(clr %temp0)
 	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__(movl %rcontext:tcr.save_vsp,%esp)
+	__(movl rcontext(tcr.save_vsp),%esp)
 	__(movl %ebp,%arg_z)
-	__(movl %rcontext:tcr.save_ebp,%ebp)
-	__(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
-	__(stmxcsr %rcontext:tcr.foreign_mxcsr)
-	__(andb $~mxcsr_all_exceptions,%rcontext:tcr.foreign_mxcsr)
-	__(ldmxcsr %rcontext:tcr.lisp_mxcsr)
+	__(movl rcontext(tcr.save_ebp),%ebp)
+	__(movl $TCR_STATE_LISP,rcontext(tcr.valence))
+	__(stmxcsr rcontext(tcr.foreign_mxcsr))
+	__(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
+	__(ldmxcsr rcontext(tcr.lisp_mxcsr))
 	__(movl $nrs.callbacks,%fname)
 	__(push $local_label(back_from_callback))
 	__(set_nargs(2))
 	__(jump_fname())
 __(tra(local_label(back_from_callback)))
-	__(movl %esp,%rcontext:tcr.save_vsp)
-	__(movl %ebp,%rcontext:tcr.save_ebp)
-	__(movl %rcontext:tcr.foreign_sp,%esp)
-	__(stmxcsr %rcontext:tcr.lisp_mxcsr)
-	__(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
+	__(movl %esp,rcontext(tcr.save_vsp))
+	__(movl %ebp,rcontext(tcr.save_ebp))
+	__(movl rcontext(tcr.foreign_sp),%esp)
+	__(stmxcsr rcontext(tcr.lisp_mxcsr))
+	__(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
 	__(emms)
-	__(pop %rcontext:tcr.foreign_sp)
-        __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
+	__(pop rcontext(tcr.foreign_sp))
+        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
 	__(pop %ebp)
 	__(pop %ebx)
 	__(pop %esi)
@@ -4253,7 +4261,7 @@
 	__(cmpl $nargregs<<fixnumshift,%temp0)
 	__(jna local_label(regs_only))	/* either: 1 arg, 1 inherited, or */
 					/* no args, 2 inherited */
-	__(pop %rcontext:tcr.save0)		/* save return address */
+	__(pop rcontext(tcr.save0))		/* save return address */
 	__(cmpl $nargregs<<fixnumshift,%nargs)
 	__(jna local_label(no_insert))
 =

@@ -4269,8 +4277,8 @@
 	__(jne local_label(push_nil_loop))
 =

 /* Need to use arg regs as temporaries.  Stash them in the spill area. */
-	__(movl %arg_y,%rcontext:tcr.save1)
-	__(movl %arg_z,%rcontext:tcr.save2)
+	__(movl %arg_y,rcontext(tcr.save1))
+	__(movl %arg_z,rcontext(tcr.save2))
 =

 	__(leal (%esp,%imm0),%temp0)	/* start of already-pushed args */
 	__(leal -nargregs<<fixnumshift(%nargs),%arg_y) /* args pushed */
@@ -4296,8 +4304,8 @@
 	__(jne local_label(insert_loop))
 =

 	/* Recover arg regs, saved earlier */
-	__(movl %rcontext:tcr.save1,%arg_y)
-	__(movl %rcontext:tcr.save2,%arg_z)
+	__(movl rcontext(tcr.save1),%arg_y)
+	__(movl rcontext(tcr.save2),%arg_z)
 	__(jmp local_label(go))
 	=

 /* Here if no args were pushed by the caller. */
@@ -4348,8 +4356,8 @@
 =

 local_label(go):
 	__(movl misc_data_offset+(6*node_size)(%fn),%fn)
-	__(push %rcontext:tcr.save0)	/* restore return addr */
-	__(movapd %fpzero,%rcontext:tcr.save0)	/* clear out spill area */
+	__(push rcontext(tcr.save0))	/* restore return addr */
+	__(movapd %fpzero,rcontext(tcr.save0))	/* clear out spill area */
 	__(jmp *%fn)
 local_label(regs_only):
 	__(lea 7<<fixnumshift(%imm0),%temp0)



More information about the Openmcl-cvs-notifications mailing list