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

AltStyle によって変換されたページ (->オリジナル) /