| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index d9cd90d64f17868726d25f06ad2826b4934945f6..c4d3299e49921eb3f34681423a56421cb3113d82 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -490,7 +490,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::kAllocationSiteInfoAllowed
|
| + : ArrayLiteral::kNoFlags;
|
| + __ pop(ecx);
|
| + __ push(Immediate(Smi::FromInt(flags)));
|
| + __ push(ecx);
|
| + __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 4, 1);
|
| }
|
|
|
|
|
|
|