[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: size of javac
On Tue, Jul 01, 2003 at 01:28:00PM -0700, Manu Sridharan wrote:
> Hi there,
>
> I'm trying to reproduce the numbers given for the size of javac in the
> CC 2003 paper. When I run soot 2.0.1's CHA on javac from specjvm98,
> using the 1.3.1 library, it says there are 4847 reachable methods, as
> opposed to the 16307 reachable methods listed in the paper. Has the CHA
> gotten much better since Soot 1.2.4? Or am I doing something wrong?
The CHA has gotten a little better. However, 4847 sounds way too low to
me. What are you giving as the main class? The spec benchmark harness
uses reflection to load the actual benchmark, so if you don't specify
the *real* main class of the benchmark, you may be getting only the
harness. If I do:
soot -w -p cg.cha verbose -p cg verbose -cp classes:/usr/local/jdk1.3.1_01/jre/lib/rt.jar spec.benchmarks._213_javac.Main
I get 13198 reachable methods, and some dynamic class warnings.
If I specify the dynamic classes with -dynamic-class:
soot -w -p cg.cha verbose -p cg verbose -cp classes:/usr/local/jdk1.3.1_01/jre/lib/rt.jar -dynamic-class javax.swing.text.html.parser.ParserDelegator -dynamic-class javax.swing.text.html.ResourceLoader -dynamic-class javax.swing.text.html.parser.ResourceLoader spec.benchmarks._213_javac.Main
I get 13441 reachable methods.
In 1.2.4, we had no way of suggesting what the dynamic classes are, so
we had a (much longer) hand-compiled list, which should explain the
difference between ~13000 and ~16000.
Ondrej
>
> Thanks,
> Manu
>