| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index 88207c490777d3b3d0eaffd5a8e96c8b01987dda..b274449ce1de4294d7e6a3d30800cd39122ca6c4 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -540,7 +540,15 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) {
|
| __ ret(3 * kPointerSize);
|
|
|
| __ bind(&slow_case);
|
| - __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1);
|
| +
|
| + // Add a flags argument, carefully preserving the return address on the stack.
|
| + int flags = allocation_site_mode_ == TRACK_ALLOCATION_SITE
|
| + ? ArrayLiteral::kCreateAllocationSiteInfos
|
| + : ArrayLiteral::kNoFlags;
|
| + __ pop(ecx);
|
| + __ push(Immediate(Smi::FromInt(flags)));
|
| + __ push(ecx);
|
| + __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 4, 1);
|
| }
|
|
|
|
|
|
|