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_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 |
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/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 3865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3876 __ ld(pointer_reg, MemOperand(pointer_reg, kPointerSize * 2)); | 3876 __ ld(pointer_reg, MemOperand(pointer_reg, kPointerSize * 2)); |
3877 __ Daddu(t9, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3877 __ Daddu(t9, pointer_reg, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3878 __ Jump(t9); | 3878 __ Jump(t9); |
3879 | 3879 |
3880 __ bind(&transition_call); | 3880 __ bind(&transition_call); |
3881 __ ld(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); | 3881 __ ld(too_far, FieldMemOperand(too_far, WeakCell::kValueOffset)); |
3882 __ JumpIfSmi(too_far, miss); | 3882 __ JumpIfSmi(too_far, miss); |
3883 | 3883 |
3884 __ ld(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); | 3884 __ ld(receiver_map, MemOperand(pointer_reg, kPointerSize * 2)); |
3885 // Load the map into the correct register. | 3885 // Load the map into the correct register. |
3886 DCHECK(feedback.is(VectorStoreTransitionDescriptor::MapRegister())); | 3886 DCHECK(feedback.is(StoreTransitionDescriptor::MapRegister())); |
3887 __ Move(feedback, too_far); | 3887 __ Move(feedback, too_far); |
3888 __ Daddu(t9, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); | 3888 __ Daddu(t9, receiver_map, Operand(Code::kHeaderSize - kHeapObjectTag)); |
3889 __ Jump(t9); | 3889 __ Jump(t9); |
3890 | 3890 |
3891 __ bind(&prepare_next); | 3891 __ bind(&prepare_next); |
3892 __ Daddu(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); | 3892 __ Daddu(pointer_reg, pointer_reg, Operand(kPointerSize * 3)); |
3893 __ Branch(&next_loop, lt, pointer_reg, Operand(too_far)); | 3893 __ Branch(&next_loop, lt, pointer_reg, Operand(too_far)); |
3894 | 3894 |
3895 // We exhausted our array of map handler pairs. | 3895 // We exhausted our array of map handler pairs. |
3896 __ Branch(miss); | 3896 __ Branch(miss); |
(...skipping 1494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5391 kStackUnwindSpace, kInvalidStackOffset, | 5391 kStackUnwindSpace, kInvalidStackOffset, |
5392 return_value_operand, NULL); | 5392 return_value_operand, NULL); |
5393 } | 5393 } |
5394 | 5394 |
5395 #undef __ | 5395 #undef __ |
5396 | 5396 |
5397 } // namespace internal | 5397 } // namespace internal |
5398 } // namespace v8 | 5398 } // namespace v8 |
5399 | 5399 |
5400 #endif // V8_TARGET_ARCH_MIPS64 | 5400 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |