FFI Report, CVS Id 1.11
Manuel M. T. Chakravarty
chak at cse.unsw.edu.au
Thu Aug 23 21:14:22 EDT 2001
cwitty at newtonlabs.com (Carl R. Witty) wrote,
> "Manuel M. T. Chakravarty" <chak at cse.unsw.edu.au> writes:
> > Array and list indicies are quite different beats from
> > pointer differences. To get into a problem with array
> > indicies, we would need an array (and thus, heap) that is
> > big enough to requires such an index. In contrast, pointers
> > are not constrained be point into the heap. For, example
> > with mmap(), I can easily get two pointers that are much
> > further apart than what would fit into the real (even the
> > virtual) memory of the concrete hardware. In other words,
> > in x86 Linux, your address space is already 3GB. We don't
> > need any new fancy hardware for 30 bit pointer differences
> > to have the potential to get us into trouble.
> Why would you want to take the difference of two pointers that point
> into different objects?
For example, if you construct a representation of the mapped
areas in the address space of a process (ie, by reading
/proc/<pid>/maps on a Linux system). You may do that, among
othe things, to find a suitable memory area for mapping
anonymous memory pages.
PS: If you think that this is a useless thing to do, check
You need this if you want to implement a Distributed
Shared Memory system as a pure user-space library.
More information about the FFI