[Openmcl-cvs-notifications] r14295 - /trunk/source/lisp-kernel/

rme at clozure.com rme at clozure.com
Tue Sep 21 20:10:30 CDT 2010


Author: rme
Date: Tue Sep 21 20:10:30 2010
New Revision: 14295

Log:
Eliminate some (but not all) warnings produced when building with
"-Wall -Wno-format".  Also a couple of minor changes that enable
clang to build the lisp kernel (at least on x8632 and x8664).

Modified:
    trunk/source/lisp-kernel/area.h
    trunk/source/lisp-kernel/bits.h
    trunk/source/lisp-kernel/gc-common.c
    trunk/source/lisp-kernel/gc.h
    trunk/source/lisp-kernel/image.c
    trunk/source/lisp-kernel/image.h
    trunk/source/lisp-kernel/lisp-debug.c
    trunk/source/lisp-kernel/lisp-exceptions.h
    trunk/source/lisp-kernel/memory.c
    trunk/source/lisp-kernel/memprotect.h
    trunk/source/lisp-kernel/platform-darwinx8632.h
    trunk/source/lisp-kernel/platform-darwinx8664.h
    trunk/source/lisp-kernel/pmcl-kernel.c
    trunk/source/lisp-kernel/threads.h
    trunk/source/lisp-kernel/unix-calls.c
    trunk/source/lisp-kernel/x86-constants32.h
    trunk/source/lisp-kernel/x86-exceptions.c
    trunk/source/lisp-kernel/x86-exceptions.h
    trunk/source/lisp-kernel/x86-gc.c
    trunk/source/lisp-kernel/x86_print.c

Modified: trunk/source/lisp-kernel/area.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/area.h (original)
+++ trunk/source/lisp-kernel/area.h Tue Sep 21 20:10:30 2010
@@ -104,6 +104,9 @@
 void tenure_to_area(area *);
 void untenure_from_area(area *);
 =

+Boolean grow_dynamic_area(natural);
+Boolean shrink_dynamic_area(natural);
+
 /* serialize add_area/remove_area, and also the tcr queue */
 void *tcr_area_lock;
 =


Modified: trunk/source/lisp-kernel/bits.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/bits.h (original)
+++ trunk/source/lisp-kernel/bits.h Tue Sep 21 20:10:30 2010
@@ -114,7 +114,7 @@
 { BITPvar =3D bits_word_ptr(BITVvar,BITNUMvar); BITIDXvar =3D bits_bit_ind=
ex(BITNUMvar); \
     BITWvar =3D (*BITPvar << BITIDXvar) >> BITIDXvar; }
 =

-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__clang__)
 static __inline__ natural
 current_stack_pointer(void) __attribute__((always_inline));
 =


Modified: trunk/source/lisp-kernel/gc-common.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/gc-common.c (original)
+++ trunk/source/lisp-kernel/gc-common.c Tue Sep 21 20:10:30 2010
@@ -741,7 +741,7 @@
 {
   void *p, *next, *addr;
   struct xmacptr *x, *xnext;
-  int i, flags;
+  int flags;
   xmacptr_dispose_fn dfn;
 =

   for (p =3D postGCptrs; p; p =3D next) {
@@ -751,7 +751,7 @@
   postGCptrs =3D NULL;
   =

   for (x =3D user_postGC_macptrs; x; x =3D xnext) {
-    xnext =3D (xmacptr *) (x->class);;
+    xnext =3D (xmacptr *) (x->class);
     flags =3D x->flags - xmacptr_flag_user_first;
     dfn =3D xmacptr_dispose_functions[flags];
     addr =3D (void *) x->address;
@@ -1027,7 +1027,7 @@
 {
   LispObj *ptr =3D &(lisp_global(WEAKVLL)), this, new, old;
 =

-  while (this =3D *ptr) {
+  while ((this =3D *ptr)) {
     old =3D this + fulltag_misc;
     new =3D node_forwarding_address(old);
     if (old !=3D new) {
@@ -1100,7 +1100,7 @@
     prev =3D &(((xmacptr *)ptr_from_lispobj(untag(next)))->link);
   }
   xprev =3D &user_postGC_macptrs;
-  while (xnext =3D *xprev) {
+  while ((xnext =3D *xprev)) {
     xnew =3D (struct xmacptr *)locative_forwarding_address((LispObj)xnext);
     if (xnew !=3D xnext) {
       *xprev =3D xnew;
@@ -1113,7 +1113,10 @@
 forward_memoized_area(area *a, natural num_memo_dnodes)
 {
   bitvector refbits =3D a->refbits;
-  LispObj *p =3D (LispObj *) a->low, *p0 =3D p, x1, x2, new;
+  LispObj *p =3D (LispObj *) a->low, x1, x2, new;
+#ifdef ARM
+  LispObj *p0 =3D p;
+#endif
   natural bits, bitidx, *bitsp, nextbit, diff, memo_dnode =3D 0, hash_dnod=
e_limit =3D 0;
   int tag_x1;
   hash_table_vector_header *hashp =3D NULL;

Modified: trunk/source/lisp-kernel/gc.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/gc.h (original)
+++ trunk/source/lisp-kernel/gc.h Tue Sep 21 20:10:30 2010
@@ -80,6 +80,7 @@
 LispObj locative_forwarding_address(LispObj);
 LispObj node_forwarding_address(LispObj);
 void forward_range(LispObj *, LispObj *);
+void forward_tcr_xframes(TCR *);
 void note_memoized_references(ExceptionInformation *,LogicalAddress, Logic=
alAddress, BytePtr *, BytePtr *);
 void gc(TCR *, signed_natural);
 int change_hons_area_size(TCR *, signed_natural);

Modified: trunk/source/lisp-kernel/image.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/image.c (original)
+++ trunk/source/lisp-kernel/image.c Tue Sep 21 20:10:30 2010
@@ -26,7 +26,7 @@
 #endif
 #include <stdio.h>
 #include <limits.h>
-
+#include <time.h>
 =

 =

 #if defined(PPC64) || defined(X8632)

Modified: trunk/source/lisp-kernel/image.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/image.h (original)
+++ trunk/source/lisp-kernel/image.h Tue Sep 21 20:10:30 2010
@@ -86,6 +86,7 @@
 LispObj
 load_openmcl_image(int, openmcl_image_file_header*);
 =

+Boolean find_openmcl_image_file_header(int fd, openmcl_image_file_header *=
h);
 =

 =

 =


Modified: trunk/source/lisp-kernel/lisp-debug.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/lisp-debug.c (original)
+++ trunk/source/lisp-kernel/lisp-debug.c Tue Sep 21 20:10:30 2010
@@ -639,7 +639,6 @@
 debug_command_return
 debug_memory_areas(ExceptionInformation *xp, siginfo_t *info, int arg)
 {
-  int i;
   area *a, *header =3D all_areas;
   char label[100];
 =

@@ -814,7 +813,6 @@
 debug_get_natural_value(char *prompt)
 {
   char s[32], *res, *endptr;
-  int n;
   natural val;
 =

   do {
@@ -1306,6 +1304,7 @@
   }
 }
 =

+void
 debug_identify_function(ExceptionInformation *xp, siginfo_t *info) =

 {
 #ifdef PPC

Modified: trunk/source/lisp-kernel/lisp-exceptions.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/lisp-exceptions.h (original)
+++ trunk/source/lisp-kernel/lisp-exceptions.h Tue Sep 21 20:10:30 2010
@@ -107,6 +107,8 @@
 void
 Fatal(StringPtr, StringPtr);
 =

+void fatal_oserr(StringPtr, OSErr);
+
 void
 non_fatal_error( char * );
 =

@@ -142,9 +144,16 @@
 #include "arm-exceptions.h"
 #endif
 =

+#ifdef DARWIN
+void darwin_exception_init(TCR *tcr);
+void darwin_exception_cleanup(TCR *tcr);
+#endif
+
+void thread_signal_setup(void);
 void suspend_other_threads(Boolean);
 void resume_other_threads(Boolean);
-
+void reset_lisp_process(ExceptionInformation *);
+void terminate_lisp(void);
 =

 #endif /* __lisp_exceptions_h__ */
 =


Modified: trunk/source/lisp-kernel/memory.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/memory.c (original)
+++ trunk/source/lisp-kernel/memory.c Tue Sep 21 20:10:30 2010
@@ -46,14 +46,6 @@
   Fatal(":   Kernel memory allocation failure.  ", buf);
 }
 =

-void
-fatal_oserr(StringPtr param, OSErr err)
-{
-  char buf[64];
-  sprintf(buf," - operating system error %d.", err);
-  Fatal(param, buf);
-}
-
 void *
 lisp_malloc(size_t size)
 {
@@ -113,6 +105,7 @@
   return vm_addr >=3D (vm_address_t)(addr+len);
 }
 #endif
+
 =

 =

   /*
@@ -205,11 +198,12 @@
 int
 CommitMemory (LogicalAddress start, natural len) =

 {
-  LogicalAddress rc;
 #if DEBUG_MEMORY
   fprintf(dbgout, "Committing memory at 0x" LISP ", size 0x" LISP "\n", st=
art, len);
 #endif
 #ifdef WINDOWS
+  LogicalAddress rc;
+
   if ((start < ((LogicalAddress)nil_value)) &&
       (((LogicalAddress)nil_value) < (start+len))) {
     /* nil area is in the executable on Windows; ensure range is
@@ -227,7 +221,7 @@
   }
   return true;
 #else
-  int i, err;
+  int i;
   void *addr;
 =

   for (i =3D 0; i < 3; i++) {
@@ -503,10 +497,9 @@
 resize_dynamic_heap(BytePtr newfree, =

 		    natural free_space_size)
 {
-  extern int page_size;
   area *a =3D active_dynamic_area;
-  BytePtr newlimit, protptr, zptr;
-  int psize =3D page_size;
+  BytePtr newlimit;
+
   if (free_space_size) {
     BytePtr lowptr =3D a->active;
     newlimit =3D lowptr + align_to_power_of_2(newfree-lowptr+free_space_si=
ze,
@@ -518,6 +511,7 @@
       return true;
     }
   }
+  return false;
 }
 =

 void
@@ -717,11 +711,8 @@
   area *a =3D active_dynamic_area, *child;
   BytePtr =

     curfree =3D a->active,
-    target_low =3D target->low,
-    tenured_low =3D tenured_area->low;
-  natural =

-    dynamic_dnodes =3D area_dnode(curfree, a->low),
-    new_tenured_dnodes =3D area_dnode(curfree, tenured_area->low);
+    target_low =3D target->low;
+  natural new_tenured_dnodes =3D area_dnode(curfree, tenured_area->low);
   bitvector =

     refbits =3D tenured_area->refbits,
     markbits =3D a->markbits,

Modified: trunk/source/lisp-kernel/memprotect.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/memprotect.h (original)
+++ trunk/source/lisp-kernel/memprotect.h Tue Sep 21 20:10:30 2010
@@ -75,6 +75,10 @@
 =

 int
 MapFile(LogicalAddress addr, natural pos, natural nbytes, int permissions,=
 int fd);
+void allocation_failure(Boolean pointerp, natural size);
+
+void protect_watched_areas(void);
+void unprotect_watched_areas(void);
 =

 typedef enum {
   kNotProtected,		/* At least not at the moment. */
@@ -100,6 +104,7 @@
   lisp_protection_kind why;
 } protected_area, *protected_area_ptr;
 =

+void unprotect_area(protected_area_ptr);
 =

 /* Various functions that try to respond to a protection violation */
 typedef =


Modified: trunk/source/lisp-kernel/platform-darwinx8632.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/platform-darwinx8632.h (original)
+++ trunk/source/lisp-kernel/platform-darwinx8632.h Tue Sep 21 20:10:30 2010
@@ -39,6 +39,7 @@
 =

 /* xp accessors, sigreturn stuff */
 #define DARWIN_USE_PSEUDO_SIGRETURN 1
+extern int darwin_sigreturn(ExceptionInformation *context);
 #define DarwinSigReturn(context) do {\
     darwin_sigreturn(context);\
     Bug(context,"sigreturn returned");\

Modified: trunk/source/lisp-kernel/platform-darwinx8664.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/platform-darwinx8664.h (original)
+++ trunk/source/lisp-kernel/platform-darwinx8664.h Tue Sep 21 20:10:30 2010
@@ -39,6 +39,7 @@
 =

 /* xp accessors, sigreturn stuff */
 #define DARWIN_USE_PSEUDO_SIGRETURN 1
+extern int darwin_sigreturn(ExceptionInformation *context);
 #define DarwinSigReturn(context) do {\
     darwin_sigreturn(context);\
     Bug(context,"sigreturn returned");\

Modified: trunk/source/lisp-kernel/pmcl-kernel.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/pmcl-kernel.c (original)
+++ trunk/source/lisp-kernel/pmcl-kernel.c Tue Sep 21 20:10:30 2010
@@ -600,7 +600,7 @@
 void
 map_initial_reloctab(BytePtr low, BytePtr high)  =

 {
-  natural ndnodes, reloctab_size, n;
+  natural ndnodes, reloctab_size;
 =

   low_relocatable_address =3D low; /* will never change */
   high_relocatable_address =3D high;
@@ -854,6 +854,14 @@
   }
   fprintf(dbgout, "Fatal error: %s\n%s\n", param0, param1);
   _exit(-1);
+}
+
+void
+fatal_oserr(StringPtr param, OSErr err)
+{
+  char buf[64];
+  sprintf(buf," - operating system error %d.", err);
+  Fatal(param, buf);
 }
 =

 OSErr application_load_err =3D noErr;
@@ -1445,20 +1453,17 @@
   struct utsname uts;
   long got, want;
   char *got_end,*want_end;
-#ifdef X8632
-  extern Boolean rcontext_readonly;
-#endif
 =

   want =3D strtoul(min_os_version,&want_end,10);
 =

   uname(&uts);
   got =3D strtoul(uts.release,&got_end,10);
-#ifdef X8632
-#ifdef FREEBSD
+#if defined(X8632) && defined(FREEBSD)
   if (!strcmp(uts.machine,"amd64")) {
+    extern Boolean rcontext_readonly;
+
     rcontext_readonly =3D true;
   }
-#endif
 #endif
   while (got =3D=3D want) {
     if (*want_end =3D=3D '.') {
@@ -1649,7 +1654,7 @@
 =

 int
 main(int argc, char *argv[]
-#ifndef WINDOWS
+#if defined(PPC) && defined(LINUX)
 , char *envp[], void *aux
 #endif
 )

Modified: trunk/source/lisp-kernel/threads.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/threads.h (original)
+++ trunk/source/lisp-kernel/threads.h Tue Sep 21 20:10:30 2010
@@ -135,6 +135,8 @@
 #define SEM_TIMEDWAIT(s,t) semaphore_timedwait((SEMAPHORE)(natural)s,t)
 #endif
 =

+void signal_semaphore(SEMAPHORE s);
+int wait_on_semaphore(void *s, int seconds, int millis);
 void sem_wait_forever(SEMAPHORE s);
 =

 #ifdef USE_POSIX_SEMAPHORES
@@ -178,6 +180,7 @@
 void tsd_set(LispObj, void *);
 void *tsd_get(LispObj);
 TCR *new_tcr(natural, natural);
+void thread_init_tcr(TCR *tcr, void *stack_base, natural stack_size);
 TCR *initial_thread_tcr;
 =

 #define DEFAULT_THREAD_STACK_SIZE ((size_t) -1)
@@ -196,8 +199,17 @@
 =

 TCR *get_tcr(Boolean);
 TCR *get_interrupt_tcr(Boolean);
+
 Boolean suspend_tcr(TCR *);
 Boolean resume_tcr(TCR *);
+Boolean kill_tcr(TCR *);
+
+int raise_thread_interrupt(TCR *target);
+
+Boolean lisp_suspend_tcr(TCR *);
+Boolean lisp_resume_tcr(TCR *);
+void lisp_suspend_other_threads(void);
+void lisp_resume_other_threads(void);
 =

 typedef struct
 {

Modified: trunk/source/lisp-kernel/unix-calls.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/unix-calls.c (original)
+++ trunk/source/lisp-kernel/unix-calls.c Tue Sep 21 20:10:30 2010
@@ -36,6 +36,7 @@
 #include <sys/time.h>
 #include <stdint.h>
 #include <signal.h>
+#include <fcntl.h>
 =

 ssize_t
 lisp_read(int fd, void *buf, size_t count)

Modified: trunk/source/lisp-kernel/x86-constants32.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-constants32.h (original)
+++ trunk/source/lisp-kernel/x86-constants32.h Tue Sep 21 20:10:30 2010
@@ -381,3 +381,4 @@
 #ifndef EFL_DF
 #define EFL_DF 1024
 #endif
+

Modified: trunk/source/lisp-kernel/x86-exceptions.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-exceptions.c (original)
+++ trunk/source/lisp-kernel/x86-exceptions.c Tue Sep 21 20:10:30 2010
@@ -580,7 +580,6 @@
   natural cur_allocptr, bytes_needed;
   unsigned allocptr_tag;
   signed_natural disp;
-  Boolean notify_pending_gc =3D false;
   =

   cur_allocptr =3D xpGPR(xp,Iallocptr);
   allocptr_tag =3D fulltag_of(cur_allocptr);
@@ -3882,6 +3881,7 @@
   LispObj *oldnode =3D (LispObj *)untag(old);
   LispObj *newnode =3D (LispObj *)untag(new);
   area *a =3D area_containing((BytePtr)old);
+  extern void update_managed_refs(area *, BytePtr, natural);
 =

   if (a && a->code =3D=3D AREA_WATCHED) {
     natural size;

Modified: trunk/source/lisp-kernel/x86-exceptions.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-exceptions.h (original)
+++ trunk/source/lisp-kernel/x86-exceptions.h Tue Sep 21 20:10:30 2010
@@ -44,6 +44,11 @@
 #define XUUO_RESUME_ALL 8
 #define XUUO_KILL 9
 #define XUUO_ALLOCATE_LIST 10
+
+int callback_to_lisp (TCR *tcr, LispObj callback_macptr, ExceptionInformat=
ion *xp,
+		      natural arg1, natural arg2, natural arg3, natural arg4,
+		      natural arg5);
+
 =

 void
 pc_luser_xp(ExceptionInformation*, TCR*, signed_natural*);
@@ -96,6 +101,7 @@
 =

 extern natural get_mxcsr();
 extern void set_mxcsr(natural);
+void enable_fp_exceptions(void);
 =

 #ifdef X8632
 /* The 32-bit immediate value in the instruction
@@ -106,5 +112,7 @@
 #define RECOVER_FN_LENGTH 5
 #endif
 =

+void callback_for_gc_notification(ExceptionInformation *xp, TCR *tcr);
+
 #endif /* X86_EXCEPTIONS_H */
 =


Modified: trunk/source/lisp-kernel/x86-gc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-gc.c (original)
+++ trunk/source/lisp-kernel/x86-gc.c Tue Sep 21 20:10:30 2010
@@ -27,7 +27,7 @@
 #include <sys/time.h>
 =

 #ifdef X8632
-inline natural
+natural
 imm_word_count(LispObj fn)
 {
   natural w =3D ((unsigned short *)fn)[-1];
@@ -250,7 +250,7 @@
 void
 check_xp(ExceptionInformation *xp, natural node_regs_mask)
 {
-  natural *regs =3D (natural *) xpGPRvector(xp), dnode;
+  natural *regs =3D (natural *) xpGPRvector(xp);
 =

   if (node_regs_mask & (1<<0)) check_node(regs[REG_EAX]);
   if (node_regs_mask & (1<<1)) check_node(regs[REG_ECX]);
@@ -270,7 +270,7 @@
 void
 check_xp(ExceptionInformation *xp)
 {
-  natural *regs =3D (natural *) xpGPRvector(xp), dnode;
+  natural *regs =3D (natural *) xpGPRvector(xp);
 =

   check_node(regs[Iarg_z]);
   check_node(regs[Iarg_y]);
@@ -1524,7 +1524,6 @@
 {
   natural *regs =3D (natural *) xpGPRvector(xp), dnode;
   LispObj eip;
-  int i;
 =

   if (node_regs_mask & (1<<0)) mark_root(regs[REG_EAX]);
   if (node_regs_mask & (1<<1)) mark_root(regs[REG_ECX]);

Modified: trunk/source/lisp-kernel/x86_print.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86_print.c (original)
+++ trunk/source/lisp-kernel/x86_print.c Tue Sep 21 20:10:30 2010
@@ -315,16 +315,16 @@
       sprint_specializers_list(method_specializers, depth);
       add_char(' ');
     } else if (lfbits & lfbits_gfn_mask) {
-      LispObj gf_slots;
-      LispObj gf_name;
-
       add_c_string("Generic Function ");
 =

 #ifdef X8632
-      gf_slots =3D nth_immediate(o, 2);
-      gf_name =3D deref(gf_slots, 2);
-      sprint_lisp_object(gf_name, depth);
-      add_char(' ');
+      {
+	LispObj gf_slots =3D nth_immediate(o, 2);
+	LispObj gf_name =3D deref(gf_slots, 2);
+
+	sprint_lisp_object(gf_name, depth);
+	add_char(' ');
+      }
 #endif
     } else {
       add_c_string("Function ");



More information about the Openmcl-cvs-notifications mailing list