> So I am trying to understand and solve this problem. Below a (naive) attempt > to > patch guile so it uses GC_malloc_ignore_off_page for objects > 100Kb, but that > did not even work: I guess I do miss most if not all of the puzzle pieces > here...
Obviously (missing all the pieces of the puzzle): I see now that srfi-4 uses srfi-4.c (thanks ijp), which calls scm_i_make_typed_bytevector, defined in bytevectors.c, which calls make_bytevector, which calls scm_gc_malloc_pointerless, which is defined as #define SCM_GC_MALLOC_POINTERLESS(size) GC_MALLOC_ATOMIC (size), which I presume calls BDW-GC GC_malloc_atomic(nbytes) So, (a) the patch below is totally useless for any srfi-4 ops, and (b) it would probably be more interesting to address this GC Warning reports for repeated large block of mem with a 'global' guile approach ... which I unfortunately can't do: I just don't have the knowledge and the experience. I can still try to patch srfi-4.c, for fun and locally, but even that is not easy for me, because I read and write basic C (far from expert level), and I'm quickly lost even just reading libguile code ... David
pgpUEIEIcqjwU.pgp
Description: OpenPGP digital signature