[cmucl-cvs] [git] CMU Common Lisp branch master updated. release-20c-23-geea8746
Raymond Toy
rtoy at common-lisp.net
Sat Nov 19 04:31:23 UTC 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".
The branch, master has been updated
via eea87468f7479a152a34ff2ad8f6fd53a011c36b (commit)
from 44ca897b25dda1179df1d8bfa3469d75594385d6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit eea87468f7479a152a34ff2ad8f6fd53a011c36b
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Fri Nov 18 20:27:26 2011 -0800
Remove hppa-assem.s. It's not referenced anywhere.
diff --git a/src/lisp/hppa-assem.s b/src/lisp/hppa-assem.s
deleted file mode 100644
index f021720..0000000
--- a/src/lisp/hppa-assem.s
+++ /dev/null
@@ -1,356 +0,0 @@
-#define LANGUAGE_ASSEMBLY
-
-#include "internals.h"
-#include "lispregs.h"
-
- .import $global$,data
- .import foreign_function_call_active,data
- .import current_control_stack_pointer,data
- .import current_control_frame_pointer,data
- .import current_binding_stack_pointer,data
- .import current_dynamic_space_free_pointer,data
-
- .space $TEXT$
- .subspa $CODE$
- .import $$dyncall,MILLICODE
-
-
-/*
- * Call-into-lisp
- */
-
- .export call_into_lisp
-call_into_lisp
- .proc
- .callinfo entry_gr=18,save_rp
- .enter
- /* arg0=function, arg1=cfp, arg2=nargs */
-
- /* Clear the descriptor regs, moving in args as approporate. */
- copy r0,reg_CODE
- copy r0,reg_FDEFN
- copy arg0,reg_LEXENV
- zdep arg2,29,30,reg_NARGS
- copy r0,reg_OCFP
- copy r0,reg_LRA
- copy r0,reg_A0
- copy r0,reg_A1
- copy r0,reg_A2
- copy r0,reg_A3
- copy r0,reg_A4
- copy r0,reg_A5
- copy r0,reg_L0
- copy r0,reg_L1
- copy r0,reg_L2
-
- /* Establish NIL. */
- ldil L%NIL,reg_NULL
- ldo R%NIL(reg_NULL),reg_NULL
-
- /* Turn on pseudo-atomic. */
- ldo 4(r0),reg_ALLOC
-
- /* No longer in foreign function call land. */
- addil L%foreign_function_call_active-$global$,dp
- stw r0,R%foreign_function_call_active-$global$(0,r1)
-
- /* Load lisp state. */
- addil L%current_dynamic_space_free_pointer-$global$,dp
- ldw R%current_dynamic_space_free_pointer-$global$(0,r1),r1
- add reg_ALLOC,r1,reg_ALLOC
- addil L%current_binding_stack_pointer-$global$,dp
- ldw R%current_binding_stack_pointer-$global$(0,r1),reg_BSP
- addil L%current_control_stack_pointer-$global$,dp
- ldw R%current_control_stack_pointer-$global$(0,r1),reg_CSP
- addil L%current_control_frame_pointer-$global$,dp
- ldw R%current_control_frame_pointer-$global$(0,r1),reg_OCFP
- copy arg1,reg_CFP
-
- /* End of pseudo-atomic. */
- addit,od -4,reg_ALLOC,reg_ALLOC
-
- /* Establish lisp arguments. */
- ldw 0(reg_CFP),reg_A0
- ldw 4(reg_CFP),reg_A1
- ldw 8(reg_CFP),reg_A2
- ldw 12(reg_CFP),reg_A3
- ldw 16(reg_CFP),reg_A4
- ldw 20(reg_CFP),reg_A5
-
- /* Calculate the LRA. */
- ldil L%lra+type_OtherPointer,reg_LRA
- ldo R%lra+type_OtherPointer(reg_LRA),reg_LRA
-
- /* Indirect the closure */
- ldw CLOSURE_FUNCTION_OFFSET(0,reg_LEXENV),reg_CODE
- addi 6*4-type_FunctionPointer,reg_CODE,reg_LIP
-
- /* And into lisp we go. */
- .export break_here
-break_here
- be,n 0(sr5,reg_LIP)
-
- .align 8
-lra
- .word type_ReturnPcHeader
- copy reg_OCFP,reg_CSP
-
- /* Copy CFP (r4) into someplace else and restore r4. */
- copy reg_CFP,reg_NL1
- ldw -64(0,sp),r4
-
- /* Copy the return value. */
- copy reg_A0,ret0
-
- /* Turn on pseudo-atomic. */
- addi 4,reg_ALLOC,reg_ALLOC
-
- /* Store the lisp state. */
- copy reg_ALLOC,reg_NL0
- depi 0,31,3,reg_NL0
- addil L%current_dynamic_space_free_pointer-$global$,dp
- stw reg_NL0,R%current_dynamic_space_free_pointer-$global$(0,r1)
- addil L%current_binding_stack_pointer-$global$,dp
- stw reg_BSP,R%current_binding_stack_pointer-$global$(0,r1)
- addil L%current_control_stack_pointer-$global$,dp
- stw reg_CSP,R%current_control_stack_pointer-$global$(0,r1)
- addil L%current_control_frame_pointer-$global$,dp
- stw reg_NL1,R%current_control_frame_pointer-$global$(0,r1)
-
- /* Back in C land. [CSP is just a handy non-zero value.] */
- addil L%foreign_function_call_active-$global$,dp
- stw reg_CSP,R%foreign_function_call_active-$global$(0,r1)
-
- /* Turn off pseudo-atomic and check for traps. */
- addit,od -4,reg_ALLOC,reg_ALLOC
-
- /* And thats all. */
- .leave
- .procend
-
-
-/*
- * Call-into-C
- */
-
-
- .export call_into_c
-call_into_c
- /* Set up a lisp stack frame. Note: we convert the raw return pc into
- * a fixnum pc-offset because we don't have ahold of an lra object.
- */
- copy reg_CFP, reg_OCFP
- copy reg_CSP, reg_CFP
- addi 32, reg_CSP, reg_CSP
- stw reg_OCFP, 0(0,reg_CFP)
- sub reg_LIP, reg_CODE, reg_NL5
- addi 3-type_OtherPointer, reg_NL5, reg_NL5
- stw reg_NL5, 4(0,reg_CFP)
- stw reg_CODE, 8(0,reg_CFP)
-
- /* Turn on pseudo-atomic. */
- addi 4, reg_ALLOC, reg_ALLOC
-
- /* Store the lisp state. */
- copy reg_ALLOC,reg_NL5
- depi 0,31,3,reg_NL5
- addil L%current_dynamic_space_free_pointer-$global$,dp
- stw reg_NL5,R%current_dynamic_space_free_pointer-$global$(0,r1)
- addil L%current_binding_stack_pointer-$global$,dp
- stw reg_BSP,R%current_binding_stack_pointer-$global$(0,r1)
- addil L%current_control_stack_pointer-$global$,dp
- stw reg_CSP,R%current_control_stack_pointer-$global$(0,r1)
- addil L%current_control_frame_pointer-$global$,dp
- stw reg_CFP,R%current_control_frame_pointer-$global$(0,r1)
-
- /* Back in C land. [CSP is just a handy non-zero value.] */
- addil L%foreign_function_call_active-$global$,dp
- stw reg_CSP,R%foreign_function_call_active-$global$(0,r1)
-
- /* Turn off pseudo-atomic and check for traps. */
- addit,od -4,reg_ALLOC,reg_ALLOC
-
- /* in order to be able to call incrementally linked (ld -A) functions,
- we have to do some mild trickery here */
- copy reg_CFUNC,%r22
- bl $$dyncall,r31
- copy r31, r2
-
- /* Clear the callee saves descriptor regs. */
- copy r0, reg_A5
- copy r0, reg_L0
- copy r0, reg_L1
- copy r0, reg_L2
-
- /* Turn on pseudo-atomic. */
- ldi 4, reg_ALLOC
-
- /* Turn off foreign function call. */
- addil L%foreign_function_call_active-$global$,dp
- stw r0,R%foreign_function_call_active-$global$(0,r1)
-
- /* Load ALLOC. */
- addil L%current_dynamic_space_free_pointer-$global$,dp
- ldw R%current_dynamic_space_free_pointer-$global$(0,r1),r1
- add reg_ALLOC,r1,reg_ALLOC
-
- /* We don't need to load OCFP, CFP, CSP, or BSP because they are
- * in caller saves registers.
- */
-
- /* End of pseudo-atomic. */
- addit,od -4,reg_ALLOC,reg_ALLOC
-
- /* Restore CODE. Even though it is in a callee saves register
- * it might have been GC'ed.
- */
- ldw 8(0,reg_CFP), reg_CODE
-
- /* Restore the return pc. */
- ldw 4(0,reg_CFP), reg_NL0
- addi type_OtherPointer-3, reg_NL0, reg_NL0
- add reg_CODE, reg_NL0, reg_LIP
-
- /* Pop the lisp stack frame, and back we go. */
- copy reg_CFP, reg_CSP
- be 0(4,reg_LIP)
- copy reg_OCFP, reg_CFP
-
-
-
-/*
- * Stuff to sanctify a block of memory for execution.
- */
-
- .EXPORT sanctify_for_execution
-sanctify_for_execution
- .proc
- .callinfo
- .enter
- /* arg0=start addr, arg1=length in bytes */
- add arg0,arg1,arg1
- ldo -1(arg1),arg1
- depi 0,31,5,arg0
- depi 0,31,5,arg1
- ldsid (arg0),r19
- mtsp r19,sr1
- ldi 32,r19 ; bytes per cache line
-sanctify_loop
- fdc 0(sr1,arg0)
- comb,< arg0,arg1,sanctify_loop
- fic,m r19(sr1,arg0)
- .leave
- .procend
-
-
-/*
- * Trampolines.
- */
-
- .EXPORT closure_tramp
-closure_tramp
- /* reg_FDEFN holds the fdefn object. */
- ldw FDEFN_FUNCTION_OFFSET(0,reg_FDEFN),reg_LEXENV
- ldw CLOSURE_FUNCTION_OFFSET(0,reg_LEXENV),reg_L0
- addi FUNCTION_CODE_OFFSET, reg_L0, reg_LIP
- bv,n 0(reg_LIP)
-
- .EXPORT undefined_tramp
-undefined_tramp
- break trap_Error,0
- /* Number of argument bytes */
- .byte 4
- .byte UNDEFINED_SYMBOL_ERROR
- /* Escape to create 16bit BE number from following two values */
- .byte 254
- /* SC_OFFSET(sc_DescriptorReg,reg_LEXENV) */
- /* Shouldn't this be reg_FDEFN, instead? */
- .byte (0x40 + sc_DescriptorReg)
- .byte 1
- .align 4
-
-
-/*
- * Core saving/restoring support
- */
-
- .export call_on_stack
-call_on_stack
- /* arg0 = fn to invoke, arg1 = new stack base */
-
- /* Compute the new stack pointer. */
- addi 64,arg1,sp
-
- /* Zero out the previous stack pointer. */
- stw r0,-4(0,sp)
-
- /* Invoke the function. */
- ble 0(4,arg0)
- copy r31, r2
-
- /* Flame out. */
- break 0,0
-
- .export save_state
-save_state
- .proc
- .callinfo entry_gr=18,entry_fr=21,save_rp,calls
- .enter
-
- /* Remember the function we want to invoke */
- copy arg0,r19
-
- /* Pass the new stack pointer in as arg0 */
- copy sp,arg0
-
- /* Leave arg1 as arg1. */
-
- /* do the call. */
- ble 0(4,r19)
- copy r31, r2
-
-_restore_state
- .leave
- .procend
-
- .export restore_state
-restore_state
- .proc
- .callinfo
- copy arg0,sp
- b _restore_state
- copy arg1,ret0
- .procend
-
-
-
- .export SingleStepTraps
-SingleStepTraps
- break trap_SingleStepBreakpoint,0
- break trap_SingleStepBreakpoint,0
-
-
-
- .align 8
- .export function_end_breakpoint_guts
-function_end_breakpoint_guts
- .word type_ReturnPcHeader
- /* multiple value return point -- just jump to trap. */
- b,n function_end_breakpoint_trap
- /* single value return point -- convert to multiple w/ n=1 */
- copy reg_CSP, reg_OCFP
- addi 4, reg_CSP, reg_CSP
- addi 4, r0, reg_NARGS
- copy reg_NULL, reg_A1
- copy reg_NULL, reg_A2
- copy reg_NULL, reg_A3
- copy reg_NULL, reg_A4
- copy reg_NULL, reg_A5
-
- .export function_end_breakpoint_trap
-function_end_breakpoint_trap
- break trap_FunctionEndBreakpoint,0
- b,n function_end_breakpoint_trap
-
- .export function_end_breakpoint_end
-function_end_breakpoint_end
-----------------------------------------------------------------------
Summary of changes:
src/lisp/hppa-assem.s | 356 -------------------------------------------------
1 files changed, 0 insertions(+), 356 deletions(-)
delete mode 100644 src/lisp/hppa-assem.s
hooks/post-receive
--
CMU Common Lisp
More information about the cmucl-cvs
mailing list