Re: Re: [gui-dev] Re: Faster SHA1 and Tiger MessageDigestSPI's (version1.11)

Philippe VERDY <[email protected]> Thu, 1 Jul 2004 21:04:06 +0200 (CEST)
Newsgroups gmane.network.gnutella.limewire.gui.devel
Message-ID <25923371.1088708646826.JavaMail.www@wwinf1002>
Can you give details about what is reported by the GNU Java compiler as an "undefined" operation on some value?
For me, the Java language spec is extremely precise and fully defines the evaluation order of expressions, by the compiler to byte code, and the JVM spec also clearly and fully decomposes the execution order of the bytecode into lower-level basic operations (load, use, ...), whose behavior is mandatory and limits very strictly how a JIT compiler could translate these operations into native code.

The fact that a JIT compiler will compile this decomposed sequence with operations on CPU registers, or on stack-based local variables in memory, and how these values can be cached and reused later is not in the VM spec, but the value-depency or data-flow is strict and accepts no variation (meaning that there's little place to allow JIT moving some code around, notably when reducing common sub-expressions in loops, or when computing references).
It's very strange that Apple's JIT has a so unpredictable behavior.

Your performance results are suspect on your G5, and due to the other bugs we have seen in the past, it's clear that something wrong on the G5 with the Apple VM. It would be interesting to know if you get the same "suprising" results with a prior version of Java on your G5. I really suspect that the results you get are wrong, even if they seem computed "faster" with a de-optimized source code (and a larger bytecode size, which adds more loads and stores in the bytecode and at run-time).

> Message du 30/06/04 18:32
> De : "Roger Kapsi" 
> A : [email protected]
> Copie à : 
> Objet : Re: [gui-dev] Re: Faster SHA1 and Tiger MessageDigestSPI's (version1.11)
> 
> On Jun 30, 2004, at 6:30 PM, Roger Kapsi wrote:
> 
> > "unexpected behavior"
> 
> to be correct:
> 
> operation on `x' may be undefined
> 
> Roger
> 
> _______________________________________________
> gui-dev mailing list
> [email protected]
> http://www.limewire.org/mailman/listinfo/gui-dev
>

_______________________________________________
gui-dev mailing list
[email protected]
http://www.limewire.org/mailman/listinfo/gui-dev