Changeset 10092


Ignore:
Timestamp:
Jul 18, 2008, 7:20:03 PM (11 years ago)
Author:
rme
Message:

New file.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-spentry32.s

    r10076 r10092  
    10211021        __(push %arg_z)
    10221022        __(push %fn)
    1023         __(movl %esp,%rcontext:tcr.save_vsp)
    1024         __(movl %ebp,%rcontext:tcr.save_ebp)
    1025         __(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
    1026         __(movl %rcontext:tcr.foreign_sp,%esp)
     1023        __(movl %esp,rcontext(tcr.save_vsp))
     1024        __(movl %ebp,rcontext(tcr.save_ebp))
     1025        __(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
     1026        __(movl rcontext(tcr.foreign_sp),%esp)
    10271027        __(emms)
    10281028        __(pop %ebp)            /* backlink */
     
    103710370:     
    10381038        __(movl %ebp,%esp)
    1039         __(movl %esp,%rcontext:tcr.foreign_sp)
    1040         __(zero_node_regs)
     1039        __(movl %esp,rcontext(tcr.foreign_sp))
     1040        __(clr %arg_z)
     1041        __(clr %arg_y)
     1042        __(clr %temp1)
     1043        __(clr %temp0)
     1044        __(clr %fn)
    10411045        __(pxor %fpzero,%fpzero)
    1042         __(movl %rcontext:tcr.save_vsp,%esp)
    1043         __(movl %rcontext:tcr.save_ebp,%ebp)
    1044         __(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
     1046        __(movl rcontext(tcr.save_vsp),%esp)
     1047        __(movl rcontext(tcr.save_ebp),%ebp)
     1048        __(movl $TCR_STATE_LISP,rcontext(tcr.valence))
    10451049        __(pop %fn)
    10461050        __(pop %arg_z)
     
    10641068        __(push %arg_z)
    10651069        __(push %fn)
    1066         __(movl %esp,%rcontext:tcr.save_vsp)
    1067         __(movl %ebp,%rcontext:tcr.save_ebp)
    1068         __(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
    1069         __(movl %rcontext:tcr.foreign_sp,%esp)
     1070        __(movl %esp,rcontext(tcr.save_vsp))
     1071        __(movl %ebp,rcontext(tcr.save_ebp))
     1072        __(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
     1073        __(movl rcontext(tcr.foreign_sp),%esp)
    10701074        __(emms)
    10711075        __(pop %ebp)            /* backlink */
     
    10841088        __(movq (%esp),%mm0)
    10851089        __(movl %ebp,%esp)
    1086         __(movl %esp,%rcontext:tcr.foreign_sp)
    1087         __(zero_node_regs)
     1090        __(movl %esp,rcontext(tcr.foreign_sp))
     1091        __(clr %arg_z)
     1092        __(clr %arg_y)
     1093        __(clr %temp1)
     1094        __(clr %temp0)
     1095        __(clr %fn)
    10881096        __(pxor %fpzero,%fpzero)
    1089         __(movl %rcontext:tcr.save_vsp,%esp)
    1090         __(movl %rcontext:tcr.save_ebp,%ebp)
    1091         __(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
     1097        __(movl rcontext(tcr.save_vsp),%esp)
     1098        __(movl rcontext(tcr.save_ebp),%ebp)
     1099        __(movl $TCR_STATE_LISP,rcontext(tcr.valence))
    10921100        __(pop %fn)
    10931101        __(pop %arg_z)
     
    11151123/*   double binding of *interrupt-level* out-of-line */
    11161124_spentry(nmkunwind)
    1117         __(movl %rcontext:tcr.tlb_pointer,%arg_z)
     1125        __(movl rcontext(tcr.tlb_pointer),%arg_z)
    11181126        __(movl INTERRUPT_LEVEL_BINDING_INDEX(%arg_z),%arg_y)
    11191127        __(push %arg_y)
    11201128        __(push $INTERRUPT_LEVEL_BINDING_INDEX)
    1121         __(push %rcontext:tcr.db_link)
    1122         __(movl %esp,%rcontext:tcr.db_link)
     1129        __(push rcontext(tcr.db_link))
     1130        __(movl %esp,rcontext(tcr.db_link))
    11231131        __(movl $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%arg_z))
    11241132        __(movl $undefined,%arg_z)
     
    11351143
    11361144_spentry(throw)
    1137         __(movl %rcontext:tcr.catch_top,%imm0)
     1145        __(movl rcontext(tcr.catch_top),%imm0)
    11381146        __(movl (%esp,%nargs),%arg_y)   /* arg_y = tag   */
    11391147        __(movd %nargs,%mm0)
     
    11661174        __(jmp _SPnthrow1value)
    11671175__(tra(local_label(_threw_one_value)))
    1168         __(movl %rcontext:tcr.catch_top,%arg_y)
     1176        __(movl rcontext(tcr.catch_top),%arg_y)
    11691177        __(movl catch_frame.db_link(%arg_y),%imm0)
    1170         __(cmpl %imm0,%rcontext:tcr.db_link)
     1178        __(cmpl %imm0,rcontext(tcr.db_link))
    11711179        __(jz local_label(_threw_one_value_dont_unbind))
    11721180        __(push $local_label(_threw_one_value_dont_unbind))
     
    11751183        __(movl catch_frame.ebp(%arg_y),%ebp)
    11761184        __(movl catch_frame.foreign_sp(%arg_y),%imm0)
    1177         __(movl %imm0,%rcontext:tcr.foreign_sp)
     1185        __(movl %imm0,rcontext(tcr.foreign_sp))
    11781186        __(movl catch_frame.xframe(%arg_y),%imm0)
    1179         __(movl %imm0,%rcontext:tcr.xframe)
     1187        __(movl %imm0,rcontext(tcr.xframe))
    11801188        __(movl catch_frame.esp(%arg_y),%esp)
    11811189        __(movl catch_frame.link(%arg_y),%imm0)
    1182         __(movl %imm0,%rcontext:tcr.catch_top)
     1190        __(movl %imm0,rcontext(tcr.catch_top))
    11831191        __(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%arg_y),%imm0)
    11841192        __(movl (%imm0),%imm0)
    1185         __(movl %imm0,%rcontext:tcr.save_tsp)
    1186         __(movl %imm0,%rcontext:tcr.next_tsp)
     1193        __(movl %imm0,rcontext(tcr.save_tsp))
     1194        __(movl %imm0,rcontext(tcr.next_tsp))
    11871195        __(movl catch_frame.pc(%arg_y),%ra0)
    11881196        __(jmp *%ra0)
     
    11911199        __(jmp _SPnthrowvalues)
    11921200__(tra(local_label(_threw_multiple)))
    1193         __(movl %rcontext:tcr.catch_top,%arg_y)
     1201        __(movl rcontext(tcr.catch_top),%arg_y)
    11941202        __(movl catch_frame.db_link(%arg_y),%imm0)
    1195         __(cmpl %imm0,%rcontext:tcr.db_link)
     1203        __(cmpl %imm0,rcontext(tcr.db_link))
    11961204        __(je local_label(_threw_multiple_dont_unbind))
    11971205        __(push $local_label(_threw_multiple_dont_unbind))
     
    12141222        __(movl catch_frame.ebp(%arg_y),%ebp)
    12151223        __(movl catch_frame.foreign_sp(%arg_y),%imm0)
    1216         __(movl %imm0,%rcontext:tcr.foreign_sp)       
     1224        __(movl %imm0,rcontext(tcr.foreign_sp))       
    12171225        __(movl catch_frame.xframe(%arg_y),%imm0)
    1218         __(movl %imm0,%rcontext:tcr.xframe)
     1226        __(movl %imm0,rcontext(tcr.xframe))
    12191227        __(movl %temp1,%esp)
    12201228        __(movl catch_frame.link(%arg_y),%temp1)
    1221         __(movl %temp1,%rcontext:tcr.catch_top)
     1229        __(movl %temp1,rcontext(tcr.catch_top))
    12221230        __(movd %mm0,%nargs)
    12231231        __(lea -(tsp_frame.fixed_overhead+fulltag_misc)(%arg_y),%imm0)
    12241232        __(movl catch_frame.pc(%arg_y),%ra0)
    12251233        __(movl (%imm0),%imm0)
    1226         __(movl %imm0,%rcontext:tcr.save_tsp)
    1227         __(movl %imm0,%rcontext:tcr.next_tsp)
     1234        __(movl %imm0,rcontext(tcr.save_tsp))
     1235        __(movl %imm0,rcontext(tcr.next_tsp))
    12281236        __(jmp *%ra0)
    12291237_endsubp(throw)
     
    12311239        /* This takes N multiple values atop the vstack.   */
    12321240_spentry(nthrowvalues)
    1233         __(movb $1,%rcontext:tcr.unwinding)
    1234         __(movl %ra0,%rcontext:tcr.save0) /* %ra0 (aka %temp0) to spill area */
     1241        __(movb $1,rcontext(tcr.unwinding))
     1242        __(movl %ra0,rcontext(tcr.save0)) /* %ra0 (aka %temp0) to spill area */
    12351243local_label(_nthrowv_nextframe):
    12361244        __(subl $fixnumone,%imm0)
    12371245        __(js local_label(_nthrowv_done))
    12381246        __(movd %imm0,%mm1)
    1239         __(movl %rcontext:tcr.catch_top,%temp0)
     1247        __(movl rcontext(tcr.catch_top),%temp0)
    12401248        __(movl catch_frame.link(%temp0),%imm0)
    1241         __(movl %imm0,%rcontext:tcr.catch_top)
     1249        __(movl %imm0,rcontext(tcr.catch_top))
    12421250        __(movl catch_frame.db_link(%temp0),%imm0)
    1243         __(cmpl %imm0,%rcontext:tcr.db_link)
     1251        __(cmpl %imm0,rcontext(tcr.db_link))
    12441252        __(jz local_label(_nthrowv_dont_unbind))
    12451253        __(push %temp1)
     
    12581266        __(jne local_label(_nthrowv_skip))
    12591267        __(movl catch_frame.xframe(%temp0),%arg_y)
    1260         __(movl %arg_y,%rcontext:tcr.xframe)
     1268        __(movl %arg_y,rcontext(tcr.xframe))
    12611269        __(lea (%esp,%nargs),%arg_y)
    12621270        __(movl catch_frame.esp(%temp0),%arg_z)
     
    12731281        __(movd %mm2,%nargs)
    12741282        __(movl catch_frame.xframe(%temp0),%arg_y)
    1275         __(movl %arg_y,%rcontext:tcr.xframe)
     1283        __(movl %arg_y,rcontext(tcr.xframe))
    12761284        __(movl %arg_z,%esp)
    12771285        __(movl catch_frame.ebp(%temp0),%ebp)
    12781286        __(movd catch_frame.foreign_sp(%temp0),%stack_temp)
    1279         __(movd %stack_temp,%rcontext:tcr.foreign_sp)       
     1287        __(movd %stack_temp,rcontext(tcr.foreign_sp))       
    12801288local_label(_nthrowv_skip):     
    12811289        __(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm0)
    1282         __(movl %imm0,%rcontext:tcr.save_tsp)
    1283         __(movl %imm0,%rcontext:tcr.next_tsp)
     1290        __(movl %imm0,rcontext(tcr.save_tsp))
     1291        __(movl %imm0,rcontext(tcr.next_tsp))
    12841292        __(movd %mm1,%imm0)
    12851293        __(jmp local_label(_nthrowv_nextframe))
     
    12921300        __(movl catch_frame.ebp(%temp0),%ebp)
    12931301        __(movd catch_frame.xframe(%temp0),%stack_temp)
    1294         __(movd %stack_temp,%rcontext:tcr.xframe)
     1302        __(movd %stack_temp,rcontext(tcr.xframe))
    12951303        __(movl catch_frame.esp(%temp0),%arg_z)
    12961304        __(movd catch_frame.foreign_sp(%temp0),%stack_temp)
    1297         __(movd %stack_temp,%rcontext:tcr.foreign_sp)       
     1305        __(movd %stack_temp,rcontext(tcr.foreign_sp))       
    12981306        /* Discard the catch frame, so we can build a temp frame   */
    12991307        __(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp0),%imm0)
    1300         __(movl %imm0,%rcontext:tcr.save_tsp)
    1301         __(movl %imm0,%rcontext:tcr.next_tsp)
     1308        __(movl %imm0,rcontext(tcr.save_tsp))
     1309        __(movl %imm0,rcontext(tcr.next_tsp))
    13021310        __(movd %temp1,%mm2) /* save %nargs */
    13031311        /* tsp overhead, nargs, throw count, ra0   */
     
    13081316
    13091317        __(movl %nargs,(%imm0))
    1310         __(movl %rcontext:tcr.save0,%ra0)
     1318        __(movl rcontext(tcr.save0),%ra0)
    13111319        __(movl %ra0,node_size(%imm0))
    13121320        __(movd %mm1,node_size*2(%imm0))
     
    13251333/* Ready to call cleanup code. set up tra, jmp to %xfn   */
    13261334        __(push $local_label(_nthrowv_called_cleanup))
    1327         __(movb $0,%rcontext:tcr.unwinding)
     1335        __(movb $0,rcontext(tcr.unwinding))
    13281336        __(jmp *%xfn)
    13291337__(tra(local_label(_nthrowv_called_cleanup)))
    13301338
    1331         __(movb $1,%rcontext:tcr.unwinding)
    1332         __(movl %rcontext:tcr.save_tsp,%imm0)
     1339        __(movb $1,rcontext(tcr.unwinding))
     1340        __(movl rcontext(tcr.save_tsp),%imm0)
    13331341        __(movl tsp_frame.data_offset+(0*node_size)(%imm0),%nargs)
    13341342        __(movl tsp_frame.data_offset+(1*node_size)(%imm0),%ra0)
    1335         __(movl %ra0,%rcontext:tcr.save0)
     1343        __(movl %ra0,rcontext(tcr.save0))
    13361344        __(movd tsp_frame.data_offset+(2*node_size)(%imm0),%mm1)
    13371345        __(movd %nargs,%mm2)
     
    13451353        __(jns local_label(_nthrowv_tpoploop))
    13461354        __(movd %mm2,%nargs)
    1347         __(movl %rcontext:tcr.save_tsp,%imm0)
     1355        __(movl rcontext(tcr.save_tsp),%imm0)
    13481356        __(movl (%imm0),%imm0)
    1349         __(movl %imm0,%rcontext:tcr.save_tsp)
    1350         __(movl %imm0,%rcontext:tcr.next_tsp)
     1357        __(movl %imm0,rcontext(tcr.save_tsp))
     1358        __(movl %imm0,rcontext(tcr.next_tsp))
    13511359        __(movd %mm1,%imm0)
    13521360        __(jmp local_label(_nthrowv_nextframe))
    13531361local_label(_nthrowv_done):
    1354         __(movb $0,%rcontext:tcr.unwinding)
     1362        __(movb $0,rcontext(tcr.unwinding))
    13551363        __(check_pending_interrupt(%imm0))
    13561364local_label(_nthrowv_return):
    1357         __(movl %rcontext:tcr.save0,%ra0)
    1358         __(movss %fpzero,%rcontext:tcr.save0)
     1365        __(movl rcontext(tcr.save0),%ra0)
     1366        __(movss %fpzero,rcontext(tcr.save0))
    13591367        __(jmp *%ra0)   
    13601368_endsubp(nthrowvalues)
     
    13651373
    13661374_spentry(nthrow1value)
    1367         __(movb $1,%rcontext:tcr.unwinding)
     1375        __(movb $1,rcontext(tcr.unwinding))
    13681376local_label(_nthrow1v_nextframe):
    13691377        __(subl $fixnumone,%imm0)
    13701378        __(js local_label(_nthrow1v_done))
    13711379        __(movd %imm0,%mm0)
    1372         __(movl %rcontext:tcr.catch_top,%temp1)
     1380        __(movl rcontext(tcr.catch_top),%temp1)
    13731381        __(movl catch_frame.link(%temp1),%imm0)
    1374         __(movl %imm0,%rcontext:tcr.catch_top)
     1382        __(movl %imm0,rcontext(tcr.catch_top))
    13751383        __(movl catch_frame.db_link(%temp1),%imm0)
    1376         __(cmpl %imm0,%rcontext:tcr.db_link)
     1384        __(cmpl %imm0,rcontext(tcr.db_link))
    13771385        __(jz local_label(_nthrow1v_dont_unbind))
    13781386        __(push %temp1)
     
    13931401        __(jne local_label(_nthrow1v_skip))
    13941402        __(movl catch_frame.xframe(%temp1),%arg_y)
    1395         __(movl %arg_y,%rcontext:tcr.xframe)
     1403        __(movl %arg_y,rcontext(tcr.xframe))
    13961404        __(movl catch_frame.esp(%temp1),%esp)
    13971405        __(movl catch_frame.ebp(%temp1),%ebp)
    13981406        __(movd catch_frame.foreign_sp(%temp1),%stack_temp)
    1399         __(movd %stack_temp,%rcontext:tcr.foreign_sp)
     1407        __(movd %stack_temp,rcontext(tcr.foreign_sp))
    14001408local_label(_nthrow1v_skip):
    14011409        __(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp1),%imm0)
    1402         __(movl %imm0,%rcontext:tcr.save_tsp)
    1403         __(movl %imm0,%rcontext:tcr.next_tsp)
     1410        __(movl %imm0,rcontext(tcr.save_tsp))
     1411        __(movl %imm0,rcontext(tcr.next_tsp))
    14041412        __(movd %mm0,%imm0)
    14051413        __(jmp local_label(_nthrow1v_nextframe))
     
    14081416/* multiple-value case. */
    14091417        __(movl catch_frame.xframe(%temp1),%arg_y)
    1410         __(movl %arg_y,%rcontext:tcr.xframe)
     1418        __(movl %arg_y,rcontext(tcr.xframe))
    14111419        __(movl catch_frame.ebp(%temp1),%ebp)
    14121420        __(movl catch_frame.esp(%temp1),%esp)
    14131421        __(movd catch_frame.foreign_sp(%temp1),%stack_temp)
    1414         __(movd %stack_temp,%rcontext:tcr.foreign_sp)
     1422        __(movd %stack_temp,rcontext(tcr.foreign_sp))
    14151423        /* Discard the catch frame so we can build a temp frame. */
    14161424        __(movl -(tsp_frame.fixed_overhead+fulltag_misc)(%temp1),%imm0)
    1417         __(movl %imm0,%rcontext:tcr.save_tsp)
    1418         __(movl %imm0,%rcontext:tcr.next_tsp)
     1425        __(movl %imm0,rcontext(tcr.save_tsp))
     1426        __(movl %imm0,rcontext(tcr.next_tsp))
    14191427        __(movl catch_frame.pc(%temp1),%xfn) /* xfn is temp1 */
    14201428        __(TSP_Alloc_Fixed((3*node_size),%imm0))
     
    14251433/* Ready to call cleanup code.  Set up tra, jmp to %xfn. */
    14261434        __(push $local_label(_nthrow1v_called_cleanup))
    1427         __(movb $0,%rcontext:tcr.unwinding)
     1435        __(movb $0,rcontext(tcr.unwinding))
    14281436        __(jmp *%xfn)
    14291437__(tra(local_label(_nthrow1v_called_cleanup)))
    1430         __(movb $1,%rcontext:tcr.unwinding)
    1431         __(movl %rcontext:tcr.save_tsp,%imm0)
     1438        __(movb $1,rcontext(tcr.unwinding))
     1439        __(movl rcontext(tcr.save_tsp),%imm0)
    14321440        __(movl tsp_frame.data_offset+(0*node_size)(%imm0),%ra0)
    14331441        __(movd tsp_frame.data_offset+(1*node_size)(%imm0),%mm0)
    14341442        __(movl tsp_frame.data_offset+(2*node_size)(%imm0),%arg_z)
    14351443        __(movl (%imm0),%imm0)
    1436         __(movl %imm0,%rcontext:tcr.save_tsp)
    1437         __(movl %imm0,%rcontext:tcr.next_tsp)
     1444        __(movl %imm0,rcontext(tcr.save_tsp))
     1445        __(movl %imm0,rcontext(tcr.next_tsp))
    14381446        __(movd %mm0,%imm0)
    14391447        __(jmp local_label(_nthrow1v_nextframe))
    14401448local_label(_nthrow1v_done):
    1441         __(movb $0,%rcontext:tcr.unwinding)
     1449        __(movb $0,rcontext(tcr.unwinding))
    14421450        __(check_pending_interrupt(%imm0))
    14431451local_label(_nthrow1v_return):
     
    14501458_spentry(bind)
    14511459        __(movl symbol.binding_index(%arg_y),%imm0)
    1452         __(cmpl %rcontext:tcr.tlb_limit,%imm0)
     1460        __(cmpl rcontext(tcr.tlb_limit),%imm0)
    14531461        __(jb 0f)
    14541462        __(push %imm0)
     
    145614640:      __(test %imm0,%imm0)
    14571465        __(jz 9f)
    1458         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     1466        __(movl rcontext(tcr.tlb_pointer),%temp1)
    14591467        __(push (%temp1,%imm0))
    14601468        __(push %imm0)
    1461         __(push %rcontext:tcr.db_link)
    1462         __(movl %esp,%rcontext:tcr.db_link)
     1469        __(push rcontext(tcr.db_link))
     1470        __(movl %esp,rcontext(tcr.db_link))
    14631471        __(movl %arg_z,(%temp1,%imm0))
    14641472        __(jmp *%ra0)
     
    14751483_spentry(bind_self)
    14761484        __(movl symbol.binding_index(%arg_z),%imm0)
    1477         __(cmpl %rcontext:tcr.tlb_limit,%imm0)
     1485        __(cmpl rcontext(tcr.tlb_limit),%imm0)
    14781486        __(jb 0f)
    14791487        __(push %imm0)
     
    148114890:      __(test %imm0,%imm0)
    14821490        __(jz 9f)
    1483         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     1491        __(movl rcontext(tcr.tlb_pointer),%temp1)
    14841492        __(cmpb $no_thread_local_binding_marker,(%temp1,%imm0))
    14851493        __(jz 2f)
    14861494        __(push (%temp1,%imm0))
    14871495        __(push %imm0)
    1488         __(push %rcontext:tcr.db_link)
    1489         __(movl %esp,%rcontext:tcr.db_link)
     1496        __(push rcontext(tcr.db_link))
     1497        __(movl %esp,rcontext(tcr.db_link))
    14901498        __(jmp *%ra0)
    149114992:      __(movl symbol.vcell(%arg_z),%arg_y)
    14921500        __(push (%temp1,%imm0))
    14931501        __(push %imm0)
    1494         __(push %rcontext:tcr.db_link)
     1502        __(push rcontext(tcr.db_link))
    14951503        __(movl %arg_y,(%temp1,%imm0))
    1496         __(movl %esp,%rcontext:tcr.db_link)
     1504        __(movl %esp,rcontext(tcr.db_link))
    14971505        __(jmp *%ra0)
    149815069:      __(movl $XSYMNOBIND,%arg_y)
     
    15041512_spentry(bind_nil)
    15051513        __(movl symbol.binding_index(%arg_z),%imm0)
    1506         __(cmpl %rcontext:tcr.tlb_limit,%imm0)
     1514        __(cmpl rcontext(tcr.tlb_limit),%imm0)
    15071515        __(jb 0f)
    15081516        __(push %imm0)
     
    151015180:      __(test %imm0,%imm0)
    15111519        __(jz 9f)
    1512         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     1520        __(movl rcontext(tcr.tlb_pointer),%temp1)
    15131521        __(push (%temp1,%imm0))
    15141522        __(push %imm0)
    1515         __(push %rcontext:tcr.db_link)
    1516         __(movl %esp,%rcontext:tcr.db_link)
     1523        __(push rcontext(tcr.db_link))
     1524        __(movl %esp,rcontext(tcr.db_link))
    15171525        __(movl $nil_value,(%temp1,%imm0))
    15181526        __(jmp *%ra0)
     
    15251533_spentry(bind_self_boundp_check)
    15261534        __(movl symbol.binding_index(%arg_z),%imm0)
    1527         __(cmpl %rcontext:tcr.tlb_limit,%imm0)
     1535        __(cmpl rcontext(tcr.tlb_limit),%imm0)
    15281536        __(jb 0f)
    15291537        __(push %imm0)
     
    153115390:      __(test %imm0,%imm0)
    15321540        __(jz 9f)
    1533         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     1541        __(movl rcontext(tcr.tlb_pointer),%temp1)
    15341542        __(cmpb $no_thread_local_binding_marker,(%temp1,%imm0))
    15351543        __(je 2f)
     
    15381546        __(push (%temp1,%imm0))
    15391547        __(push %imm0)
    1540         __(push %rcontext:tcr.db_link)
    1541         __(movl %esp,%rcontext:tcr.db_link)
     1548        __(push rcontext(tcr.db_link))
     1549        __(movl %esp,rcontext(tcr.db_link))
    15421550        __(jmp *%ra0)
    154315512:      __(movl symbol.vcell(%arg_z),%arg_y)
     
    15461554        __(push (%temp1,%imm0))
    15471555        __(push %imm0)
    1548         __(push %rcontext:tcr.db_link)
    1549         __(movl %esp,%rcontext:tcr.db_link)
     1556        __(push rcontext(tcr.db_link))
     1557        __(movl %esp,rcontext(tcr.db_link))
    15501558        __(movl %arg_y,(%temp1,%imm0))
    15511559        __(jmp *%ra0)
     
    15901598/* doesn't get confused. */
    15911599_spentry(stkconslist)
    1592         __(movl %ra0,%rcontext:tcr.save0)
     1600        __(movl %ra0,rcontext(tcr.save0))
    15931601        __(movd %nargs,%mm0)
    15941602        __(movl %nargs,%temp0)
     
    16071615        __(subl $node_size,%nargs)
    160816162:      __(jne 1b)
    1609         __(movl %rcontext:tcr.save0,%ra0)
    1610         __(movl $0,%rcontext:tcr.save0)
     1617        __(movl rcontext(tcr.save0),%ra0)
     1618        __(movl $0,rcontext(tcr.save0))
    16111619        __(jmp *%ra0)
    16121620_endsubp(stkconslist)
     
    18541862        __(TSP_Alloc_Var(%imm0,%temp0))
    18551863        __(movl %temp1,(%temp0))
    1856         __(movd %rcontext:tcr.db_link,%mm0)
     1864        __(movd rcontext(tcr.db_link),%mm0)
    185718653:      __(movl $unbound_marker,%temp0)
    18581866        __(compare_reg_to_nil(%arg_z))
     
    18621870        __(_cdr(%arg_y,%arg_y))
    18631871        __(movl symbol.binding_index(%temp1),%temp1)
    1864         __(cmp %rcontext:tcr.tlb_limit,%temp1)
     1872        __(cmp rcontext(tcr.tlb_limit),%temp1)
    18651873        __(jb 4f)
    18661874        __(push %temp1)
    18671875        __(tlb_too_small())
    186818764:      __(push %arg_z)
    1869         __(movl %rcontext:tcr.tlb_pointer,%arg_z)
     1877        __(movl rcontext(tcr.tlb_pointer),%arg_z)
    18701878        __(subl $binding.size,%imm0)
    18711879        __(movl %temp1,binding.sym(%imm0))
     
    18781886        __(compare_reg_to_nil(%arg_y))
    18791887        __(jne 3b)
    1880         __(movd %mm0,%rcontext:tcr.db_link)
     1888        __(movd %mm0,rcontext(tcr.db_link))
    18811889        __(ret)
    18821890_endsubp(progvsave)
     
    19281936        __(cmpl $tstack_alloc_limit,%imm0)
    19291937        __(ja local_label(stack_misc_alloc_heap_alloc_ivector))
    1930         __(movd %rcontext:tcr.foreign_sp,%stack_temp)
     1938        __(movd rcontext(tcr.foreign_sp),%stack_temp)
    19311939        __(movd %stack_temp,%temp1)
    1932         __(subl %imm0,%rcontext:tcr.foreign_sp)
    1933         __(movl %rcontext:tcr.foreign_sp,%temp0)
     1940        __(subl %imm0,rcontext(tcr.foreign_sp))
     1941        __(movl rcontext(tcr.foreign_sp),%temp0)
    193419420:      __(movsd %fpzero,-dnode_size(%temp1))
    19351943        __(subl $dnode_size,%temp1)
     
    19411949        __(ret)
    19421950local_label(stack_misc_alloc_heap_alloc_ivector):
    1943         __(movd %rcontext:tcr.foreign_sp,%stack_temp)
    1944         __(subl $dnode_size,%rcontext:tcr.foreign_sp)
    1945         __(movl %rcontext:tcr.foreign_sp,%imm0)
     1951        __(movd rcontext(tcr.foreign_sp),%stack_temp)
     1952        __(subl $dnode_size,rcontext(tcr.foreign_sp))
     1953        __(movl rcontext(tcr.foreign_sp),%imm0)
    19461954        __(movd %stack_temp,(%imm0))
    19471955        __(jmp _SPmisc_alloc)
     
    21232131
    21242132_spentry(keyword_bind)
    2125         __(movl %temp1,%rcontext:tcr.unboxed0)  /* save keyword flags */
     2133        __(movl %temp1,rcontext(tcr.unboxed0))  /* save keyword flags */
    21262134        __(movzwl %nargs_w,%nargs)
    21272135        __(movl %nargs,%arg_z)
     
    21332141        __(movl %arg_z,%nargs)
    21342142        __(test %nargs,%nargs)
    2135         __(movl %ra0,%rcontext:tcr.save0)       /* save temp0 while consing */
     2143        __(movl %ra0,rcontext(tcr.save0))       /* save temp0 while consing */
    21362144        __(jmp 1f)
    213721450:      __(pop %arg_z)
     
    21392147        __(subl $node_size,%nargs)
    214021481:      __(jnz 0b)
    2141         __(movl %rcontext:tcr.save0,%ra0)
    2142         __(movapd %fpzero,%rcontext:tcr.save0)
     2149        __(movl rcontext(tcr.save0),%ra0)
     2150        __(movapd %fpzero,rcontext(tcr.save0))
    21432151        __(movl %arg_y,%arg_z)
    21442152        __(movl $XBADKEYS,%arg_y)
     
    21862194        /* key-value pairs were unexpectedly supplied. */
    21872195
    2188         __(movl %rcontext:tcr.save_tsp,%temp0)
     2196        __(movl rcontext(tcr.save_tsp),%temp0)
    21892197        __(addl $2*node_size,%temp0) /* skip frame overhead */
    21902198        /* %temp0: top of tstack (skipping frame overhead) */
     
    22062214        __(cmpl $nrs.kallowotherkeys,%arg_z)
    22072215        __(jne local_label(next_keyvect_entry))
    2208         __(btsl $keyword_flags_seen_aok_bit,%rcontext:tcr.unboxed0)
     2216        __(btsl $keyword_flags_seen_aok_bit,rcontext(tcr.unboxed0))
    22092217        __(jc local_label(next_keyvect_entry))
    22102218        __(push %imm0)
     
    22132221        __(pop %imm0)
    22142222        __(je local_label(next_keyvect_entry))
    2215         __(btsl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
     2223        __(btsl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
    22162224        __(jmp local_label(next_keyvect_entry))
    22172225        /* loop through keyword vector */
     
    22362244        __(cmpl $nrs.kallowotherkeys,%arg_z)
    22372245        __(je 9f)       /* :allow-other-keys is never "unknown" */
    2238 8:      __(btsl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
     22468:      __(btsl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
    223922479:      __(pop %imm0)
    22402248        __(addl $fixnumone,%imm0)
     
    22522260        /* keyword and don't allow that, copy the incoming k/v pairs from */
    22532261        /* the temp stack back to the value stack. */
    2254         __(btl $keyword_flags_rest_bit,%rcontext:tcr.unboxed0)
     2262        __(btl $keyword_flags_rest_bit,rcontext(tcr.unboxed0))
    22552263        __(jc 1f)
    2256         __(btl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
     2264        __(btl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
    22572265        __(jnc 0f)
    2258         __(btl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
     2266        __(btl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
    22592267        __(jnc 1f)
    22602268        /* pop the tstack frame */
     
    22652273        /* either because the function takes an &rest arg or because */
    22662274        /* we need to signal an "unknown keywords" error. */
    2267 1:      __(movl %rcontext:tcr.save_tsp,%arg_z)
     22751:      __(movl rcontext(tcr.save_tsp),%arg_z)
    22682276        __(mov (%arg_z),%arg_y)
    22692277        __(jmp 3f)
     
    22742282        __(jne 2b)
    22752283        __(discard_temp_frame(%arg_z))
    2276         __(btl $keyword_flags_unknown_keys_bit,%rcontext:tcr.unboxed0)
     2284        __(btl $keyword_flags_unknown_keys_bit,rcontext(tcr.unboxed0))
    22772285        __(jnc 9f)
    2278         __(btl $keyword_flags_aok_bit,%rcontext:tcr.unboxed0)
     2286        __(btl $keyword_flags_aok_bit,rcontext(tcr.unboxed0))
    22792287        __(jc 9f)
    22802288        /* Signal an "unknown keywords" error */
     
    22822290        __(movl $nil_value,%arg_z)
    22832291        __(test %nargs,%nargs)
    2284         __(movl %ra0,%rcontext:tcr.save0)
     2292        __(movl %ra0,rcontext(tcr.save0))
    22852293        __(jmp 5f)
    228622944:      __(pop %arg_y)
     
    22902298        __(movl $XBADKEYS,%arg_y)
    22912299        __(set_nargs(2))
    2292         __(movl %rcontext:tcr.save0,%ra0)
    2293         __(movl $0,%rcontext:tcr.save0)
     2300        __(movl rcontext(tcr.save0),%ra0)
     2301        __(movl $0,rcontext(tcr.save0))
    22942302        __(jmp _SPksignalerr)
    229523039:      __(jmp *%ra0)
     
    23372345_spentry(stack_cons_rest_arg)
    23382346        __(movd %nargs,%mm2)
    2339         __(movl %temp0,%rcontext:tcr.save0)
     2347        __(movl %temp0,rcontext(tcr.save0))
    23402348        __(subl %imm0,%temp1)
    23412349        __(movl $nil_value,%arg_z)
     
    23562364        __(push %arg_z)
    23572365        __(movd %mm2,%nargs)
    2358         __(movl %rcontext:tcr.save0,%temp0)
    2359         __(movss %fpzero,%rcontext:tcr.save0)
     2366        __(movl rcontext(tcr.save0),%temp0)
     2367        __(movss %fpzero,rcontext(tcr.save0))
    23602368        __(jmp *%temp0)
    23612369/* Length 0, make empty frame */
     
    23642372        __(push %arg_z)
    23652373        __(movd %mm2,%nargs)
    2366         __(movl %rcontext:tcr.save0,%temp0)
    2367         __(movss %fpzero,%rcontext:tcr.save0)
     2374        __(movl rcontext(tcr.save0),%temp0)
     2375        __(movss %fpzero,rcontext(tcr.save0))
    23682376        __(jmp *%temp0)
    23692377/* Too big to stack-cons, but make an empty frame before heap-consing */
    23702378        __(TSP_Alloc_Fixed(0,%temp0))
    23712379        __(movd %mm2,%nargs)
    2372         __(movl %rcontext:tcr.save0,%temp0)
    2373         __(movss %fpzero,%rcontext:tcr.save0)
     2380        __(movl rcontext(tcr.save0),%temp0)
     2381        __(movss %fpzero,rcontext(tcr.save0))
    23742382        __(jmp _SPheap_cons_rest_arg)
    23752383_endsubp(stack_cons_rest_arg)
     
    23932401        __(push $reserved_frame_marker)
    23942402        __(push $reserved_frame_marker)
    2395 0:      __(movl %arg_z,%rcontext:tcr.save0)     /* save in case of error */
     24030:      __(movl %arg_z,rcontext(tcr.save0))     /* save in case of error */
    23962404        __(movd %nargs,%mm0)    /* now we can use %temp1 */
    23972405        __(xorl %nargs,%nargs)
     
    24132421        __(jne 4f)
    241424223:      __(addl $2*node_size,%esp)
    2415         __(movl $0,%rcontext:tcr.save0)
     2423        __(movl $0,rcontext(tcr.save0))
    24162424        __(jmp *%ra0)
    241724254:      __(pop %arg_z)
     
    24212429        __(cmp $2*node_size,%nargs)
    24222430        __(je 3b)
    2423         __(movl $0,%rcontext:tcr.save0)
     2431        __(movl $0,rcontext(tcr.save0))
    24242432        __(jmp *%ra0)
    24252433/* Discard everything that's been pushed already, complain */
    242624348:      __(lea (%esp,%nargs),%esp)
    2427         __(movl %rcontext:tcr.save0,%arg_z) /* recover original */
    2428         __(movl $0,%rcontext:tcr.save0)
     2435        __(movl rcontext(tcr.save0),%arg_z) /* recover original */
     2436        __(movl $0,rcontext(tcr.save0))
    24292437        __(movl $XTMINPS,%arg_y)
    24302438        __(set_nargs(2))
     
    24322440        __(jmp _SPksignalerr)
    243324419:      __(lea (%esp,%nargs),%esp)
    2434         __(movl %rcontext:tcr.save0,%arg_z) /* recover original */
    2435         __(movl $0,%rcontext:tcr.save0)
     2442        __(movl rcontext(tcr.save0),%arg_z) /* recover original */
     2443        __(movl $0,rcontext(tcr.save0))
    24362444        __(movl $XNOSPREAD,%arg_y)
    24372445        __(set_nargs(2))
     
    24482456        __(jbe 9f)
    24492457        __(lea -nargregs*node_size(%esp,%nargs),%imm0)
    2450         __(movl %temp0,%rcontext:tcr.save0)
     2458        __(movl %temp0,rcontext(tcr.save0))
    24512459        __(movd %nargs,%mm0)
    24522460        __(xorl %temp1,%temp1)
     
    24642472        __(pushl %ra0)
    24652473        __(movd %mm0,%nargs)
    2466         __(movl %rcontext:tcr.save0,%temp0)
    2467         __(movss %fpzero,%rcontext:tcr.save0)
     2474        __(movl rcontext(tcr.save0),%temp0)
     2475        __(movss %fpzero,rcontext(tcr.save0))
    24682476        __(do_funcall())
    24692477        /* All args in regs; exactly the same as the tfuncallvsp case   */
     
    24792487        __(movd %nargs,%mm0)
    24802488        __(xorl %temp1,%temp1)
    2481         __(movl %temp0,%rcontext:tcr.save0)
     2489        __(movl %temp0,rcontext(tcr.save0))
    248224900:      __(movl -node_size(%imm0),%temp0)
    24832491        __(movl %temp0,-node_size(%ebp,%temp1))
     
    24902498        __(movl (%ebp),%ebp)
    24912499        __(movd %mm0,%nargs)
    2492         __(movl %rcontext:tcr.save0,%temp0)
    2493         __(movss %fpzero,%rcontext:tcr.save0)
     2500        __(movl rcontext(tcr.save0),%temp0)
     2501        __(movss %fpzero,rcontext(tcr.save0))
    24942502        __(do_funcall())
    24952503_endsubp(tfuncallslide)
     
    25062514        __(lea -nargregs*node_size(%esp,%nargs),%imm0)
    25072515        __(movd %nargs,%mm0)
    2508         __(movl %temp0,%rcontext:tcr.save0)
     2516        __(movl %temp0,rcontext(tcr.save0))
    25092517        __(xorl %temp1,%temp1)  /* aka nargs */
    251025180:      __(movl -node_size(%imm0),%temp0)
     
    25182526        __(movl (%ebp),%ebp)
    25192527        __(push %temp0)
    2520         __(movl %rcontext:tcr.save0,%temp0)
    2521         __(movss %fpzero,%rcontext:tcr.save0)
     2528        __(movl rcontext(tcr.save0),%temp0)
     2529        __(movss %fpzero,rcontext(tcr.save0))
    25222530        __(movd %mm0,%nargs)
    25232531        __(jump_fname())
     
    25662574        __(movd %nargs,%mm0)    /* stash nargs aka temp1 */
    25672575        __(xorl %temp1,%temp1)
    2568         __(movl %temp0,%rcontext:tcr.save0)
     2576        __(movl %temp0,rcontext(tcr.save0))
    25692577        /* It's OK to use %ra0 (%temp0) as an temp here, since the */
    25702578        /* real return address is on the stack. */
     
    25752583        __(cmpl %imm0,%esp)
    25762584        __(jne 0b)
    2577         __(movl %rcontext:tcr.save0,%fn)
    2578         __(movss %fpzero,%rcontext:tcr.save0)
     2585        __(movl rcontext(tcr.save0),%fn)
     2586        __(movss %fpzero,rcontext(tcr.save0))
    25792587        __(lea (%ebp,%temp1),%esp)
    25802588        __(movl lisp_frame.savera0(%ebp),%ra0)
     
    25932601        __(movd %nargs,%mm0)    /* save nargs aka temp1 */
    25942602        __(xorl %temp1,%temp1)
    2595         __(movl %temp0,%rcontext:tcr.save0)
     2603        __(movl %temp0,rcontext(tcr.save0))
    25962604        /* We can use %ra0 as a temporary here, since the real return address */
    25972605        /* is on the stack   */
     
    26022610        __(cmpl %imm0,%esp)
    26032611        __(jne 0b)
    2604         __(movl %rcontext:tcr.save0,%fn)
     2612        __(movl rcontext(tcr.save0),%fn)
    26052613        __(lea (%ebp,%temp1),%esp)
    26062614        __(movl lisp_frame.savera0(%ebp),%ra0)
    26072615        __(movl lisp_frame.backlink(%ebp),%ebp)
    26082616        __(push %ra0)
    2609         __(movapd %fpzero,%rcontext:tcr.save0)
     2617        __(movapd %fpzero,rcontext(tcr.save0))
    26102618        __(movd %mm0,%nargs)
    26112619        __(jmp *%fn)
     
    26262634        __(cmpl $tstack_alloc_limit,%imm0)
    26272635        __(jae 1f)
    2628         __(movd %rcontext:tcr.foreign_sp,%mm0)
    2629         __(subl %imm0,%rcontext:tcr.foreign_sp)
    2630         __(movl %rcontext:tcr.foreign_sp,%arg_z)
     2636        __(movd rcontext(tcr.foreign_sp),%mm0)
     2637        __(subl %imm0,rcontext(tcr.foreign_sp))
     2638        __(movl rcontext(tcr.foreign_sp),%arg_z)
    26312639        __(movd %mm0,(%arg_z))
    26322640        __(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0)
     
    26372645        __(movss %fpzero,macptr.type(%arg_z))
    26382646        __(ret)
    2639 1:      __(movd %rcontext:tcr.foreign_sp,%mm0)
    2640         __(subl $dnode_size,%rcontext:tcr.foreign_sp)
    2641         __(movl %rcontext:tcr.foreign_sp,%imm0)
     26471:      __(movd rcontext(tcr.foreign_sp),%mm0)
     2648        __(subl $dnode_size,rcontext(tcr.foreign_sp))
     2649        __(movl rcontext(tcr.foreign_sp),%imm0)
    26422650        __(movd %mm0,(%imm0))
    26432651        __(set_nargs(1))
     
    26512659        __(cmpl $tstack_alloc_limit,%imm0)
    26522660        __(jae 9f)
    2653         __(movl %rcontext:tcr.foreign_sp,%temp0)
    2654         __(subl %imm0,%rcontext:tcr.foreign_sp)
    2655         __(movl %rcontext:tcr.foreign_sp,%arg_z)
     2661        __(movl rcontext(tcr.foreign_sp),%temp0)
     2662        __(subl %imm0,rcontext(tcr.foreign_sp))
     2663        __(movl rcontext(tcr.foreign_sp),%arg_z)
    26562664        __(movl %temp0,(%arg_z))
    26572665        __(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0)
     
    26672675        __(jne 1b)
    26682676        __(repret)
    2669 9:      __(movd %rcontext:tcr.foreign_sp,%mm0)
    2670         __(subl $dnode_size,%rcontext:tcr.foreign_sp)
    2671         __(movl %rcontext:tcr.foreign_sp,%imm0)
     26779:      __(movd rcontext(tcr.foreign_sp),%mm0)
     2678        __(subl $dnode_size,rcontext(tcr.foreign_sp))
     2679        __(movl rcontext(tcr.foreign_sp),%imm0)
    26722680        __(movd %mm0,(%imm0))
    26732681        __(set_nargs(1))
     
    27792787
    27802788/* N.B. arg count word in %imm0, not %nargs */
    2781 /* no %whole_reg;  it's in %rcontext:tcr.save0 */
     2789/* no %whole_reg;  it's in rcontext(tcr.save0) */
    27822790/* %arg_reg is %temp1, key vector in %arg_y */
    27832791_startfn(C(destbind1))
    2784         __(movl %ra0,%rcontext:tcr.save1)
     2792        __(movl %ra0,rcontext(tcr.save1))
    27852793        /* Save entry %esp in case of error   */
    27862794        __(movd %esp,%mm0)
     
    28512859        __(compare_reg_to_nil(%arg_reg))
    28522860        __(jne local_label(toomany))
    2853         __(movss %fpzero,%rcontext:tcr.save0)
     2861        __(movss %fpzero,rcontext(tcr.save0))
    28542862        __(jmp *%ra0)
    28552863local_label(have_rest):
     
    28572865        __(btl $keyp_bit,%imm0)
    28582866        __(jc local_label(have_keys))
    2859         __(movss %fpzero,%rcontext:tcr.save0)
     2867        __(movss %fpzero,rcontext(tcr.save0))
    28602868        __(jmp *%ra0)
    28612869        /* Ensure that arg_reg contains a proper,even-length list.  */
     
    28912899        __(shrl $16,%imm0)
    28922900        __(movzbl %imm0_b,%imm0)
    2893         __(movl %esp,%rcontext:tcr.unboxed0)    /* 0th value/supplied-p pair */
     2901        __(movl %esp,rcontext(tcr.unboxed0))    /* 0th value/supplied-p pair */
    28942902        __(jmp local_label(push_pair_test))
    28952903local_label(push_pair_loop):
     
    29052913        __(push %imm0)  /* keyword vector length */
    29062914        __(movd %mm1,%imm0)
    2907         __(movl $0,%rcontext:tcr.unboxed1) /* count of unknown keywords seen */
     2915        __(movl $0,rcontext(tcr.unboxed1)) /* count of unknown keywords seen */
    29082916local_label(match_keys_loop):
    29092917        __(movl 4(%esp),%arg_reg)
     
    29252933        __(jne local_label(match_loop))
    29262934        /* No match.  Note unknown keyword, check for :allow-other-keys   */
    2927         __(addl $1,%rcontext:tcr.unboxed1)
     2935        __(addl $1,rcontext(tcr.unboxed1))
    29282936        __(cmpl $nrs.kallowotherkeys,%temp0)
    29292937        __(jne local_label(match_keys_loop))
    2930         __(subl $1,%rcontext:tcr.unboxed1)
     2938        __(subl $1,rcontext(tcr.unboxed1))
    29312939        __(btsl $seen_aok_bit,%imm0)
    29322940        __(jc local_label(match_keys_loop))
     
    29402948        __(negl %temp1)
    29412949        __(shll $1,%temp1)
    2942         __(addl %rcontext:tcr.unboxed0,%temp1)
     2950        __(addl rcontext(tcr.unboxed0),%temp1)
    29432951        __(cmpl $nil_value,-node_size*2(%temp1))
    29442952        __(jne local_label(match_keys_loop))
     
    29542962        __(jmp local_label(match_keys_loop))
    29552963local_label(matched_keys):     
    2956         __(cmpl $0,%rcontext:tcr.unboxed1)      /* any unknown keys seen? */
     2964        __(cmpl $0,rcontext(tcr.unboxed1))      /* any unknown keys seen? */
    29572965        __(je local_label(keys_ok))
    29582966        __(btl $aok_bit,%imm0)
     
    29612969        __(addl $(3*node_size),%esp)
    29622970        __(pop %ra0)
    2963         __(movss %fpzero,%rcontext:tcr.save0)
     2971        __(movss %fpzero,rcontext(tcr.save0))
    29642972        __(jmp *%ra0)
    29652973        /* Some unrecognized keywords.  Complain generically about   */
     
    29782986local_label(destructure_error):
    29792987        __(movd %mm0,%esp)              /* undo everything done to the stack */
    2980         __(movl %rcontext:tcr.save0,%arg_z)     /* %whole_reg */
    2981         __(movss %fpzero,%rcontext:tcr.save0)
     2988        __(movl rcontext(tcr.save0),%arg_z)     /* %whole_reg */
     2989        __(movss %fpzero,rcontext(tcr.save0))
    29822990        __(set_nargs(2))
    29832991        __(push %ra0)
     
    29862994
    29872995_spentry(macro_bind)
    2988         __(movl %arg_reg,%rcontext:tcr.save0)   /* %whole_reg */
     2996        __(movl %arg_reg,rcontext(tcr.save0))   /* %whole_reg */
    29892997        __(extract_fulltag(%arg_reg,%imm0))
    29902998        __(cmpb $fulltag_cons,%imm0_b)
     
    29933001        __(jmp C(destbind1))
    299430021:      __(movl $XCALLNOMATCH,%arg_y)
    2995         __(movl %rcontext:tcr.save0,%arg_z)
    2996         __(movss %fpzero,%rcontext:tcr.save0)
     3003        __(movl rcontext(tcr.save0),%arg_z)
     3004        __(movss %fpzero,rcontext(tcr.save0))
    29973005        __(set_nargs(2))
    29983006        __(push %ra0)       
     
    30023010
    30033011_spentry(destructuring_bind)
    3004         __(movl %arg_reg,%rcontext:tcr.save0)   /* %whole_reg */
     3012        __(movl %arg_reg,rcontext(tcr.save0))   /* %whole_reg */
    30053013        __(jmp C(destbind1))
    30063014_endsubp(destructuring_bind)
    30073015
    30083016_spentry(destructuring_bind_inner)
    3009         __(movl %arg_z,%rcontext:tcr.save0)     /* %whole_reg */
     3017        __(movl %arg_z,rcontext(tcr.save0))     /* %whole_reg */
    30103018        __(jmp C(destbind1))
    30113019_endsubp(destructuring_bind_inner)
     
    30523060
    30533061_spentry(save_values)
    3054         __(movd %rcontext:tcr.save_tsp,%mm1)
     3062        __(movd rcontext(tcr.save_tsp),%mm1)
    30553063/* common exit: nargs = values in this set, mm1 = ptr to tsp before call to save_values   */
    30563064local_label(save_values_to_tsp):
    3057         __(movl %ra0,%rcontext:tcr.save0)
    3058         __(movl %rcontext:tcr.save_tsp,%temp0)
     3065        __(movl %ra0,rcontext(tcr.save0))
     3066        __(movl rcontext(tcr.save_tsp),%temp0)
    30593067        __(dnode_align(%nargs,tsp_frame.fixed_overhead+(2*node_size),%imm0)) /* count, link   */
    30603068        __(TSP_Alloc_Var(%imm0,%arg_z))
    3061         __(movl %rcontext:tcr.save_tsp,%imm0)
     3069        __(movl rcontext(tcr.save_tsp),%imm0)
    30623070        __(movd %mm1,(%imm0))
    30633071        __(movl %nargs,(%arg_z))
     
    307430822:      __(jne 1b)
    30753083        __(addl %nargs,%esp)
    3076         __(movl %rcontext:tcr.save0,%ra0)
    3077         __(movl $0,%rcontext:tcr.save0)
     3084        __(movl rcontext(tcr.save0),%ra0)
     3085        __(movl $0,rcontext(tcr.save0))
    30783086        __(jmp *%ra0)
    30793087_endsubp(save_values)
     
    30893097        /* do we need to preserve imm0? */
    30903098        __(test %nargs,%nargs)
    3091         __(movl %rcontext:tcr.save_tsp,%imm0)
     3099        __(movl rcontext(tcr.save_tsp),%imm0)
    30923100        __(movl (%imm0),%imm0)
    30933101        __(movd %imm0,%mm1)     /* for the benefit of save_values_to_tsp */
     
    30993107/* Discard the tsp frame; leave values atop the sp.   */
    31003108_spentry(recover_values)
    3101         __(movl %ra0,%rcontext:tcr.save0) /* temp0 */
     3109        __(movl %ra0,rcontext(tcr.save0)) /* temp0 */
    31023110        __(movd %nargs,%mm0)              /* temp1 */
    31033111        /* First, walk the segments reversing the pointer to previous  */
    31043112        /* segment pointers Can tell the end because that previous  */
    31053113        /* segment pointer is the prev tsp pointer   */
    3106         __(movl %rcontext:tcr.save_tsp,%temp1)
     3114        __(movl rcontext(tcr.save_tsp),%temp1)
    31073115        __(movl %temp1,%temp0)  /* current segment   */
    31083116        __(movl %temp1,%arg_y)  /* last segment   */
     
    31343142        __(jne local_label(pushloop))
    31353143        __(movl (%arg_z),%arg_z)
    3136         __(movl %arg_z,%rcontext:tcr.save_tsp)
    3137         __(movl %arg_z,%rcontext:tcr.next_tsp)
    3138         __(movl %rcontext:tcr.save0,%ra0)
    3139         __(movl $0,%rcontext:tcr.save0)
     3144        __(movl %arg_z,rcontext(tcr.save_tsp))
     3145        __(movl %arg_z,rcontext(tcr.next_tsp))
     3146        __(movl rcontext(tcr.save0),%ra0)
     3147        __(movl $0,rcontext(tcr.save0))
    31403148        __(jmp *%ra0)           
    31413149_endsubp(recover_values)
     
    31473155
    31483156_spentry(recover_values_for_mvcall)
    3149         __(movl %ra0,%rcontext:tcr.save0) /* temp0 */
     3157        __(movl %ra0,rcontext(tcr.save0)) /* temp0 */
    31503158        /* First, walk the segments reversing the pointer to previous  */
    31513159        /* segment pointers Can tell the end because that previous  */
     
    31533161        __(xorl %nargs,%nargs)
    31543162        __(push %nargs)
    3155         __(movl %rcontext:tcr.save_tsp,%temp1)
     3163        __(movl rcontext(tcr.save_tsp),%temp1)
    31563164        __(movl %temp1,%temp0)  /* current segment   */
    31573165        __(movl %temp1,%arg_y)  /* last segment   */
     
    31903198        __(jne local_label(pushloop_mvcall))
    31913199        __(movl (%arg_z),%arg_z)
    3192         __(movl %arg_z,%rcontext:tcr.save_tsp)
    3193         __(movl %arg_z,%rcontext:tcr.next_tsp)
    3194         __(movl %rcontext:tcr.save0,%ra0)
    3195         __(movl $0,%rcontext:tcr.save0)
     3200        __(movl %arg_z,rcontext(tcr.save_tsp))
     3201        __(movl %arg_z,rcontext(tcr.next_tsp))
     3202        __(movl rcontext(tcr.save0),%ra0)
     3203        __(movl $0,rcontext(tcr.save0))
    31963204        __(jmp *%ra0)           
    31973205_endsubp(recover_values_for_mvcall)
     
    33303338_spentry(specref)
    33313339        __(movl symbol.binding_index(%arg_z),%imm0)
    3332         __(cmp %rcontext:tcr.tlb_limit,%imm0)
    3333         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     3340        __(cmp rcontext(tcr.tlb_limit),%imm0)
     3341        __(movl rcontext(tcr.tlb_pointer),%temp1)
    33343342        __(movl %arg_z,%arg_y)
    33353343        __(jae 7f)
     
    33443352_spentry(specset)
    33453353        __(movl symbol.binding_index(%arg_y),%imm0)
    3346         __(cmp %rcontext:tcr.tlb_limit,%imm0)
    3347         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     3354        __(cmp rcontext(tcr.tlb_limit),%imm0)
     3355        __(movl rcontext(tcr.tlb_pointer),%temp1)
    33483356        __(jae 1f)
    33493357        __(movl (%temp1,%imm0),%temp0)
     
    33603368        __(mov %arg_z,%arg_y)
    33613369        __(movl symbol.binding_index(%arg_z),%imm0)
    3362         __(cmp %rcontext:tcr.tlb_limit,%imm0)
     3370        __(cmp rcontext(tcr.tlb_limit),%imm0)
    33633371        __(jae 7f)
    3364         __(movl %rcontext:tcr.tlb_pointer,%temp1)
     3372        __(movl rcontext(tcr.tlb_pointer),%temp1)
    33653373        __(movl (%temp1,%imm0),%arg_z)
    33663374        __(cmpb $no_thread_local_binding_marker,%arg_z_b)
     
    34563464_spentry(unbind)
    34573465        __(push %arg_z)
    3458         __(movl %rcontext:tcr.db_link,%imm0)
    3459         __(movl %rcontext:tcr.tlb_pointer,%arg_z)
     3466        __(movl rcontext(tcr.db_link),%imm0)
     3467        __(movl rcontext(tcr.tlb_pointer),%arg_z)
    34603468        __(movl binding.sym(%imm0),%temp0)
    34613469        __(movl binding.val(%imm0),%arg_y)
    34623470        __(movl binding.link(%imm0),%imm0)
    34633471        __(movl %arg_y,(%arg_z,%temp0))
    3464         __(movl %imm0,%rcontext:tcr.db_link)
     3472        __(movl %imm0,rcontext(tcr.db_link))
    34653473        __(pop %arg_z)
    34663474        __(ret)
     
    34713479        __(push %arg_z)
    34723480        __(xorl %arg_z,%arg_z)
    3473         __(movl %rcontext:tcr.db_link,%temp1)
    3474         __(movl %rcontext:tcr.tlb_pointer,%arg_z)
     3481        __(movl rcontext(tcr.db_link),%temp1)
     3482        __(movl rcontext(tcr.tlb_pointer),%arg_z)
    347534831:             
    34763484        __(movl binding.sym(%temp1),%temp0)
     
    34803488        __(decl %imm0)
    34813489        __(jne 1b)
    3482         __(movl %temp1,%rcontext:tcr.db_link)
     3490        __(movl %temp1,rcontext(tcr.db_link))
    34833491        __(pop %arg_z)
    34843492        __(pop %temp1)
     
    34923500        __(push %temp1)
    34933501       
    3494         __(movl %rcontext:tcr.db_link,%temp0)
    3495         __(movl %rcontext:tcr.tlb_pointer,%arg_z)
     3502        __(movl rcontext(tcr.db_link),%temp0)
     3503        __(movl rcontext(tcr.tlb_pointer),%arg_z)
    349635041:
    34973505        __(movl binding.sym(%temp0),%temp1)
     
    35013509        __(cmpl %temp0,%imm0)
    35023510        __(jne 1b)
    3503         __(movl %temp0,%rcontext:tcr.db_link)
     3511        __(movl %temp0,rcontext(tcr.db_link))
    35043512
    35053513        __(pop %temp1)
     
    35113519
    35123520_spentry(bind_interrupt_level_0)
    3513         __(movl %rcontext:tcr.tlb_pointer,%arg_y)
     3521        __(movl rcontext(tcr.tlb_pointer),%arg_y)
    35143522        __(cmpl $0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35153523        __(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35163524        __(push $INTERRUPT_LEVEL_BINDING_INDEX)
    3517         __(push %rcontext:tcr.db_link)
    3518         __(movl %esp,%rcontext:tcr.db_link)
     3525        __(push rcontext(tcr.db_link))
     3526        __(movl %esp,rcontext(tcr.db_link))
    35193527        __(movl $0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35203528        __(js 1f)
     
    35283536/* of disabling interrupts.)   */
    35293537_spentry(bind_interrupt_level_m1)
    3530         __(movl %rcontext:tcr.tlb_pointer,%arg_y)
     3538        __(movl rcontext(tcr.tlb_pointer),%arg_y)
    35313539        __(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35323540        __(push $INTERRUPT_LEVEL_BINDING_INDEX)
    3533         __(push %rcontext:tcr.db_link)
    3534         __(movl %esp,%rcontext:tcr.db_link)
     3541        __(push rcontext(tcr.db_link))
     3542        __(movl %esp,rcontext(tcr.db_link))
    35353543        __(movl $-1<<fixnumshift,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35363544        __(jmp *%ra0)
     
    35423550        __(test %arg_z,%arg_z)
    35433551        __(jz _SPbind_interrupt_level_0)
    3544         __(movl %rcontext:tcr.tlb_pointer,%arg_y)
     3552        __(movl rcontext(tcr.tlb_pointer),%arg_y)
    35453553        __(push INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35463554        __(push $INTERRUPT_LEVEL_BINDING_INDEX)
    3547         __(push %rcontext:tcr.db_link)
    3548         __(movl %esp,%rcontext:tcr.db_link)
     3555        __(push rcontext(tcr.db_link))
     3556        __(movl %esp,rcontext(tcr.db_link))
    35493557        __(movl %arg_z,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    35503558        __(jmp *%ra0)
     
    35543562/* non-negative, check for pending interrupts. */
    35553563_spentry(unbind_interrupt_level)
    3556         __(movl %rcontext:tcr.tlb_pointer,%arg_y)
     3564        __(movl rcontext(tcr.tlb_pointer),%arg_y)
    35573565        __(movl INTERRUPT_LEVEL_BINDING_INDEX(%arg_y),%imm0)
    35583566        __(test %imm0,%imm0)
    3559         __(movl %rcontext:tcr.db_link,%imm0)
     3567        __(movl rcontext(tcr.db_link),%imm0)
    35603568        __(movl binding.val(%imm0),%temp0)
    35613569        __(movl binding.link(%imm0),%imm0)
    35623570        __(movl %temp0,INTERRUPT_LEVEL_BINDING_INDEX(%arg_y))
    3563         __(movl %imm0,%rcontext:tcr.db_link)
     3571        __(movl %imm0,rcontext(tcr.db_link))
    35643572        __(js 1f)
    356535730:      __(repret)
     
    35713579
    35723580_spentry(progvrestore)
    3573         __(movl %rcontext:tcr.save_tsp,%imm0)
     3581        __(movl rcontext(tcr.save_tsp),%imm0)
    35743582        __(movl tsp_frame.backlink(%imm0),%imm0) /* ignore .SPnthrowXXX values frame   */
    35753583        __(movl tsp_frame.data_offset(%imm0),%imm0)
     
    40034011        __(push %arg_z)
    40044012        __(push %fn)
    4005         __(movl %esp,%rcontext:tcr.save_vsp)
    4006         __(movl %ebp,%rcontext:tcr.save_ebp)
    4007         __(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
    4008         __(movl %rcontext:tcr.foreign_sp,%esp)
    4009         __(stmxcsr %rcontext:tcr.lisp_mxcsr)
     4013        __(movl %esp,rcontext(tcr.save_vsp))
     4014        __(movl %ebp,rcontext(tcr.save_ebp))
     4015        __(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
     4016        __(movl rcontext(tcr.foreign_sp),%esp)
     4017        __(stmxcsr rcontext(tcr.lisp_mxcsr))
    40104018        __(emms)
    4011         __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
     4019        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
    40124020        __(movl (%esp),%ebp)
    40134021LocalLabelPrefix[]ffcall_setup:
     
    40174025LocalLabelPrefix[]ffcall_call_end:
    40184026        __(movl %ebp,%esp)
    4019         __(movl %esp,%rcontext:tcr.foreign_sp)
     4027        __(movl %esp,rcontext(tcr.foreign_sp))
    40204028        __(clr %arg_z)
    40214029        __(clr %arg_y)
     
    40264034        __ifdef([DARWIN])
    40274035        /* Darwin's math library seems to cause spurious FP exceptions. */
    4028         __(movl %arg_z,%rcontext:tcr.ffi_exception)
     4036        __(movl %arg_z,rcontext(tcr.ffi_exception))
    40294037        __else
    4030         __(stmxcsr %rcontext:tcr.ffi_exception)
     4038        __(stmxcsr rcontext(tcr.ffi_exception))
    40314039        __endif
    4032         __(movl %rcontext:tcr.save_vsp,%esp)
    4033         __(movl %rcontext:tcr.save_ebp,%ebp)
    4034         __(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
     4040        __(movl rcontext(tcr.save_vsp),%esp)
     4041        __(movl rcontext(tcr.save_ebp),%ebp)
     4042        __(movl $TCR_STATE_LISP,rcontext(tcr.valence))
    40354043        __(pop %fn)
    40364044        __(pop %arg_z)
    40374045        __(pop %arg_y)
    40384046        __(pop %temp1)
    4039         __(ldmxcsr %rcontext:tcr.lisp_mxcsr)
     4047        __(ldmxcsr rcontext(tcr.lisp_mxcsr))
    40404048        __(check_pending_interrupt(%temp0))
    40414049        __(pop %temp0)
     
    41254133        __(addl $node_size,%esp)
    41264134        /* linear TCR addr now in %eax */
    4127         __(movw tcr.ldt_selector(%eax), %rcontext)
    4128         __(push %rcontext:tcr.foreign_sp)
    4129         __(movl %esp,%rcontext:tcr.foreign_sp)
     4135        __(movw tcr.ldt_selector(%eax), %rcontext_reg)
     4136        __(push rcontext(tcr.foreign_sp))
     4137        __(movl %esp,rcontext(tcr.foreign_sp))
    41304138        __(clr %arg_z)
    41314139        /* arg_y contains callback index */
     
    41344142        __(clr %fn)
    41354143        __(pxor %fpzero,%fpzero)
    4136         __(movl %rcontext:tcr.save_vsp,%esp)
     4144        __(movl rcontext(tcr.save_vsp),%esp)
    41374145        __(movl %ebp,%arg_z)
    4138         __(movl %rcontext:tcr.save_ebp,%ebp)
    4139         __(movl $TCR_STATE_LISP,%rcontext:tcr.valence)
    4140         __(stmxcsr %rcontext:tcr.foreign_mxcsr)
    4141         __(andb $~mxcsr_all_exceptions,%rcontext:tcr.foreign_mxcsr)
    4142         __(ldmxcsr %rcontext:tcr.lisp_mxcsr)
     4146        __(movl rcontext(tcr.save_ebp),%ebp)
     4147        __(movl $TCR_STATE_LISP,rcontext(tcr.valence))
     4148        __(stmxcsr rcontext(tcr.foreign_mxcsr))
     4149        __(andb $~mxcsr_all_exceptions,rcontext(tcr.foreign_mxcsr))
     4150        __(ldmxcsr rcontext(tcr.lisp_mxcsr))
    41434151        __(movl $nrs.callbacks,%fname)
    41444152        __(push $local_label(back_from_callback))
     
    41464154        __(jump_fname())
    41474155__(tra(local_label(back_from_callback)))
    4148         __(movl %esp,%rcontext:tcr.save_vsp)
    4149         __(movl %ebp,%rcontext:tcr.save_ebp)
    4150         __(movl %rcontext:tcr.foreign_sp,%esp)
    4151         __(stmxcsr %rcontext:tcr.lisp_mxcsr)
    4152         __(movl $TCR_STATE_FOREIGN,%rcontext:tcr.valence)
     4156        __(movl %esp,rcontext(tcr.save_vsp))
     4157        __(movl %ebp,rcontext(tcr.save_ebp))
     4158        __(movl rcontext(tcr.foreign_sp),%esp)
     4159        __(stmxcsr rcontext(tcr.lisp_mxcsr))
     4160        __(movl $TCR_STATE_FOREIGN,rcontext(tcr.valence))
    41534161        __(emms)
    4154         __(pop %rcontext:tcr.foreign_sp)
    4155         __(ldmxcsr %rcontext:tcr.foreign_mxcsr)
     4162        __(pop rcontext(tcr.foreign_sp))
     4163        __(ldmxcsr rcontext(tcr.foreign_mxcsr))
    41564164        __(pop %ebp)
    41574165        __(pop %ebx)
     
    42544262        __(jna local_label(regs_only))  /* either: 1 arg, 1 inherited, or */
    42554263                                        /* no args, 2 inherited */
    4256         __(pop %rcontext:tcr.save0)             /* save return address */
     4264        __(pop rcontext(tcr.save0))             /* save return address */
    42574265        __(cmpl $nargregs<<fixnumshift,%nargs)
    42584266        __(jna local_label(no_insert))
     
    42704278
    42714279/* Need to use arg regs as temporaries.  Stash them in the spill area. */
    4272         __(movl %arg_y,%rcontext:tcr.save1)
    4273         __(movl %arg_z,%rcontext:tcr.save2)
     4280        __(movl %arg_y,rcontext(tcr.save1))
     4281        __(movl %arg_z,rcontext(tcr.save2))
    42744282
    42754283        __(leal (%esp,%imm0),%temp0)    /* start of already-pushed args */
     
    42974305
    42984306        /* Recover arg regs, saved earlier */
    4299         __(movl %rcontext:tcr.save1,%arg_y)
    4300         __(movl %rcontext:tcr.save2,%arg_z)
     4307        __(movl rcontext(tcr.save1),%arg_y)
     4308        __(movl rcontext(tcr.save2),%arg_z)
    43014309        __(jmp local_label(go))
    43024310       
     
    43494357local_label(go):
    43504358        __(movl misc_data_offset+(6*node_size)(%fn),%fn)
    4351         __(push %rcontext:tcr.save0)    /* restore return addr */
    4352         __(movapd %fpzero,%rcontext:tcr.save0)  /* clear out spill area */
     4359        __(push rcontext(tcr.save0))    /* restore return addr */
     4360        __(movapd %fpzero,rcontext(tcr.save0))  /* clear out spill area */
    43534361        __(jmp *%fn)
    43544362local_label(regs_only):
Note: See TracChangeset for help on using the changeset viewer.