heap allocation and gc with gcj
Andrew Haley
aph@redhat.com
Wed May 5 08:44:00 GMT 2004
Bryce McKinlay writes:
> Vladimir Leven wrote:
>
> > Using GCJ (3.2.2) If I do the following in a loop:
> >
> > while (true) {
> > byte[] bytes = new byte[1024];
> > //do some unrelated stuff
> > bytes = null;
> > }
> >
> > Will the array be allocated each time the loop runs or will the
> > compiler remove it because it is not used in the method?
>
> No, GCJ is not yet smart enough to do this sort of optimization. It
> shouldn't be too difficult to add, however, with the tree-ssa framework.
Hmm. This requires some fairly subtle escape analysis in all but the
simplest cases.
> But, we tend to assume that developers are smart enough to not write
> such code - there are other areas where smarter optimizations by the
> compiler should yield broader benefits - type and bounds check
> elimination, for example.
I agree.
Andrew.
More information about the Java
mailing list