2009-09-19 Ivan Maidanski <ivmai@mail.ru>
authorivmai <ivmai>
Sat, 19 Sep 2009 08:51:40 +0000 (08:51 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:47 +0000 (21:06 +0400)
* os_dep.c (GC_get_stack_base): Add FIXME; add assertion for
GC_get_writable_length() result.

ChangeLog
os_dep.c

index e886f33..6fe0298 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-09-19  Ivan Maidanski <ivmai@mail.ru>
+
+       * os_dep.c (GC_get_stack_base): Add FIXME; add assertion for
+       GC_get_writable_length() result.
 
 2009-09-18  Ivan Maidanski <ivmai@mail.ru> (really Ludovic CourtXs)
 
index d912394..180ba13 100644 (file)
--- a/os_dep.c
+++ b/os_dep.c
@@ -656,8 +656,10 @@ GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
     int dummy;
     ptr_t sp = (ptr_t)(&dummy);
     ptr_t trunc_sp = (ptr_t)((word)sp & ~(GC_page_size - 1));
+    /* FIXME: This won't work if called from a deeply recursive */
+    /* client code (and the committed stack space has grown).   */
     word size = GC_get_writable_length(trunc_sp, 0);
-   
+    GC_ASSERT(size != 0);
     sb -> mem_base = trunc_sp + size;
     return GC_SUCCESS;
 }