[gclist] Treadmill implementation in the Java VM

Sukang Bae bsk@oslab.kyunghee.ac.kr
Sun, 13 Jun 1999 19:26:42 +0900

Hi. Having taken advice from people on this list.

I have a Java 1.2 Source downloaded from SUN.
I'm implementing the Treadmill of Baker in the JVM for exercise.
Of course, it is implementing with incremental garbage collection technique.
As you know, Java execute all operation through the handle.
I know Java's slow performance is also due to its handles.
And each object has doubly-linked list in the treadmill.
I think JVM must support objects which is linked by 'doubly-linked list'.
There are two ways.
1. modifying object header to original header(32 bits) + 2 pointers(64bits)
2. modifying handle structure to original handle information(object and
method table) + 2 pointers(64 bits)
I wonder which is better for performace or efficiency ?

I had read that the cell size of treadmill is power of two or 3 x power of
two in paper.
For support variable size of objects, then, VM must have treadmills of each
size ?
I think, although it has a tradmill and the size of cells is different with
each others,
it may be possible. How do you think about this ?

Thanks for reading and advance.
Sukang Bae.