Chromium Code Reviews| Index: src/x64/code-stubs-x64.cc |
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
| index 095113c40da56f397fbecbdc8f8b6d261ee38295..d4906114b0cbc8e91d4fa252491fa83459905d8e 100644 |
| --- a/src/x64/code-stubs-x64.cc |
| +++ b/src/x64/code-stubs-x64.cc |
| @@ -481,7 +481,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 |
|
danno
2013/02/11 15:05:21
Check FLAG_track_allocation_sites here, never sett
mvstanton
2013/02/15 07:36:43
With some other changes already present, I think I
|
| + ? ArrayLiteral::kAllocationSiteInfoAllowed |
| + : ArrayLiteral::kNoFlags; |
| + __ pop(rcx); |
| + __ Push(Smi::FromInt(flags)); |
| + __ push(rcx); |
| + __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 4, 1); |
| } |