guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/libguile gc_os_dep.c


From: Marius Vollmer
Subject: guile/guile-core/libguile gc_os_dep.c
Date: Mon, 11 Dec 2000 10:09:08 -0800

CVSROOT:        /cvs
Module name:    guile
Changes by:     Marius Vollmer <address@hidden> 00/12/11 10:09:08

Modified files:
        guile-core/libguile: gc_os_dep.c 

Log message:
        * gc_os_dep.c (scm_get_stack_base) [MSWIN32]: Added detection of
        page size on the w32 architecture.  Updated from Boehms gc5.2.
        Thanks to Lars J. Aas!

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/gc_os_dep.c.diff?r1=1.3&r2=1.4

Patches:
Index: guile/guile-core/libguile/gc_os_dep.c
diff -u guile/guile-core/libguile/gc_os_dep.c:1.3 
guile/guile-core/libguile/gc_os_dep.c:1.4
--- guile/guile-core/libguile/gc_os_dep.c:1.3   Wed Oct 18 11:27:55 2000
+++ guile/guile-core/libguile/gc_os_dep.c       Mon Dec 11 10:09:07 2000
@@ -1572,9 +1572,16 @@
 {
     int dummy;
     ptr_t sp = (ptr_t)(&dummy);
-    ptr_t trunc_sp = (ptr_t)((word)sp & ~(GC_page_size - 1));
-    word size = GC_get_writable_length(trunc_sp, 0);
-   
+    ptr_t trunc_sp;
+    word size;
+    static word GC_page_size = 0;
+    if (!GC_page_size) {
+        SYSTEM_INFO sysinfo;
+        GetSystemInfo(&sysinfo);
+        GC_page_size = sysinfo.dwPageSize;
+    }
+    trunc_sp = (ptr_t)((word)sp & ~(GC_page_size - 1));
+    size = GC_get_writable_length(trunc_sp, 0);
     return(trunc_sp + size);
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]