From: Nikodemus S. <de...@us...> - 2009-01-04 07:35:59
|
Update of /cvsroot/sbcl/sbcl/src/runtime In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20678/src/runtime Modified Files: hppa-assem.S runtime.c Log Message: 1.0.24.21: call stub needed to switch between hpux heap-spaces * Patch by Larry Valkama. Index: hppa-assem.S =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/hppa-assem.S,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- hppa-assem.S 3 Jan 2009 16:26:22 -0000 1.3 +++ hppa-assem.S 4 Jan 2009 07:35:54 -0000 1.4 @@ -108,12 +108,16 @@ /* Indirect the closure */ ldw CLOSURE_FUN_OFFSET(0,reg_LEXENV),reg_CODE - addi 6*4-FUN_POINTER_LOWTAG,reg_CODE,reg_LIP + addi SIMPLE_FUN_CODE_OFFSET,reg_CODE,reg_LIP - /* And into lisp we go. */ - .export break_here -break_here: - be,n 0(%sr5,reg_LIP) +#ifdef LISP_FEATURE_HPUX + /* Get the stub address, ie assembly-routine return-from-lisp */ + addil L%return_from_lisp_stub-$global$,%dp + ldw R%return_from_lisp_stub-$global$(0,%r1),reg_NL0 + be,n 0(%sr5,reg_NL0) +#else + be,n 0(%sr5,reg_NL0) +#endif break 0,0 Index: runtime.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/runtime.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- runtime.c 2 Jan 2009 12:42:09 -0000 1.74 +++ runtime.c 4 Jan 2009 07:35:54 -0000 1.75 @@ -70,6 +70,10 @@ #define SBCL_HOME "/usr/local/lib/sbcl/" #endif +#ifdef LISP_FEATURE_HPUX +extern void *return_from_lisp_stub; +#endif + /* SIGINT handler that invokes the monitor (for when Lisp isn't up to it) */ static void @@ -426,6 +430,10 @@ if (initial_function == NIL) { lose("couldn't find initial function\n"); } +#ifdef LISP_FEATURE_HPUX + return_from_lisp_stub = (void *) ((char *)*((unsigned long *) + ((char *)initial_function - 1)) + 23); +#endif gc_initialize_pointers(); |