Yes, my change does include the case with shallow cloning. --Florian
On Fri, Dec 18, 2009 at 10:44 AM, Kasper Lund <[email protected]> wrote: > Florian, > > If your latest changes to this area already covers this, I'd be happy > to not submit this. > > Cheers, > Kasper > > On Fri, Dec 18, 2009 at 10:43 AM, <[email protected]> wrote: > > Reviewers: fschneider, > > > > Description: > > Avoid using full array literal boilerplate cloning for non-nested > > literals that are too big to hit the fast case. > > > > Please review this at http://codereview.chromium.org/503055 > > > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > > > Affected files: > > M bleeding_edge/src/ia32/codegen-ia32.cc > > > > > > Index: bleeding_edge/src/ia32/codegen-ia32.cc > > =================================================================== > > --- bleeding_edge/src/ia32/codegen-ia32.cc (revision 3488) > > +++ bleeding_edge/src/ia32/codegen-ia32.cc (working copy) > > @@ -4443,10 +4443,13 @@ > > // Clone the boilerplate object. > > int length = node->values()->length(); > > Result clone; > > - if (node->depth() == 1 && > > - length <= FastCloneShallowArrayStub::kMaximumLength) { > > - FastCloneShallowArrayStub stub(length); > > - clone = frame_->CallStub(&stub, 1); > > + if (node->depth() == 1) { > > + if (length <= FastCloneShallowArrayStub::kMaximumLength) { > > + FastCloneShallowArrayStub stub(length); > > + clone = frame_->CallStub(&stub, 1); > > + } else { > > + clone = > frame_->CallRuntime(Runtime::kCloneShallowLiteralBoilerplate, > > 1); > > + } > > } else { > > clone = frame_->CallRuntime(Runtime::kCloneLiteralBoilerplate, 1); > > } > > > > > > > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
