| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 2d3f7c6431cdb5367090b0b39b219084b0836ef6..2082035a8d6a600d833453864375fd0fc6290a4c 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -397,14 +397,15 @@ static void GenerateFastCloneShallowArrayCommon(
|
| void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) {
|
| // Stack layout on entry:
|
| //
|
| - // [rsp + kPointerSize]: constant elements.
|
| - // [rsp + (2 * kPointerSize)]: literal index.
|
| - // [rsp + (3 * kPointerSize)]: literals array.
|
| + // [rsp + kPointerSize]: flags (ignored)
|
| + // [rsp + (2 * kPointerSize)]: constant elements.
|
| + // [rsp + (3 * kPointerSize)]: literal index.
|
| + // [rsp + (4 * kPointerSize)]: literals array.
|
|
|
| // Load boilerplate object into rcx and check if we need to create a
|
| // boilerplate.
|
| - __ movq(rcx, Operand(rsp, 3 * kPointerSize));
|
| - __ movq(rax, Operand(rsp, 2 * kPointerSize));
|
| + __ movq(rcx, Operand(rsp, 4 * kPointerSize));
|
| + __ movq(rax, Operand(rsp, 3 * kPointerSize));
|
| SmiIndex index = masm->SmiToIndex(rax, rax, kPointerSizeLog2);
|
| __ movq(rcx,
|
| FieldOperand(rcx, index.reg, index.scale, FixedArray::kHeaderSize));
|
| @@ -424,7 +425,7 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) {
|
| GenerateFastCloneShallowArrayCommon(masm, 0, COPY_ON_WRITE_ELEMENTS,
|
| allocation_site_mode_,
|
| &slow_case);
|
| - __ ret(3 * kPointerSize);
|
| + __ ret(4 * kPointerSize);
|
|
|
| __ bind(&check_fast_elements);
|
| __ Cmp(FieldOperand(rbx, HeapObject::kMapOffset),
|
| @@ -433,7 +434,7 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) {
|
| GenerateFastCloneShallowArrayCommon(masm, length_, CLONE_ELEMENTS,
|
| allocation_site_mode_,
|
| &slow_case);
|
| - __ ret(3 * kPointerSize);
|
| + __ ret(4 * kPointerSize);
|
|
|
| __ bind(&double_elements);
|
| mode = CLONE_DOUBLE_ELEMENTS;
|
| @@ -465,10 +466,10 @@ void FastCloneShallowArrayStub::Generate(MacroAssembler* masm) {
|
| GenerateFastCloneShallowArrayCommon(masm, length_, mode,
|
| allocation_site_mode_,
|
| &slow_case);
|
| - __ ret(3 * kPointerSize);
|
| + __ ret(4 * kPointerSize);
|
|
|
| __ bind(&slow_case);
|
| - __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 3, 1);
|
| + __ TailCallRuntime(Runtime::kCreateArrayLiteralShallow, 4, 1);
|
| }
|
|
|
|
|
|
|