| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index e0aeb8e3648fc922abd1bc5cda86cd5e5c9c4640..e98a99b6dcc4e708f6cb4209c4fda8ef494075c3 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1703,6 +1703,15 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
| FastCloneShallowArrayStub::Mode mode = has_constant_fast_elements
|
| ? FastCloneShallowArrayStub::CLONE_ELEMENTS
|
| : FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS;
|
| +
|
| + // Tracking allocation info allows us to pre-transition later if it makes
|
| + // sense.
|
| + if (mode == FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS &&
|
| + FLAG_track_allocation_sites) {
|
| + mode = FastCloneShallowArrayStub::
|
| + CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO;
|
| + }
|
| +
|
| FastCloneShallowArrayStub stub(mode, length);
|
| __ CallStub(&stub);
|
| }
|
|
|