| 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 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 Heap::RootListIndex index, | 1459 Heap::RootListIndex index, |
| 1460 Label* if_not_equal); | 1460 Label* if_not_equal); |
| 1461 | 1461 |
| 1462 // Load and check the instance type of an object for being a unique name. | 1462 // Load and check the instance type of an object for being a unique name. |
| 1463 // Loads the type into the second argument register. | 1463 // Loads the type into the second argument register. |
| 1464 // The object and type arguments can be the same register; in that case it | 1464 // The object and type arguments can be the same register; in that case it |
| 1465 // will be overwritten with the type. | 1465 // will be overwritten with the type. |
| 1466 // Fall-through if the object was a string and jump on fail otherwise. | 1466 // Fall-through if the object was a string and jump on fail otherwise. |
| 1467 inline void IsObjectNameType(Register object, Register type, Label* fail); | 1467 inline void IsObjectNameType(Register object, Register type, Label* fail); |
| 1468 | 1468 |
| 1469 inline void IsObjectJSObjectType(Register heap_object, | |
| 1470 Register map, | |
| 1471 Register scratch, | |
| 1472 Label* fail); | |
| 1473 | |
| 1474 // Check the instance type in the given map to see if it corresponds to a | |
| 1475 // JS object type. Jump to the fail label if this is not the case and fall | |
| 1476 // through otherwise. However if fail label is NULL, no branch will be | |
| 1477 // performed and the flag will be updated. You can test the flag for "le" | |
| 1478 // condition to test if it is a valid JS object type. | |
| 1479 inline void IsInstanceJSObjectType(Register map, | |
| 1480 Register scratch, | |
| 1481 Label* fail); | |
| 1482 | |
| 1483 // Load and check the instance type of an object for being a string. | 1469 // Load and check the instance type of an object for being a string. |
| 1484 // Loads the type into the second argument register. | 1470 // Loads the type into the second argument register. |
| 1485 // The object and type arguments can be the same register; in that case it | 1471 // The object and type arguments can be the same register; in that case it |
| 1486 // will be overwritten with the type. | 1472 // will be overwritten with the type. |
| 1487 // Jumps to not_string or string appropriate. If the appropriate label is | 1473 // Jumps to not_string or string appropriate. If the appropriate label is |
| 1488 // NULL, fall through. | 1474 // NULL, fall through. |
| 1489 inline void IsObjectJSStringType(Register object, Register type, | 1475 inline void IsObjectJSStringType(Register object, Register type, |
| 1490 Label* not_string, Label* string = NULL); | 1476 Label* not_string, Label* string = NULL); |
| 1491 | 1477 |
| 1492 // Compare the contents of a register with an operand, and branch to true, | 1478 // Compare the contents of a register with an operand, and branch to true, |
| (...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2264 #error "Unsupported option" | 2250 #error "Unsupported option" |
| 2265 #define CODE_COVERAGE_STRINGIFY(x) #x | 2251 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2266 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2252 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2267 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2253 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2268 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2254 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2269 #else | 2255 #else |
| 2270 #define ACCESS_MASM(masm) masm-> | 2256 #define ACCESS_MASM(masm) masm-> |
| 2271 #endif | 2257 #endif |
| 2272 | 2258 |
| 2273 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2259 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| OLD | NEW |