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.

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