This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: heap allocation and gc with gcj


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]