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/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 1465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1476 Label with_tos_register, unknown_state; | 1476 Label with_tos_register, unknown_state; |
1477 __ Branch(&with_tos_register, ne, a6, | 1477 __ Branch(&with_tos_register, ne, a6, |
1478 Operand(static_cast<int>(Deoptimizer::BailoutState::NO_REGISTERS))); | 1478 Operand(static_cast<int>(Deoptimizer::BailoutState::NO_REGISTERS))); |
1479 __ Ret(USE_DELAY_SLOT); | 1479 __ Ret(USE_DELAY_SLOT); |
1480 // Safe to fill delay slot Addu will emit one instruction. | 1480 // Safe to fill delay slot Addu will emit one instruction. |
1481 __ Daddu(sp, sp, Operand(1 * kPointerSize)); // Remove state. | 1481 __ Daddu(sp, sp, Operand(1 * kPointerSize)); // Remove state. |
1482 | 1482 |
1483 __ bind(&with_tos_register); | 1483 __ bind(&with_tos_register); |
1484 DCHECK_EQ(kInterpreterAccumulatorRegister.code(), v0.code()); | 1484 DCHECK_EQ(kInterpreterAccumulatorRegister.code(), v0.code()); |
1485 __ ld(v0, MemOperand(sp, 1 * kPointerSize)); | 1485 __ ld(v0, MemOperand(sp, 1 * kPointerSize)); |
1486 __ Branch(&unknown_state, ne, t2, | 1486 __ Branch(&unknown_state, ne, a6, |
1487 Operand(static_cast<int>(Deoptimizer::BailoutState::TOS_REGISTER))); | 1487 Operand(static_cast<int>(Deoptimizer::BailoutState::TOS_REGISTER))); |
1488 | 1488 |
1489 __ Ret(USE_DELAY_SLOT); | 1489 __ Ret(USE_DELAY_SLOT); |
1490 // Safe to fill delay slot Addu will emit one instruction. | 1490 // Safe to fill delay slot Addu will emit one instruction. |
1491 __ Daddu(sp, sp, Operand(2 * kPointerSize)); // Remove state. | 1491 __ Daddu(sp, sp, Operand(2 * kPointerSize)); // Remove state. |
1492 | 1492 |
1493 __ bind(&unknown_state); | 1493 __ bind(&unknown_state); |
1494 __ stop("no cases left"); | 1494 __ stop("no cases left"); |
1495 } | 1495 } |
1496 | 1496 |
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2817 } | 2817 } |
2818 } | 2818 } |
2819 | 2819 |
2820 | 2820 |
2821 #undef __ | 2821 #undef __ |
2822 | 2822 |
2823 } // namespace internal | 2823 } // namespace internal |
2824 } // namespace v8 | 2824 } // namespace v8 |
2825 | 2825 |
2826 #endif // V8_TARGET_ARCH_MIPS64 | 2826 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |