Re: JavaMemoryModel: What's "control dependence" mean?

From: Clifford Click (Cliff.Click@sun.com)
Date: Fri Sep 14 2001 - 14:04:22 EDT


> 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