[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
64bit guile: one bug found, one improvement suggested
From: |
Roland Orre |
Subject: |
64bit guile: one bug found, one improvement suggested |
Date: |
Wed, 27 Jul 2005 02:42:29 +0200 |
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