Failing typeflow responsibility assertions
John Rose
John.Rose at Sun.COM
Tue May 20 10:59:04 PDT 2008
On May 20, 2008, at 12:44 AM, Gary Benson wrote:
> That's awesome! I wasn't using it until yesterday but I am now :)
I'm glad it's helpful!
> So does the ciTypeFlow pass actually load the unloaded classes for
> you?
No, the JIT tries pretty hard not to load classes. IIRC, the only
exception to this rule is the call to load_signature_classes in
compileBroker.cpp.
JIT compilation should be transparent to Java execution, but loading
classes causes class loader code to execute. If the JIT causes
bytecode execution, then the JIT can cause application state changes,
which explores new application states unnecessarily. This can expose
JIT-entangled bugs in the application. You want this in stress
testing, but not in the field.
The JVM spec. allows class loading--not initialization--for any
reason, but it's better (for system reproducibility) if the JIT has
no detectable effect on app. state except speedups.
-- John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20080520/2023e9ab/attachment.html
More information about the hotspot-compiler-dev
mailing list