From: <cli...@li...> - 2008-10-30 12:07:53
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog,1.6581.2.1,1.6581.2.2 (Sam Steingold) 2. clisp/modules/syscalls test.tst,1.86,1.87 (Sam Steingold) 3. clisp/src pathname.d,1.479,1.480 (Sam Steingold) 4. clisp/src lispbibl.d, NONE, 1.815.2.2 pathname.d, NONE, 1.480.2.2 stream.d, NONE, 1.621.2.2 ChangeLog, 1.6581.2.2, 1.6581.2.3 spvw_garcol.d, 1.108.2.2, 1.108.2.3 xthread.d, 1.15.2.2, 1.15.2.3 (Vladimir Tzankov) ---------------------------------------------------------------------- Message: 1 Date: Wed, 29 Oct 2008 19:06:45 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog,1.6581.2.1,1.6581.2.2 To: cli...@li... Message-ID: <E1K...@dd...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4698/src Modified Files: Tag: threads1 ChangeLog Log Message: formatting Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6581.2.1 retrieving revision 1.6581.2.2 diff -u -d -r1.6581.2.1 -r1.6581.2.2 --- ChangeLog 29 Oct 2008 19:01:57 -0000 1.6581.2.1 +++ ChangeLog 29 Oct 2008 19:06:43 -0000 1.6581.2.2 @@ -4,9 +4,8 @@ spinlock. * zthread.d (timeout_call_chain_lock): just declare it - do not initialize. - * xthread.d - (SPINLOCK_INIT): remove it. spinlocks should be initialized with - spinlock_init(). + * xthread.d (SPINLOCK_INIT): remove it. + spinlocks should be initialized with spinlock_init(). (xmutex_lock): do not use "var" for local variables. (xmutex_trylock): fix typo error. (spinlock_acquire): do not check for errors when spinlock_t=xmutex_t ------------------------------ Message: 2 Date: Wed, 29 Oct 2008 19:44:12 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/modules/syscalls test.tst,1.86,1.87 To: cli...@li... Message-ID: <E1K...@dd...> Update of /cvsroot/clisp/clisp/modules/syscalls In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv7156 Modified Files: test.tst Log Message: tgamma is accurate on solaris 10 till 172 !! Index: test.tst =================================================================== RCS file: /cvsroot/clisp/clisp/modules/syscalls/test.tst,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- test.tst 19 Oct 2008 03:30:09 -0000 1.86 +++ test.tst 29 Oct 2008 19:44:10 -0000 1.87 @@ -176,12 +176,16 @@ :return (list n (float lg 0f0) l!)) (172 711.7147f0 FLOATING-POINT-OVERFLOW) -;; tgamma has widely varying precisions on different platforms: -;; win32 really wins : 34 +;; tgamma has widely varying accuracy on different platforms: +;; solaris 8: 4 ;; glibc: 5 -;; solaris: 4 -(loop :for n :upfrom 3 :for tg = (os:tgamma n) - :while (= 1 (/ (! (1- n)) tg)) :finally (show n)) +;; win32: 34 +;; solaris 10: (172 FLOATING-POINT-OVERFLOW) +(loop :for n :upfrom 3 + :for tg = (handler-case (os:tgamma n) + (floating-point-overflow () 'floating-point-overflow)) + :while (and (floatp tg) (= 1 (/ (! (1- n)) tg))) + :finally (show (list n tg))) NIL (loop :for n :upfrom 3 @@ -189,7 +193,7 @@ (floating-point-overflow () 'floating-point-overflow)) :unless (and (floatp tg) (= 1 (float (/ (! (1- n)) tg) 0f0))) :return (list n tg)) -(172 FLOATING-POINT-OVERFLOW) ; ... but it IS precise at single precision! +(172 FLOATING-POINT-OVERFLOW) ; ... but it IS accurate at single precision! #+unix (= (show (os:process-id)) (show (os:getppid))) #+unix NIL #+unix (let ((id (show (os:uid)))) (= id (setf (os:uid) id))) T ------------------------------ Message: 3 Date: Wed, 29 Oct 2008 22:40:09 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src pathname.d,1.479,1.480 To: cli...@li... Message-ID: <E1K...@dd...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23172 Modified Files: pathname.d Log Message: direntry_to_string: return Index: pathname.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/pathname.d,v retrieving revision 1.479 retrieving revision 1.480 diff -u -d -r1.479 -r1.480 --- pathname.d 29 Oct 2008 14:49:31 -0000 1.479 +++ pathname.d 29 Oct 2008 22:40:06 -0000 1.480 @@ -7253,7 +7253,7 @@ if (eq(T,value2)) O(pathname_encoding) = encoding; /* STORE-VALUE restart */ goto restart_direntry_to_string; #else - n_char_to_string(string,len,O(pathname_encoding)); + return n_char_to_string(string,len,O(pathname_encoding)); #endif } ------------------------------ Message: 4 Date: Thu, 30 Oct 2008 10:39:29 +0000 From: Vladimir Tzankov <vt...@us...> Subject: clisp/src lispbibl.d, NONE, 1.815.2.2 pathname.d, NONE, 1.480.2.2 stream.d, NONE, 1.621.2.2 ChangeLog, 1.6581.2.2, 1.6581.2.3 spvw_garcol.d, 1.108.2.2, 1.108.2.3 xthread.d, 1.15.2.2, 1.15.2.3 To: cli...@li... Message-ID: <E1K...@dd...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22620/src Modified Files: Tag: threads1 ChangeLog spvw_garcol.d xthread.d Added Files: Tag: threads1 lispbibl.d pathname.d stream.d Log Message: Code cleanup --- NEW FILE: pathname.d --- /* * Pathnames for CLISP * Bruno Haible 1990-2008 * Logical Pathnames: Marcus Daniels 16.9.1994 * ANSI compliance, bugs: Sam Steingold 1998-2008 * German comments translated into English: Stefan Kain 2002-01-03 */ #include "lispbibl.c" #ifdef WIN32_NATIVE #include "w32shell.c" #endif #include <string.h> /* declares strlen() */ /* enable the following #define to debug pathname translations setting DEBUG_TRANSLATE_PATHNAME to a larger value results in more output WARNING: PRIN1 can trigger GC! BEWARE! define DEBUG_TRANSLATE_PATHNAME 1 */ #if DEBUG_TRANSLATE_PATHNAME [...9067 lines suppressed...] } else { pushSTACK(TheSubr(subr_self)->name); error(error_condition,GETTEXT("~S: installation directory is not known, use the -B command line option to specify it or set *LIB-DIRECTORY*")); } } LISPFUNN(set_lib_directory,1) { /* (SYS::SET-LIB-DIRECTORY path) sets the CLISP's private library directory (called $(lisplibdir) in the Makefile) */ var object path = popSTACK(); if (stringp(path)) path = ensure_last_slash(path); VALUES1(O(lib_dir) = coerce_xpathname(path)); } /* ===================================================================== */ #ifdef DEBUG_TRANSLATE_PATHNAME #undef DEBUG_TRANSLATE_PATHNAME #undef DOUT #endif --- NEW FILE: stream.d --- /* * Streams for CLISP * Bruno Haible 1990-2008 * Sam Steingold 1998-2008 * Generic Streams: Marcus Daniels 8.4.1994 * SCREEN package for Win32: Arseny Slobodjuck 2001-02-14 * German comments translated into English: Stefan Kain 2001-11-02 */ #include "lispbibl.c" #include "arilev0.c" /* for R_sign */ #ifdef GNU_READLINE #include <readline/readline.h> #include <readline/history.h> #endif #include <string.h> /* declares strcpy(), strcat() */ /* off_t is a signed type, defined in <sys/types.h> and <fcntl.h>, denoting [...17919 lines suppressed...] #include "pseudofun.c" #undef PSEUDO }; global struct pseudodata_tab_ pseudodata_tab = { #define PSEUDO PSEUDO_E #include "pseudofun.c" #undef PSEUDO #if defined(MICROSOFT) && !defined(UNICODE) (Pseudofun) NULL #endif }; /* ====================================================================== */ /* protect filestatus/if_file_exists, file_datetime by break_sem_4?? Signal-Handling on EXECUTE, SHELL, MAKE-PIPE-INPUT-STREAM, MAKE-PIPE-OUTPUT-STREAM, MAKE-PIPE-IO-STREAM ?? naming of file/handle/buffered/b_file/unbuffered stuff do not access strm_file_truename on pipe and socket streams implement FILE-POSITION for unbuffered file-streams (regular handle, direction != 5) LISTEN on unbuffered (non-regular) file and socket streams can cause the process to block */ Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6581.2.2 retrieving revision 1.6581.2.3 diff -u -d -r1.6581.2.2 -r1.6581.2.3 --- ChangeLog 29 Oct 2008 19:06:43 -0000 1.6581.2.2 +++ ChangeLog 30 Oct 2008 10:39:27 -0000 1.6581.2.3 @@ -1,3 +1,18 @@ +2008-10-30 Vladimir Tzankov <vtz...@gm...> [threads1] + + * lispbibl.d (GC_SAFE_SYSTEM_CALL): do not use gcc extensions. + (GC_SAFE_CALL): do not use gcc extensions. + (current_thread): do not use gcc extensions. + * pathname.d: use new GC_SAFE_SYSTEM_CALL()/GC_SAFE_CALL(). + (check_file_reopen): fix GCSAFETY bug. + * stream.d: use new GC_SAFE_SYSTEM_CALL()/GC_SAFE_CALL(). + +2008-10-30 Vladimir Tzankov <vtz...@gm...> [threads1] + + * spvw_garcol.d (gc_sweep1_varobject_page): pinned objects + are always marked. + * xthread.d: do not check for errors when spinlock_t=mutex_t. + 2008-10-29 Vladimir Tzankov <vtz...@gm...> [threads1] * spvw.d (init_multithreading): initialize timeout_call_chain_lock Index: xthread.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/xthread.d,v retrieving revision 1.15.2.2 retrieving revision 1.15.2.3 diff -u -d -r1.15.2.2 -r1.15.2.3 --- xthread.d 29 Oct 2008 19:01:57 -0000 1.15.2.2 +++ xthread.d 30 Oct 2008 10:39:27 -0000 1.15.2.3 @@ -616,8 +616,10 @@ typedef xmutex_t spinlock_t; + /* do not check for errors from xmutex_xxxx() even if there is + problem it is too generic in order to be handled properly.*/ static inline void spinlock_init (spinlock_t* spinlock) - { int err = xmutex_init(spinlock); if (err) OS_error(); } + { xmutex_init(spinlock); } static inline bool spinlock_tryacquire(spinlock_t* spinlock) { return xmutex_trylock(spinlock); } static inline void spinlock_acquire (spinlock_t* spinlock) @@ -625,7 +627,7 @@ static inline void spinlock_release (spinlock_t* spinlock) { xmutex_unlock(spinlock); } static inline void spinlock_destroy (spinlock_t* spinlock) - { int err = xmutex_destroy(spinlock); if (err) OS_error(); } + { xmutex_destroy(spinlock); } #endif Index: spvw_garcol.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_garcol.d,v retrieving revision 1.108.2.2 retrieving revision 1.108.2.3 diff -u -d -r1.108.2.2 -r1.108.2.3 --- spvw_garcol.d 29 Oct 2008 19:01:57 -0000 1.108.2.2 +++ spvw_garcol.d 30 Oct 2008 10:39:27 -0000 1.108.2.3 @@ -1084,19 +1084,6 @@ while (1) { if (p2==end) break; /* we have finished */ objlen=objsize((Varobject)p2); - /* Check for pinned object. Currently we assume that it is - possible to have pinned object that is not marked !!! - This is quite unlikely (at least I do not see normal - case in which this may occur). moving this after the mark is checked - will improve the performance of course. */ - if (p2==next_pinned) { /* is the current object pinned? */ - cur_used=NULL; /* no current memory region */ - /* advance to next pinned object */ - pin_watch++; next_pinned=pin_watch->start+pin_watch->size; - new_loc=p2; /* stay here */ - /* p2 is marked since before pinning it is pushed in the stack */ - goto advance; - } if (!marked(p2)) { /* in the original implementation the loops were unrolled but here we will pay the price for pin object support :( @@ -1108,6 +1095,15 @@ p2+=objlen; continue; } + /* Check for pinned object. */ + if (p2==next_pinned) { /* is the current object pinned? */ + cur_used=NULL; /* no current memory region */ + /* advance to next pinned object */ + pin_watch++; next_pinned=pin_watch->start+pin_watch->size; + new_loc=p2; /* stay here */ + /* p2 is marked since before pinning it is pushed in the stack */ + goto advance; + } /* we have marked object that is not pinned. we should calculate the new address at which we will move it */ relocate: --- NEW FILE: lispbibl.d --- /* * Main include-file for CLISP * Bruno Haible 1990-2008 * Marcus Daniels 11.11.1994 * Sam Steingold 1998-2008 * German comments translated into English: Stefan Kain 2001-09-24 Flags intended to be set through CFLAGS: Readline library: NO_READLINE Termcap/ncurses library: NO_TERMCAP_NCURSES Internationalization: NO_GETTEXT, UNICODE Foreign function interface: DYNAMIC_FFI Dynamic loading of modules: DYNAMIC_MODULES Safety level: [...17358 lines suppressed...] the executable was built. */ extern object built_flags (void); /* ####################### FOR DEBUGGING UNDER GDB ####################### */ #ifdef GENERATIONAL_GC /* Put a breakpoint here if you want to catch CLISP just before it dies. */ extern void sigsegv_handler_failed (void* address); #endif /* For debugging: From within gdb, type: call ext_show_stack(). Equivalent to (ext:show-stack) from the Lisp prompt. */ extern void gdb_show_stack (void); /* Fore debugging: From within gdb, type: call gdb_disassemble_closure(obj). Equivalent to (sys::disassemble-closures (list obj) *standard-output*). */ extern void gdb_disassemble_closure (object obj); /*************************************************************************/ ------------------------------ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 30, Issue 41 ***************************************** |