OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 1314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1325 // Jump if either of the registers contain a non-smi. | 1325 // Jump if either of the registers contain a non-smi. |
1326 inline void JumpIfNotSmi(Register value, Label* not_smi_label) { | 1326 inline void JumpIfNotSmi(Register value, Label* not_smi_label) { |
1327 TestIfSmi(value, r0); | 1327 TestIfSmi(value, r0); |
1328 bne(not_smi_label, cr0); | 1328 bne(not_smi_label, cr0); |
1329 } | 1329 } |
1330 // Jump if either of the registers contain a non-smi. | 1330 // Jump if either of the registers contain a non-smi. |
1331 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi); | 1331 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi); |
1332 // Jump if either of the registers contain a smi. | 1332 // Jump if either of the registers contain a smi. |
1333 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi); | 1333 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi); |
1334 | 1334 |
| 1335 // Abort execution if argument is a number, enabled via --debug-code. |
| 1336 void AssertNotNumber(Register object); |
| 1337 |
1335 // Abort execution if argument is a smi, enabled via --debug-code. | 1338 // Abort execution if argument is a smi, enabled via --debug-code. |
1336 void AssertNotSmi(Register object); | 1339 void AssertNotSmi(Register object); |
1337 void AssertSmi(Register object); | 1340 void AssertSmi(Register object); |
1338 | 1341 |
1339 | 1342 |
1340 #if V8_TARGET_ARCH_PPC64 | 1343 #if V8_TARGET_ARCH_PPC64 |
1341 inline void TestIfInt32(Register value, Register scratch, | 1344 inline void TestIfInt32(Register value, Register scratch, |
1342 CRegister cr = cr7) { | 1345 CRegister cr = cr7) { |
1343 // High bits must be identical to fit into an 32-bit integer | 1346 // High bits must be identical to fit into an 32-bit integer |
1344 extsw(scratch, value); | 1347 extsw(scratch, value); |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1635 #define ACCESS_MASM(masm) \ | 1638 #define ACCESS_MASM(masm) \ |
1636 masm->stop(__FILE_LINE__); \ | 1639 masm->stop(__FILE_LINE__); \ |
1637 masm-> | 1640 masm-> |
1638 #else | 1641 #else |
1639 #define ACCESS_MASM(masm) masm-> | 1642 #define ACCESS_MASM(masm) masm-> |
1640 #endif | 1643 #endif |
1641 } // namespace internal | 1644 } // namespace internal |
1642 } // namespace v8 | 1645 } // namespace v8 |
1643 | 1646 |
1644 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1647 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |