~ chicken-core (chicken-5) 0efdd46ba4085af6ea2cd65314c2dc33b2e999f3
commit 0efdd46ba4085af6ea2cd65314c2dc33b2e999f3
Author: Peter Bex <peter@more-magic.net>
AuthorDate: Sun Sep 13 12:09:54 2015 +0200
Commit: Peter Bex <peter@more-magic.net>
CommitDate: Sun Sep 13 12:09:54 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 19c81681..ecc97f45 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -860,8 +860,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