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
