Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Java Machine > Re: Optimizatio...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 3 Topic 790 of 816
Post > Topic >>

Re: Optimization question

by Joshua Cranmer <Pidgeot18@[EMAIL PROTECTED] > Sep 22, 2007 at 11:01 PM

Christopher Diggins wrote:
> Hi All,
> 
> Quick question about optimizing JVM bytecode. Suppose I have the
> following Java code:
> 
> public static void main(String[] args) {
>   int a[] = new int[42];
>   for (int i=0; i < a.length; ++i)
>     a[i] = 1;
>   int sum = 0;
>   for (int i=0; i < a.length; ++i)
>      sum = sum + a[i] ;
>    System.out.println(sum);
> }
> 
> Would it be okay if I wrote an optimizer that pre-evaluated the code
> and just generated byte-code that output the value 42? In other words,
> did not even bother allocating the array, if it could avoid it? Would
> it violate the Java virtual machine spec, or the language spec? If it
> is okay, does anyone know of optimizers that do such a pre-
> evaluation?

Optimization appears to be legal according to the JLS with a few caveats:

1. All constant-expression code is strictfp
2. Application of the commutative and associative properties is strictly 
forbidden.
3. There's more restrictions, see §15 for the full scoop.

The Java VM does not, to my knowledge, prohibit any optimization; the 
JVM actually does hefty optimization.

I believe that there is a flag in javac that causes it to optimize, but 
Sun doesn't recommend it because (I think) they found that the JIT 
optimizer worked better with the unoptimized code. I do not know if that 
optimizer did constant propagation though.

Many optimizers (gcc included) do use constant propagation and constant 
folding--it is very trivial optimization.

-- 
Beware of bugs in the above code; I have only proved it correct, not 
tried it. -- Donald E. Knuth
 




 3 Posts in Topic:
Optimization question
Christopher Diggins <c  2007-09-22 14:55:05 
Re: Optimization question
Joshua Cranmer <Pidgeo  2007-09-22 23:01:53 
Re: Optimization question
glen herrmannsfeldt <g  2007-09-27 18:06:08 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 17:46:17 CDT 2008.