OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/bootstrapper.h" | 8 #include "src/bootstrapper.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1681 | 1681 |
1682 // 2. Backing store. | 1682 // 2. Backing store. |
1683 __ sll(t6, t1, 1); | 1683 __ sll(t6, t1, 1); |
1684 __ Addu(t5, t5, Operand(t6)); | 1684 __ Addu(t5, t5, Operand(t6)); |
1685 __ Addu(t5, t5, Operand(FixedArray::kHeaderSize)); | 1685 __ Addu(t5, t5, Operand(FixedArray::kHeaderSize)); |
1686 | 1686 |
1687 // 3. Arguments object. | 1687 // 3. Arguments object. |
1688 __ Addu(t5, t5, Operand(Heap::kSloppyArgumentsObjectSize)); | 1688 __ Addu(t5, t5, Operand(Heap::kSloppyArgumentsObjectSize)); |
1689 | 1689 |
1690 // Do the allocation of all three objects in one go. | 1690 // Do the allocation of all three objects in one go. |
1691 __ Allocate(t5, v0, t0, t5, &runtime, TAG_OBJECT); | 1691 __ Allocate(t5, v0, t5, t0, &runtime, TAG_OBJECT); |
1692 | 1692 |
1693 // v0 = address of new object(s) (tagged) | 1693 // v0 = address of new object(s) (tagged) |
1694 // a2 = argument count (smi-tagged) | 1694 // a2 = argument count (smi-tagged) |
1695 // Get the arguments boilerplate from the current native context into t0. | 1695 // Get the arguments boilerplate from the current native context into t0. |
1696 const int kNormalOffset = | 1696 const int kNormalOffset = |
1697 Context::SlotOffset(Context::SLOPPY_ARGUMENTS_MAP_INDEX); | 1697 Context::SlotOffset(Context::SLOPPY_ARGUMENTS_MAP_INDEX); |
1698 const int kAliasedOffset = | 1698 const int kAliasedOffset = |
1699 Context::SlotOffset(Context::FAST_ALIASED_ARGUMENTS_MAP_INDEX); | 1699 Context::SlotOffset(Context::FAST_ALIASED_ARGUMENTS_MAP_INDEX); |
1700 | 1700 |
1701 __ lw(t0, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX))); | 1701 __ lw(t0, MemOperand(cp, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX))); |
(...skipping 3869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5571 MemOperand(fp, 6 * kPointerSize), NULL); | 5571 MemOperand(fp, 6 * kPointerSize), NULL); |
5572 } | 5572 } |
5573 | 5573 |
5574 | 5574 |
5575 #undef __ | 5575 #undef __ |
5576 | 5576 |
5577 } // namespace internal | 5577 } // namespace internal |
5578 } // namespace v8 | 5578 } // namespace v8 |
5579 | 5579 |
5580 #endif // V8_TARGET_ARCH_MIPS | 5580 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |