Mario Camou wrote:
> Jason and Mark,
>
> Thanx for your quick replies! Uncommenting the "#define IGNORE_DISABLE" in tya.c did
> it. What I'd like to know (I'm really curious!) is exactly WHAT is trying to turn off
> the JIT. Could it be Swing?
Swing 1.1 tries to disable the JIT during some huge initialization
methods that are only
executed once - presumably it is
faster to just interpret these methods rather than having the overhead
of JIT
compilation.
Here is the snippet of code from Swing 1.1b3 (in javax/swing/UIDefaults)
:
private static void initialize()
{
Properties swingProps = loadSwingProperties();
try {
// We discourage the JIT during UI initialization.
// JITing here tends to be counter-productive.
java.lang.Compiler.disable();
initializeSystemDefaults(swingProps);
initializeDefaultLAF(swingProps);
initializeAuxiliaryLAFs(swingProps);
initializeInstalledLAFs(swingProps);
} finally {
// Make sure to always re-enable the JIT.
java.lang.Compiler.enable();
}
}
TYA does not like programs that call java.lang.Compiler.disable() !!
You can work around this by uncommenting the #define IGNORE_DISABLE in
tya.c (which is
why 1.2 crashes but
1.1v4 did not)
regards
[ bryce ]