OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "src/arm64/assembler-arm64.h" | 10 #include "src/arm64/assembler-arm64.h" |
(...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
975 // via --debug-code. | 975 // via --debug-code. |
976 void AssertUndefinedOrAllocationSite(Register object, Register scratch); | 976 void AssertUndefinedOrAllocationSite(Register object, Register scratch); |
977 | 977 |
978 // Abort execution if argument is not a string, enabled via --debug-code. | 978 // Abort execution if argument is not a string, enabled via --debug-code. |
979 void AssertString(Register object); | 979 void AssertString(Register object); |
980 | 980 |
981 // Abort execution if argument is not a positive or zero integer, enabled via | 981 // Abort execution if argument is not a positive or zero integer, enabled via |
982 // --debug-code. | 982 // --debug-code. |
983 void AssertPositiveOrZero(Register value); | 983 void AssertPositiveOrZero(Register value); |
984 | 984 |
| 985 // Abort execution if argument is not a number (heap number or smi). |
| 986 void AssertNumber(Register value); |
| 987 |
985 void JumpIfHeapNumber(Register object, Label* on_heap_number, | 988 void JumpIfHeapNumber(Register object, Label* on_heap_number, |
986 SmiCheckType smi_check_type = DONT_DO_SMI_CHECK); | 989 SmiCheckType smi_check_type = DONT_DO_SMI_CHECK); |
987 void JumpIfNotHeapNumber(Register object, Label* on_not_heap_number, | 990 void JumpIfNotHeapNumber(Register object, Label* on_not_heap_number, |
988 SmiCheckType smi_check_type = DONT_DO_SMI_CHECK); | 991 SmiCheckType smi_check_type = DONT_DO_SMI_CHECK); |
989 | 992 |
990 // Sets the vs flag if the input is -0.0. | 993 // Sets the vs flag if the input is -0.0. |
991 void TestForMinusZero(DoubleRegister input); | 994 void TestForMinusZero(DoubleRegister input); |
992 | 995 |
993 // Jump to label if the input double register contains -0.0. | 996 // Jump to label if the input double register contains -0.0. |
994 void JumpIfMinusZero(DoubleRegister input, Label* on_negative_zero); | 997 void JumpIfMinusZero(DoubleRegister input, Label* on_negative_zero); |
(...skipping 1250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2245 #error "Unsupported option" | 2248 #error "Unsupported option" |
2246 #define CODE_COVERAGE_STRINGIFY(x) #x | 2249 #define CODE_COVERAGE_STRINGIFY(x) #x |
2247 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2250 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2248 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2251 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2249 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2252 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2250 #else | 2253 #else |
2251 #define ACCESS_MASM(masm) masm-> | 2254 #define ACCESS_MASM(masm) masm-> |
2252 #endif | 2255 #endif |
2253 | 2256 |
2254 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2257 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |