~ chicken-core (chicken-5) 8e4dee9e4f67743ef7dfde568452b84eccd69865
commit 8e4dee9e4f67743ef7dfde568452b84eccd69865
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Sun Sep 13 14:39:16 2015 +1200
Commit: Peter Bex <peter@more-magic.net>
CommitDate: Sun Sep 13 11:59:42 2015 +0200
Make base allocation size zero for C_a_i_listN rewrites
Previously, C_a_i_listN rewrites specified one word as the base size of
the resulting `##core#inline_allocate` form. However, because the
terminating C_SCHEME_END_OF_LIST isn't allocated, that base word needn't
be included in the calculated allocation size.
Signed-off-by: Peter Bex <peter@more-magic.net>
diff --git a/c-platform.scm b/c-platform.scm
index b2399eeb..7ba952bd 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -715,8 +715,8 @@
(rewrite 'cons 16 2 "C_a_i_cons" #t 3)
(rewrite '##sys#cons 16 2 "C_a_i_cons" #t 3)
-(rewrite 'list 16 #f "C_a_i_list" #t '(1 3) #t)
-(rewrite '##sys#list 16 #f "C_a_i_list" #t '(1 3))
+(rewrite 'list 16 #f "C_a_i_list" #t '(0 3) #t)
+(rewrite '##sys#list 16 #f "C_a_i_list" #t '(0 3))
(rewrite 'vector 16 #f "C_a_i_vector" #t #t #t)
(rewrite '##sys#vector 16 #f "C_a_i_vector" #t #t)
(rewrite '##sys#make-structure 16 #f "C_a_i_record" #t #t #t)
Trap