|
Moving off of 3.0 fix target.
This is a major piece of re-engineering. We should do it, but we should also expect it to take months if we want to do it "right" since pretty much all of the global data structures of the VM would need to be redone to localize entries on a per-classloader basis. It will also have rippling impact on PPC, since it probably means we have to abandon the simple "all global data is in the jtoc" strategy and PPC doesn't have as efficient ISA support for address literals as IA32 does. The size of the hash maps in VM_Statics is causing us to go over the boot image size. Ideally we'd like to remove the hashmaps and just use an efficient search of the JTOC. We're discussing how literals should be organized. As literals are pulled in during the class loading process, possibly we want to think about how changes to the literals can fit in with class unloading.
One way to handle literals is to place them with the code they represent, this would allow visibility using instruction pointer relative addressing.
An inefficient way to avoid placing a reference to a class in the header of the compiled code is to:
1) get the CMID Problems with placing a class reference in the header to compiled code are: 1) object model layout When tracing we need to start with the active compiled code and see what classes and thereby class loaders are reachable. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I think this is a big job and shouldn't be scheduled for the release of 3.0 unless someone is prepared to take charge of it.
Related issues from SF's RFE tracker:


1571462: Replace JTOC with per-classloader static segments
https://sourceforge.net/tracker/index.php?func=detail&aid=1571462&group_id=128805&atid=712771
1571374: Type dictionaries should be per-classloader, not global
https://sourceforge.net/tracker/index.php?func=detail&aid=1571374&group_id=128805&atid=712771
1147162: Reduce JTOC pressure of constants/static final fields
https://sourceforge.net/tracker/index.php?func=detail&aid=1147162&group_id=128805&atid=712771