> That said, how big is the impact in practice? My impression is that
> most null pointer checks, etc. can be resolved using purely local
> information (and indeed that doing so was crucial to performance).
> It's a pain to insert the ordering constraints, sure, but what real
> performance impact does it have? For example, I suspect, but don't
> know, that the main benefit of related field analysis is in
> eliminating comparisons and conditional traps/branches, and the extra
> flexibility in instruction scheduling isn't a huge win. Does anyone
> have data either way? Keith?
>
> -Jan-Willem Maessen
> -------------------------------
> JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
Hotspot certainly removes most null pointer checks using only local
info. Sparc is an in-order processor so scheduling is a big deal
for us, but the bigger win is CSE that follows when the null check
is removed.
I certainly agree with Jan that we need a semantics independent of
optimizations. It behooves us to come up with a semantics that
allows common and profitable optimizations to remain cheap and easy
to do - but in any case First come the semantics and then the JVM
implementors can figure out how to make it fast.
Cliff
-- Cliff Click Compiler Designer and Researcher cliffc at acm.org Java Software (408) 276-7046 MS USCA14-102
------------------------------- JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:35 EDT