Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/lisp/sparc64-assem.S
    ... ... @@ -152,20 +152,12 @@ lra:
    152 152
             .global call_into_c
    
    153 153
     	FUNCDEF(call_into_c)
    
    154 154
     call_into_c:
    
    155
    -#ifdef v8plus
    
    156
    -	stx	%o2, [%fp + STACK_BIAS - 8 - 1*8]
    
    157
    -	stx	%o3, [%fp + STACK_BIAS - 8 - 2*8]
    
    158
    -	stx	%o4, [%fp + STACK_BIAS - 8 - 3*8]
    
    159
    -	stx	%o5, [%fp + STACK_BIAS - 8 - 4*8]
    
    160
    -	stx	%o6, [%fp + STACK_BIAS - 8 - 5*8]
    
    161
    -	stx	%o7, [%fp + STACK_BIAS - 8 - 6*8]
    
    162
    -#endif		
    
    163 155
             /* Build a lisp stack frame */
    
    164 156
             mov     reg_CFP, reg_OCFP
    
    165 157
             mov     reg_CSP, reg_CFP
    
    166
    -        add     reg_CSP, 32, reg_CSP
    
    167
    -        st      reg_OCFP, [reg_CFP]
    
    168
    -        st      reg_CODE, [reg_CFP+8]
    
    158
    +        add     reg_CSP, 64, reg_CSP
    
    159
    +        stn     reg_OCFP, [reg_CFP]
    
    160
    +        stn     reg_CODE, [reg_CFP+8]
    
    169 161
     
    
    170 162
             /* Turn on pseudo-atomic. */
    
    171 163
     	or	reg_ALLOC, pseudo_atomic_Value, reg_ALLOC
    
    ... ... @@ -173,7 +165,7 @@ call_into_c:
    173 165
     	/* Convert the return address to an offset and save it on the stack. */
    
    174 166
     	sub	reg_LIP, reg_CODE, reg_L0
    
    175 167
     	add	reg_L0, type_OtherPointer, reg_L0
    
    176
    -	st	reg_L0, [reg_CFP+4]
    
    168
    +	stn	reg_L0, [reg_CFP+2*8]
    
    177 169
     
    
    178 170
             /* Store LISP state */
    
    179 171
             store(reg_BSP,current_binding_stack_pointer)
    
    ... ... @@ -226,8 +218,8 @@ call_into_c:
    226 218
             load(current_control_frame_pointer, reg_CFP)
    
    227 219
     
    
    228 220
     	/* Get the return address back. */
    
    229
    -	ld	[reg_CFP+4], reg_LIP
    
    230
    -	ld	[reg_CFP+8], reg_CODE
    
    221
    +	ldn	[reg_CFP+8], reg_LIP
    
    222
    +	ldn	[reg_CFP+16], reg_CODE
    
    231 223
     	add	reg_LIP, reg_CODE, reg_LIP
    
    232 224
     	sub	reg_LIP, type_OtherPointer, reg_LIP
    
    233 225
     
    
    ... ... @@ -241,14 +233,6 @@ call_into_c:
    241 233
             mov     reg_CFP, reg_CSP
    
    242 234
             mov     reg_OCFP, reg_CFP
    
    243 235
     
    
    244
    -#ifdef v8plus
    
    245
    -	ldx	[%fp + STACK_BIAS - 8 - 1*8], %o2
    
    246
    -	ldx	[%fp + STACK_BIAS - 8 - 2*8], %o3
    
    247
    -	ldx	[%fp + STACK_BIAS - 8 - 3*8], %o4
    
    248
    -	ldx	[%fp + STACK_BIAS - 8 - 4*8], %o5
    
    249
    -	ldx	[%fp + STACK_BIAS - 8 - 5*8], %o6
    
    250
    -	ldx	[%fp + STACK_BIAS - 8 - 6*8], %o7
    
    251
    -#endif		
    
    252 236
             /* And back into lisp. */
    
    253 237
             ret
    
    254 238
             nop