Native compilation article
Bryce McKinlay
bryce@waitaki.otago.ac.nz
Thu Jan 31 15:54:00 GMT 2002
Jeff Sturm wrote:
>Interesting...
>
>>16364 int -O2 -funroll-all-loops
>>
>...
>
>>48362 long -O2
>>
>
>The huge (factor of 3) difference appears to be caused by register
>spillage. Perhaps the experiemental regalloc would help. From a quick
>look at the assembly it wasn't obvious to me how it would improve (though
>I'm certainly no expert on x86).
>
Actually, I'm pretty sure the difference is caused by the libgcc call
that is generated for the 64-bit "%". __moddi3() IIRC.
>But the same test with primes.java on IBM's JDK shows it runs _faster_
>with long's than int's. What optimization could they possibly be using?
>
This was not the case when I tried it. However, the IBM JDK did produce
dramatically faster code for "long" than either GCJ or the Sun JDK.
regards
Bryce.
More information about the Java
mailing list