Den 28. jul. 2011 16.12 skrev Andy Wingo <[email protected]>:

>
> On Thu, 2011-07-28 at 13:52 +0200, Florian Schneider wrote:
> > After this change I observed a spike in compilation time for certain
> > large functions.
> >
> >
> > I didn't expect that, but it seems the additional allocation of Range
> > objects hurts performance considerably.
> >
> >
> > I think it makes sense to assign NULL instead of a new Range object
> > for instructions that don't have a representation (e.g. all HCheck
> > instructions)
>
> Hum, unfortunate.  Sorry I didn't catch it earlier.  Agreed regarding
> NULL range objects; but, I was under the (evidently mistaken) impression
> that InferRange would not be called for values with None representation.
> It is only called from ComputeInitialRange(), and that is only called
> from HRangeAnalysis::InferRange within a block to check for None
> representation, and in AddNewRange() -- but the details are a bit
> unclear to me.
>

I thought the same. Have yet to identify the exact reason for the
compilation time slowdown. It seems for some reason we allocate much more
zone-memory during compilation of certain programs (e.g. crypto-aes from the
Sunspider benchmarks). For now I'll revert and try to find a reliable reduce
reproduction.


>
> Probably the best thing to do is to revert this patch, unless you are
> particularly interested in the issue.  If you do that, please pass along
> a test case so I can have a look at it.
>
> Thanks for the review,
>
> Andy
>
>
>

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to