cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robin Green" <>
Subject Re: new version of the sql logicsheet under development
Date Sat, 09 Sep 2000 12:02:37 GMT
"Nicola Ken Barozzi" <> wrote:
>At there
>is a Java class optimizer that reducers size to up to 95% (less 
>a.. removing debug info
>line number table, local variable table
>b.. removing attributes that are unnecessary for execution
>sourcefile, innerclass, synthetic, deprecated, user-defined
>c.. removing unused private methods and fields
>d.. removing unused entries from the constant pool
>any entry that is not referenced from anywhere inside the class file, e.g. 
>the constant_utf8 ``SourceFile'' and the name of the
>sourcefile that were lost when the sourcefile attribute was removed
>e.. optimizing the order of local variable slots
>f.. new: compressing local variable slots
>g.. obfuscating private method- and fieldnames
>the new names are usually shorter than the old ones, so the optimized class 
>file is also shorter
>optimizing the bytecode in different ways
>   a.. removing NOP instructions
>   b.. removing GOTO instructions that jump to the following instruction
>   c.. redirecting GOTO instructions that jump to another GOTO instruction
>   d.. replacing GOTO instructions that jump to a RETURN instruction
>   e.. removing dead code
>   f.. replacing xSTOREn/xLOADn by DUP/xSTOREn, which can entail other 
>   g.. new: live variable analysis
>   h.. new: constant analysis

Unfortunately only the last 3 (f, g, h) are likely to be useful in cases 
like Uli's, where there is just a helluva lot of node creation instructions. 
Even then, optimizers sometimes generate code that only works on certain VMs 
- destroying cross-platform portability. :(

Get Your Private, Free E-mail from MSN Hotmail at

Share information about yourself, create your own public profile at

View raw message