Currently evaluating the YourKit Java profiler. I have to use Zero for the build and the profiler however, so it is slightly slower. However, once a build completes I should be able to see where potential bottlenecks exist and such.
Something that might be more efficient than finding the entry point would be to just essentially flag it using a special ID. So if a namespace contains the entry point it has a special flag set. Then the class which is the entry point gets a flag set. And after that the method gets it also. So it basically will just crawl around pointers and such. Although the entry point if detected could just be used from the namespace table data. This would require that the class processor flag such a thing.
I should do more in the constructor and split the writing portion of the ELF code.