I meant "virtual addresses" vs "location in compressed swap".
Currently this info is kept IIRC in the pagetable and doesn't incur
any fragmentation. With compression, this can get noticeably nastier.
> > All in all, unrealizable within Unix, but probably doable in a
> > (non-conservatively) GC'd world (since the GC already knows what is a
> > pointer and what is not and is able to move objects at will). LISP
> > machines, Smalltalk machines, or JavaOS would probably be good systems
> > to try it on.
> Maybe unrealizable within Unix and NT, but not within Linux ;)
Moving objects is very hard to do if you want to allow C programs that
do "strange" pointer casts (in other words, 99.99% of all C programs).
I believe a Linux hack that would prevent Linux from providing full C
support would be very unpopular.
Also the description of what is a pointer and what is not has to be known
by the swap/compress code which amounts to standardizing it: most GC'd
languages use their very own scheme and even the debug info (which
could be used for more traditional languages like Fortran/C/Pascal)
is not well standardized.
Maybe not unrealizable within Unix or Linux, but very hard to make it
work transparently.
Stefan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu