This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Christian Lynbech <chl@tbit.dk> writes: > I have browsed through the text and found the following (wrt. write > barriers): > > > This will likely depend upon memory protection services in the host > > os, but any os that doesn't provide this probably isn't running > > guile in the first place. > > This is bad news for us, if it catches on. > > We are putting guile to work in our router product, and that has no > fancy memory protection. Don't forget embedded systems, even if we are > only a few (one?) currently. I felt a bit iffy about the all or nothing approach, because I had a feeling it would burn someone (plus, it shot down all hopes of porting guile to the c64 ;). What I'm thinking is that a variation on the current gc (as well as the full thing) will be available as a compile time option. I can see a few waus that might cut the current sweep time down, so it could still be a win. It might also be possible as a runtime option, but that probably wouldn't help in your case, since I'd think you'd want to keep the memory requirements for guile itself as small as possible. It is possible for the full generational gc to get by without the mem protection, but that will lead to a slow down in evaluation, require me to become intimate with eval.c (which is kind of scary >;), require a trek all over the code, changing bits, and likely add some requirements for c code, though nothing as drastic as refcounting or keeping track of roots. This is something I'd like to look at after the gengc is working. -- Greg