From: Eliot M. <mo...@cs...> - 2006-10-20 14:30:46
|
Ian -- You'd need to do separate groups of references (versus primitives) for different levels of subclasses that add field, so as to preserve the rule that all superclass fields precede fields of subclasses. I don't think this optimization is worth it. Also, the offset array approach has been used to good advantage to change the ORDER in which we process the fields, which changes heap traversal order, and thus (in a copying collector) object order. This can give a significant win in some cases (see Xianglong Huang's paper with Kathryn, Steve, and me as co-authors (I may not have that author list right from memory)). Another strategy we have not prusued in Jikes RVM is generating custom reference iteration methods for each class. This avoids iteration and the array lookup, so might well be the fastest technique, unless it gets into icache issues. (It defeats the re-ordering hack, too, but ...) -- Eliot |