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_S390_MACRO_ASSEMBLER_S390_H_ | 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ |
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ | 6 #define V8_S390_MACRO_ASSEMBLER_S390_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 1612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1623 // Jump if either of the registers contain a non-smi. | 1623 // Jump if either of the registers contain a non-smi. |
1624 inline void JumpIfNotSmi(Register value, Label* not_smi_label) { | 1624 inline void JumpIfNotSmi(Register value, Label* not_smi_label) { |
1625 TestIfSmi(value); | 1625 TestIfSmi(value); |
1626 bne(not_smi_label /*, cr0*/); | 1626 bne(not_smi_label /*, cr0*/); |
1627 } | 1627 } |
1628 // Jump if either of the registers contain a non-smi. | 1628 // Jump if either of the registers contain a non-smi. |
1629 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi); | 1629 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi); |
1630 // Jump if either of the registers contain a smi. | 1630 // Jump if either of the registers contain a smi. |
1631 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi); | 1631 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi); |
1632 | 1632 |
| 1633 // Abort execution if argument is a number, enabled via --debug-code. |
| 1634 void AssertNotNumber(Register object); |
| 1635 |
1633 // Abort execution if argument is a smi, enabled via --debug-code. | 1636 // Abort execution if argument is a smi, enabled via --debug-code. |
1634 void AssertNotSmi(Register object); | 1637 void AssertNotSmi(Register object); |
1635 void AssertSmi(Register object); | 1638 void AssertSmi(Register object); |
1636 | 1639 |
1637 #if V8_TARGET_ARCH_S390X | 1640 #if V8_TARGET_ARCH_S390X |
1638 inline void TestIfInt32(Register value, Register scratch) { | 1641 inline void TestIfInt32(Register value, Register scratch) { |
1639 // High bits must be identical to fit into an 32-bit integer | 1642 // High bits must be identical to fit into an 32-bit integer |
1640 lgfr(scratch, value); | 1643 lgfr(scratch, value); |
1641 CmpP(scratch, value); | 1644 CmpP(scratch, value); |
1642 } | 1645 } |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1890 #define ACCESS_MASM(masm) \ | 1893 #define ACCESS_MASM(masm) \ |
1891 masm->stop(__FILE_LINE__); \ | 1894 masm->stop(__FILE_LINE__); \ |
1892 masm-> | 1895 masm-> |
1893 #else | 1896 #else |
1894 #define ACCESS_MASM(masm) masm-> | 1897 #define ACCESS_MASM(masm) masm-> |
1895 #endif | 1898 #endif |
1896 } // namespace internal | 1899 } // namespace internal |
1897 } // namespace v8 | 1900 } // namespace v8 |
1898 | 1901 |
1899 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1902 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
OLD | NEW |