| 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);
|
| }
|
|
|