> Nick Lothian wrote: > >>GCJ begins to fall short where you wish to use Java's dynamic > >>loading/linking capabilities. Classes must be loaded > > > > Most modern Java programs make extensive use of dynamic loading & > > linking, and that usage is increasing. > > > > Recent releases of the Sun VM have put a lot of emphasis on > speeding > > up the performance of reflection and this has been one of the big > > performance boosters in these VMs. > > IMHO both JITs and pre-compiling have their place.. it > depends on the application whether one is definitely better > than the other. > > Ideally, the design of harmony would allow for people to > pursue both approaches and the two could coexist peacefully. > E.g., it may be common for people to precompile all of the > core classes, leaving everything else for runtime. This is > where a well thought out design can lead to a very powerful > and flexible system... > there will be people who care about optimizing their > particular scenario, and hopefully all such people can > contribute to make the overall system more valuable to everyone, etc. > > Just rambling here.. imagine a "code object" contained > executable machine code plus meta-data describing the > assumptions behind any optimizations taken. Then the > filesysytem could contain pre-compiled code objects that > could be used, if appropriate, at runtime. New code objects > would be created at runtime by the JIT, and optionally cached. > > Then the core VM becomes just a code object executor. It > calls out to the JIT, the "JIT cache", etc. on demand and > provides any relevant runtime information, etc. >
JRockit does this, see: http://e-docs.bea.com/wljrockit/docs142/userguide/codecach.html Nick IMPORTANT: This e-mail, including any attachments, may contain private or confidential information. If you think you may not be the intended recipient, or if you have received this e-mail in error, please contact the sender immediately and delete all copies of this e-mail. If you are not the intended recipient, you must not reproduce any part of this e-mail or disclose its contents to any other party. This email represents the views of the individual sender, which do not necessarily reflect those of education.au limited except where the sender expressly states otherwise. It is your responsibility to scan this email and any files transmitted with it for viruses or any other defects. education.au limited will not be liable for any loss, damage or consequence caused directly or indirectly by this email.
