Index: /trunk/source/lisp-kernel/x86-macros.s
===================================================================
--- /trunk/source/lisp-kernel/x86-macros.s	(revision 8340)
+++ /trunk/source/lisp-kernel/x86-macros.s	(revision 8341)
@@ -245,9 +245,9 @@
 define([set_nargs],[
         ifelse(eval($1>15),1,[
-        __(movl [$]$1<<fixnumshift,%nargs_l)
+        __(movl [$]$1<<fixnumshift,%nargs)
         ],[
-        __(xorl %nargs_l,%nargs_l)
+        __(xorl %nargs,%nargs)
         ifelse(eval($1),0,[],[
-        __(addl [$]$1<<fixnumshift,%nargs_l)
+        __(addl [$]$1<<fixnumshift,%nargs)
         ])])])
         
@@ -393,7 +393,7 @@
 define([push_argregs],[
 	new_macro_labels()
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jz macro_label(done))
-	__(cmpw [$]2*node_size,%nargs)
+	__(cmpl [$]2*node_size,%nargs)
 	__(je macro_label(yz))
 	__(jb macro_label(z))
Index: /trunk/source/lisp-kernel/x86-spentry64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-spentry64.s	(revision 8340)
+++ /trunk/source/lisp-kernel/x86-spentry64.s	(revision 8341)
@@ -1121,6 +1121,5 @@
 	__(cmpq lisp_frame.savera0(%rbp),%temp1)
 	__(je 1f)
-	__(testw %nargs,%nargs)
-	__(movzwl %nargs,%nargs_l)
+	__(testl %nargs,%nargs)
 	__(movl $nil_value,%arg_z_l)
 	__(cmovneq -node_size(%rsp,%nargs_q),%arg_z)
@@ -1131,5 +1130,4 @@
 /* actually need to return values ; always need to copy   */
 1:	__(leaq 2*node_size(%rbp),%imm1)
-	__(movzwl %nargs,%nargs_l)
 	__(movq (%imm1),%ra0)
 	__(addq $node_size,%imm1)
@@ -1140,8 +1138,8 @@
 2:	__(movq -node_size(%temp0),%temp1)
 	__(subq $node_size,%temp0)
-	__(addq $node_size,%imm0)
+	__(addl $node_size,%imm0_l)
 	__(movq %temp1,-node_size(%imm1))
 	__(subq $node_size,%imm1)
-3:	__(cmpw %imm0_w,%nargs)
+3:	__(cmpl %imm0_l,%nargs)  ;
 	__(jne 2b)
 	__(movq %imm1,%rsp)
@@ -1197,5 +1195,4 @@
 	__(movq %rcontext:tcr.catch_top,%imm1)
 	__(xorl %imm0_l,%imm0_l)
-	__(movzwl %nargs,%nargs_l)
 	__(movq (%rsp,%nargs_q),%temp0)	/* temp0 = tag   */
 	__(jmp local_label(_throw_test))
@@ -1215,5 +1212,5 @@
 	__(testb $fulltagmask,catch_frame.mvflag(%imm1))
 	__(jne local_label(_throw_multiple))
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(movl $nil_value,%arg_z_l)
 	__(je local_label(_throw_one_value))
@@ -1300,5 +1297,4 @@
 _spentry(nthrowvalues)
 	__(movb $1,%rcontext:tcr.unwinding)
-	__(movzwl %nargs,%nargs_l)
 local_label(_nthrowv_nextframe):
 	__(subq $fixnumone,%imm0)
@@ -1390,5 +1386,5 @@
 	__(addq $node_size,%imm1)
 local_label(_nthrowv_tpushtest):
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 	__(jns local_label(_nthrowv_tpushloop))
 	__(pop %xfn)
@@ -1438,5 +1434,4 @@
 _spentry(nthrow1value)
 	__(movb $1,%rcontext:tcr.unwinding)
-	__(movzwl %nargs,%nargs_l)
 local_label(_nthrow1v_nextframe):
 	__(subq $fixnumone,%imm0)
@@ -1648,9 +1643,9 @@
 _spentry(conslist)
 	__(movl $nil_value,%arg_z_l)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jmp 2f)
 1:	__(pop %arg_y)
 	__(Cons(%arg_y,%arg_z,%arg_z))
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 2:	__(jnz 1b)
 	__(jmp *%ra0)		
@@ -1661,9 +1656,9 @@
 	
 _spentry(conslist_star)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jmp 2f)
 1:	__(pop %arg_y)
 	__(Cons(%arg_y,%arg_z,%arg_z))
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 2:	__(jnz 1b)
 	__(jmp *%ra0)		
@@ -1673,5 +1668,4 @@
 /* doesn't get confused.   */
 _spentry(stkconslist)
-	__(movzwl %nargs,%nargs_l)
 	__(movq %nargs_q,%imm1)
 	__(addq %imm1,%imm1)
@@ -1680,5 +1674,5 @@
 	__(TSP_Alloc_Var(%imm1,%imm0))
 	__(addq $fulltag_cons,%imm0)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jmp 2f)
 1:	__(pop %temp0)
@@ -1687,5 +1681,5 @@
 	__(movq %imm0,%arg_z)
 	__(add $cons.size,%imm0)
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 2:	__(jne 1b)
 	__(jmp *%ra0)
@@ -1696,5 +1690,4 @@
 	
 _spentry(stkconslist_star)
-	__(movzwl %nargs,%nargs_l)
 	__(movq %nargs_q,%imm1)
 	__(addq %imm1,%imm1)
@@ -1702,5 +1695,5 @@
 	__(TSP_Alloc_Var(%imm1,%imm0))
 	__(addq $fulltag_cons,%imm0)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jmp 2f)
 1:	__(pop %temp0)
@@ -1709,5 +1702,5 @@
 	__(movq %imm0,%arg_z)
 	__(addq $cons.size,%imm0)
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 2:	__(jne 1b)
 	__(jmp *%ra0)
@@ -1718,17 +1711,16 @@
 	
 _spentry(mkstackv)
-	__(movzwl %nargs,%nargs_l)
 	__(dnode_align(%nargs_q,tsp_frame.fixed_overhead+node_size,%imm1))
 	__(TSP_Alloc_Var(%imm1,%temp0))
-	__(movl %nargs_l,%imm0_l)
+	__(movl %nargs,%imm0_l)
 	__(shlq $(num_subtag_bits-fixnumshift),%imm0)
 	__(movb $subtag_simple_vector,%imm0_b)
 	__(movq %imm0,(%temp0))
 	__(leaq fulltag_misc(%temp0),%arg_z)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(leaq misc_data_offset(%arg_z,%nargs_q),%imm1)
 	__(jmp 2f)
 1:	__(pop -node_size(%imm1))
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 	__(leaq -node_size(%imm1),%imm1)
 2:	__(jne 1b)
@@ -2084,5 +2076,4 @@
 /* objects.   */
 _spentry(gvector)
-	__(movzwl %nargs,%nargs_l)
 	__(movq (%rsp,%nargs_q),%imm0)	/* boxed subtype   */
 	__(sarq $fixnumshift,%imm0)
@@ -2116,8 +2107,7 @@
 	__(ref_global(ret1val_addr,%imm1))
 	__(cmpq %imm1,%ra0)
-	__(movzwl %nargs,%nargs_l)
 	__(movl $nil_value,%arg_z_l)
 	__(je 0f)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(cmovneq -node_size(%rsp,%nargs_q),%arg_z)
 	__(movq %temp0,%rsp)
@@ -2152,6 +2142,5 @@
 	__(push_argregs())
         __(movq %next_method_context,%arg_y)
-	__(movzwl %nargs,%nargs_l)
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(testl %imm1_l,%imm1_l)
 	__(movl $nil_value,%arg_z_l)
@@ -2171,6 +2160,5 @@
 	__(push_argregs())
         __(movq %next_method_context,%arg_y)
-	__(movzwl %nargs,%nargs_l)
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(subl %imm0_l,%imm1_l)
 	__(movl $nil_value,%arg_z_l)
@@ -2189,6 +2177,5 @@
 /* make an &rest arg out of any others   */
 _spentry(heap_cons_rest_arg)
-	__(movzwl %nargs,%nargs_l)
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(subl %imm0_l,%imm1_l)
         __(movq %next_method_context,%arg_y)
@@ -2230,5 +2217,5 @@
 	
 _spentry(keyword_bind)
-	__(movzwl %nargs,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(subq %imm0,%imm1)
 	__(jbe local_label(no_keyword_values))
@@ -2237,9 +2224,9 @@
 	__(movl $nil_value,%arg_z_l)
 	__(movq %imm1,%nargs_q)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jmp 1f)
 0:	__(pop %arg_y)
 	__(Cons(%arg_y,%arg_z,%arg_z))
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 1:	__(jnz 0b)
 	__(movl $XBADKEYS,%arg_y_l)
@@ -2354,10 +2341,10 @@
 	/* Signal an "unknown keywords" error   */
 	__(movq %imm1,%nargs_q)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
         __(movl $nil_value,%arg_z_l)
 	__(jmp 5f)
 4:	__(pop %arg_y)
 	__(Cons(%arg_y,%arg_z,%arg_z))
-	__(subw $node_size,%nargs)
+	__(subl $node_size,%nargs)
 5:	__(jnz 4b)
 	__(movl $XBADKEYS,%arg_y_l)
@@ -2403,6 +2390,5 @@
 
 _spentry(stack_cons_rest_arg)
-	__(movzwl %nargs,%nargs_l)
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(subl %imm0_l,%imm1_l)
 	__(movl $nil_value,%arg_z_l)
@@ -2451,5 +2437,5 @@
 /*   if all args fit in registers.   */
 _spentry(spreadargz)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(jne 0f)
 	__(push $reserved_frame_marker)
@@ -2469,15 +2455,15 @@
 	__(push %arg_x)
 	__(jne 1b)
-2:	__(addw %imm0_w,%nargs)
+2:	__(addw %imm0_w,%nargs_w)
 	__(jne 4f)
 3:	__(addq $2*node_size,%rsp)
 	__(jmp *%ra0)
-4:	__(cmpw $1*node_size,%nargs)
+4:	__(cmpl $1*node_size,%nargs)
 	__(pop %arg_z)
 	__(je 3b)
-	__(cmpw $2*node_size,%nargs)
+	__(cmpl $2*node_size,%nargs)
 	__(pop %arg_y)
 	__(je 3b)
-	__(cmpw $3*node_size,%nargs)
+	__(cmpl $3*node_size,%nargs)
 	__(pop %arg_x)
 	__(je 3b)
@@ -2504,7 +2490,6 @@
 /* relative to it and restore %rbp/%ra0   */
 _spentry(tfuncallgen)
-	__(cmpw $nargregs*node_size,%nargs)
+	__(cmpl $nargregs*node_size,%nargs)
 	__(jbe 9f)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2530,5 +2515,4 @@
 /* Some args were pushed; move them down in the frame   */
 _spentry(tfuncallslide)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2555,7 +2539,6 @@
 
 _spentry(tcallsymgen)
-	__(cmpw $nargregs*node_size,%nargs)
+	__(cmpl $nargregs*node_size,%nargs)
 	__(jbe 9f)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2580,5 +2563,4 @@
 
 _spentry(tcallsymslide)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2604,7 +2586,6 @@
 
 _spentry(tcallnfngen)
-	__(cmpw $nargregs*node_size,%nargs)
+	__(cmpl $nargregs*node_size,%nargs)
 	__(jbe 9f)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2631,5 +2612,4 @@
 
 _spentry(tcallnfnslide)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -nargregs*node_size(%rsp,%nargs_q),%imm0)
 	__(xorl %imm1_l,%imm1_l)
@@ -2753,5 +2733,4 @@
 /* node header subtag.) Nargs set to count of things vpushed. 	  */
 _spentry(stkgvector)
-	__(movzwl %nargs,%nargs_l)
 	__(lea -fixnum_one(%nargs_q),%imm0)
 	__(lea (%rsp,%imm0),%arg_x)
@@ -2840,8 +2819,8 @@
 	__(jne local_label(req_loop))
 local_label(opt):	
-	__(movw %nargs,%imm0_w)
+	__(movw %nargs_w,%imm0_w)
 	__(shrw $8,%imm0_w)
 	__(je local_label(rest_keys))
-	__(btl $initopt_bit,%nargs_l)
+	__(btl $initopt_bit,%nargs)
 	__(jc local_label(opt_supp))
 	/* 'simple' &optionals:	 no supplied-p, default to nil.   */
@@ -2880,7 +2859,7 @@
 	__(jne local_label(default_hard_opt))	
 local_label(rest_keys):	
-	__(btl $restp_bit,%nargs_l)
+	__(btl $restp_bit,%nargs)
 	__(jc local_label(have_rest))
-	__(btl $keyp_bit,%nargs_l)
+	__(btl $keyp_bit,%nargs)
 	__(jc local_label(have_keys))
 	__(compare_reg_to_nil(%arg_reg))
@@ -2889,5 +2868,5 @@
 local_label(have_rest):
 	__(pushq %arg_reg)
-	__(btl $keyp_bit,%nargs_l)
+	__(btl $keyp_bit,%nargs)
 	__(jc local_label(have_keys))
 	__(jmp *%ra0)		
@@ -2916,5 +2895,5 @@
 	/* of NILs on the vstack.   */
 	
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(shrl $16,%imm1_l)
 	__(movzbl %imm1_b,%imm0_l)
@@ -2960,10 +2939,10 @@
 	__(jne local_label(match_keys_loop))
 	__(subl $1,%imm0_l)
-	__(btsl $seen_aok_bit,%nargs_l)
+	__(btsl $seen_aok_bit,%nargs)
 	__(jc local_label(match_keys_loop))
 	/* First time we've seen :allow-other-keys.  Maybe set aok_bit.   */
 	__(compare_reg_to_nil(%save3))
 	__(je local_label(match_keys_loop))
-	__(btsl $aok_bit,%nargs_l)
+	__(btsl $aok_bit,%nargs)
 	__(jmp local_label(match_keys_loop))
 	/* Got a match.  Worry about :allow-other-keys here, too.   */
@@ -2976,9 +2955,9 @@
 	__(cmpq $nrs.kallowotherkeys,%save2)
 	__(jne local_label(match_keys_loop))
-	__(btsl $seen_aok_bit,%nargs_l)
+	__(btsl $seen_aok_bit,%nargs)
 	__(jnc local_label(match_keys_loop))
 	__(compare_reg_to_nil(%save3))
 	__(je local_label(match_keys_loop))
-	__(btsl $aok_bit,%nargs_l)
+	__(btsl $aok_bit,%nargs)
 	__(jmp local_label(match_keys_loop))
 local_label(matched_keys):		
@@ -2989,5 +2968,5 @@
 	__(testl %imm0_l,%imm0_l)
 	__(je local_label(keys_ok)) 
-	__(btl $aok_bit,%nargs_l)
+	__(btl $aok_bit,%nargs)
 	__(jnc local_label(badkeys))
 local_label(keys_ok):	
@@ -3064,6 +3043,5 @@
 /* the difference between the current RSP and the target.   */
 _spentry(mvslide)
-	__(movzwl %nargs,%nargs_l)
-	__(movl %nargs_l,%imm1_l)
+	__(movl %nargs,%imm1_l)
 	__(lea (%rsp,%nargs_q),%temp0)
 	__(testq %imm1,%imm1)
@@ -3085,5 +3063,4 @@
 /* common exit: nargs = values in this set, imm1 = ptr to tsp before call to save_values   */
 local_label(save_values_to_tsp):
-	__(movzwl %nargs,%nargs_l)
 	__(movq %rcontext:tcr.save_tsp,%arg_x)
 	__(dnode_align(%nargs_q,tsp_frame.fixed_overhead+(2*node_size),%imm0)) /* count, link   */
@@ -3115,5 +3092,5 @@
 /* values. This makes recover_values harder.   */
 _spentry(add_values)
-	__(testw %nargs,%nargs)
+	__(testl %nargs,%nargs)
 	__(movq %rcontext:tcr.save_tsp,%imm1)
 	__(movq (%imm1),%imm1)
@@ -3141,5 +3118,4 @@
 	__(jne local_label(walkloop))
 
-	__(movzwl %nargs,%nargs_l)
 	/* the final segment pointer is now in %arg_y  */
 	/* walk backwards, pushing values on the stack and incrementing %nargs   */
@@ -3172,5 +3148,5 @@
 	/* segment pointers Can tell the end because that previous  */
 	/* segment pointer is the prev tsp pointer   */
-        __(xorl %nargs_l,%nargs_l)
+        __(xorl %nargs,%nargs)
 	__(movq %rcontext:tcr.save_tsp,%temp1)
 	__(movq %temp1,%arg_x)	/* current segment   */
@@ -3186,5 +3162,5 @@
 	__(jne local_label(walkloop_mvcall))
 
-        __(cmpw $nargregs*node_size,%nargs)
+        __(cmpl $nargregs*node_size,%nargs)
         __(jbe local_label(pushloop_mvcall))
         __(push $reserved_frame_marker)
@@ -4415,5 +4391,5 @@
 	new_local_labels()
 	__(movq (%arg_z),%imm0)
-	__(testw %nargs,%nargs) /* anything pushed by caller ? */
+	__(testl %nargs,%nargs) /* anything pushed by caller ? */
         __(leaq node_size(%arg_z,%imm0),%imm1)
         __(jne 0f)              /* yes, caller has already created frame. */
@@ -4422,5 +4398,5 @@
         __(push $reserved_frame_marker)
         __(push $reserved_frame_marker)
-0:      __(addw %imm0_w,%nargs)
+0:      __(addw %imm0_w,%nargs_w)
         __(cmpw $(nargregs*node_size),%imm0_w)
         __(jae 9f)
@@ -4431,12 +4407,12 @@
         /* lexpr count was 0; vpop the args that */
         /* were pushed by the caller */
-        __(testw %nargs,%nargs)
+        __(testl %nargs,%nargs)
         __(je local_label(all_args_popped))
         __(pop %arg_z)
 local_label(maybe_pop_yx):              
-        __(cmpw $(1*node_size),%nargs)
+        __(cmpl $(1*node_size),%nargs)
         __(je local_label(all_args_popped))
         __(pop %arg_y)
-        __(cmp $(2*node_size),%nargs)
+        __(cmpl $(2*node_size),%nargs)
         __(je local_label(all_args_popped))
 local_label(pop_arg_x):         
@@ -4446,7 +4422,7 @@
         /* by the caller, discard the reserved frame that the caller */
         /* pushed.         */
-        __(cmpw %imm0_w,%nargs)
+        __(cmpw %imm0_w,%nargs_w)
         __(je local_label(go))
-        __(cmpw $(nargregs*node_size),%nargs)
+        __(cmpl $(nargregs*node_size),%nargs)
         __(ja local_label(go))
         __(addq $(2*node_size),%rsp)
@@ -4468,5 +4444,5 @@
 	/* lexpr count is two: set arg_y, arg_z from the */
 	/* lexpr, maybe vpop arg_x */
-2:      __(cmpw $(2*node_size),%nargs)
+2:      __(cmpl $(2*node_size),%nargs)
         __(movq -node_size*1(%imm1),%arg_y)
         __(movq -node_size*2(%imm1),%arg_z)
@@ -4763,12 +4739,11 @@
         __(subq $fulltag_function-fulltag_misc,%fn)
         __(vector_length(%fn,%imm0))
-       	__(movzwl %nargs,%nargs_l)
 	
         __(subq $6<<fixnumshift,%imm0)  /* imm0 = inherited arg count   */
         __(lea (%nargs_q,%imm0),%imm1)
-        __(cmpw $nargregs<<fixnumshift,%imm1_w)
+        __(cmpl $nargregs<<fixnumshift,%imm1_l)
         __(jna,pt local_label(regs_only))
         __(pop %ra0)
-        __(cmpw $nargregs<<fixnumshift,%nargs)
+        __(cmpl $nargregs<<fixnumshift,%nargs)
         __(jna,pt local_label(no_insert))
 	
@@ -4803,5 +4778,5 @@
         __(movq misc_data_offset(%fn,%imm1),%arg_z)
         __(addq $node_size,%imm1)
-        __(addw $fixnum_one,%nargs)
+        __(addl $fixnum_one,%nargs)
         __(subq $node_size,%arg_x)
         __(movq %arg_z,(%arg_x))
@@ -4830,5 +4805,5 @@
 	/* nargregs or fewer args were already vpushed.   */
 	/* if exactly nargregs, vpush remaining inherited vars.   */
-        __(cmpw $nargregs<<fixnumshift,%nargs)
+        __(cmpl $nargregs<<fixnumshift,%nargs)
         __(movl $5<<fixnumshift,%imm1_l) /* skip code, new fn   */
         __(leaq 5<<fixnumshift(%imm0),%temp1)
@@ -4837,5 +4812,5 @@
         __(push misc_data_offset(%fn,%imm1))
         __(addq $node_size,%imm1)
-        __(addw $fixnumone,%nargs)
+        __(addl $fixnumone,%nargs)
         __(subq $node_size,%imm0)
         __(jnz local_label(vpush_remaining))
@@ -4844,10 +4819,10 @@
 	/* if nargs was > 1 (and we know that it was < 3), it must have   */
 	/* been 2.  Set arg_x, then vpush the remaining args.   */
-        __(cmpw $fixnumone,%nargs)
+        __(cmpl $fixnumone,%nargs)
         __(jle local_label(set_y_z))
 local_label(set_arg_x): 
         __(subq $node_size,%temp1)
         __(movq misc_data_offset(%fn,%temp1),%arg_x)
-        __(addw $fixnumone,%nargs)
+        __(addl $fixnumone,%nargs)
         __(subq $fixnumone,%imm0)
         __(jne local_label(vpush_remaining))
@@ -4860,5 +4835,5 @@
         __(subq $node_size,%temp1)
         __(movq misc_data_offset(%fn,%temp1),%arg_y)
-        __(addw $fixnumone,%nargs)
+        __(addl $fixnumone,%nargs)
         __(subq $fixnum_one,%imm0)
         __(jnz local_label(set_arg_x))
@@ -4867,5 +4842,5 @@
         __(subq $node_size,%temp1)
         __(movq misc_data_offset(%fn,%temp1),%arg_z)
-        __(addw $fixnumone,%nargs)
+        __(addl $fixnumone,%nargs)
         __(subq $fixnum_one,%imm0)
         __(jne local_label(set_arg_y))
@@ -4876,5 +4851,5 @@
 local_label(regs_only):
         __(leaq 5<<fixnumshift(%imm0),%temp1)
-        __(testw %nargs,%nargs)
+        __(testl %nargs,%nargs)
         __(jne local_label(some_args))
         __(cmpw $node_size,%imm0)
@@ -4886,8 +4861,8 @@
         __(movq misc_data_offset-(node_size*3)(%fn,%temp1),%arg_x)
 local_label(rgo):
-        __(addw %imm0_w,%nargs)
+        __(addw %imm0_w,%nargs_w)
         __(jmp *misc_data_offset+(4*node_size)(%fn))
 local_label(some_args):         
-        __(cmpw $2*node_size,%nargs)
+        __(cmpl $2*node_size,%nargs)
         __(jz local_label(rtwo))
         /* One arg was passed, could be one or two inherited args */
