~ 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