The (small) bug may be corrected in later version (I'm still
using the old style (early 1.7) uniform arrays). The improvement
suggested below is actually part of a general 32/64 bit problem.

bug:
size of scm_tc7_ivect and scm_tc7_uvect is long, but should be int.
causes: on 64 bit machine, there are no 32 bit int vectors available.
(I've fixed this locally)

improvement suggestion:
size of SCM should be configurable to 32 bit on 64 bit machine.
As it is now, it causes a lot of wasted memory and I guess also
unnecessary usage of memory band width.

This is a somewhat bigger change as most addressing needs to be
base relative. I guess there are utilites available to allocate
memory within certain (e.g. 32 bit) boundaries, (there was in VMS
I used once) but haven't found any in GNU/Linux, apart from
possibly start in mmap.
Maybe even gcc provides a nice solution to this, but haven't
found anything (someth like: short pointer and long pointer
which I think I've seen in some languages long time ago).

/Roland Orre




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

Reply via email to