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/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 3858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3869 __ Addu(t9, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3869 __ Addu(t9, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3870 __ Jump(t9); | 3870 __ Jump(t9); |
3871 | 3871 |
3872 __ bind(&transition_call); | 3872 __ bind(&transition_call); |
3873 __ lw(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); | 3873 __ lw(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); |
3874 __ JumpIfSmi(too_far, miss); | 3874 __ JumpIfSmi(too_far, miss); |
3875 | 3875 |
3876 __ lw(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); | 3876 __ lw(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); |
3877 | 3877 |
3878 // Load the map into the correct register. | 3878 // Load the map into the correct register. |
3879 DCHECK(feedback.is(VectorStoreTransitionDescriptor::MapRegister())); | 3879 DCHECK(feedback.is(StoreTransitionDescriptor::MapRegister())); |
3880 __ mov(feedback, too_far); | 3880 __ mov(feedback, too_far); |
3881 | 3881 |
3882 __ Addu(t9, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3882 __ Addu(t9, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3883 __ Jump(t9); | 3883 __ Jump(t9); |
3884 | 3884 |
3885 __ bind(&prepare_next); | 3885 __ bind(&prepare_next); |
3886 __ Addu(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); | 3886 __ Addu(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); |
3887 __ Branch(&next_loop, lt, pointer_reg, Operand(too_far)); | 3887 __ Branch(&next_loop, lt, pointer_reg, Operand(too_far)); |
3888 | 3888 |
3889 // We exhausted our array of map handler pairs. | 3889 // We exhausted our array of map handler pairs. |
(...skipping 1474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5364 kStackUnwindSpace, kInvalidStackOffset, | 5364 kStackUnwindSpace, kInvalidStackOffset, |
5365 return_value_operand, NULL); | 5365 return_value_operand, NULL); |
5366 } | 5366 } |
5367 | 5367 |
5368 #undef __ | 5368 #undef __ |
5369 | 5369 |
5370 } // namespace internal | 5370 } // namespace internal |
5371 } // namespace v8 | 5371 } // namespace v8 |
5372 | 5372 |
5373 #endif // V8_TARGET_ARCH_MIPS | 5373 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |