| 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 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1483 Heap::RootListIndex index, | 1483 Heap::RootListIndex index, |
| 1484 Label* if_not_equal); | 1484 Label* if_not_equal); |
| 1485 | 1485 |
| 1486 // Load and check the instance type of an object for being a unique name. | 1486 // Load and check the instance type of an object for being a unique name. |
| 1487 // Loads the type into the second argument register. | 1487 // Loads the type into the second argument register. |
| 1488 // The object and type arguments can be the same register; in that case it | 1488 // The object and type arguments can be the same register; in that case it |
| 1489 // will be overwritten with the type. | 1489 // will be overwritten with the type. |
| 1490 // Fall-through if the object was a string and jump on fail otherwise. | 1490 // Fall-through if the object was a string and jump on fail otherwise. |
| 1491 inline void IsObjectNameType(Register object, Register type, Label* fail); | 1491 inline void IsObjectNameType(Register object, Register type, Label* fail); |
| 1492 | 1492 |
| 1493 inline void IsObjectJSObjectType(Register heap_object, | |
| 1494 Register map, | |
| 1495 Register scratch, | |
| 1496 Label* fail); | |
| 1497 | |
| 1498 // Check the instance type in the given map to see if it corresponds to a | |
| 1499 // JS object type. Jump to the fail label if this is not the case and fall | |
| 1500 // through otherwise. However if fail label is NULL, no branch will be | |
| 1501 // performed and the flag will be updated. You can test the flag for "le" | |
| 1502 // condition to test if it is a valid JS object type. | |
| 1503 inline void IsInstanceJSObjectType(Register map, | |
| 1504 Register scratch, | |
| 1505 Label* fail); | |
| 1506 | |
| 1507 // Load and check the instance type of an object for being a string. | 1493 // Load and check the instance type of an object for being a string. |
| 1508 // Loads the type into the second argument register. | 1494 // Loads the type into the second argument register. |
| 1509 // The object and type arguments can be the same register; in that case it | 1495 // The object and type arguments can be the same register; in that case it |
| 1510 // will be overwritten with the type. | 1496 // will be overwritten with the type. |
| 1511 // Jumps to not_string or string appropriate. If the appropriate label is | 1497 // Jumps to not_string or string appropriate. If the appropriate label is |
| 1512 // NULL, fall through. | 1498 // NULL, fall through. |
| 1513 inline void IsObjectJSStringType(Register object, Register type, | 1499 inline void IsObjectJSStringType(Register object, Register type, |
| 1514 Label* not_string, Label* string = NULL); | 1500 Label* not_string, Label* string = NULL); |
| 1515 | 1501 |
| 1516 // Compare the contents of a register with an operand, and branch to true, | 1502 // Compare the contents of a register with an operand, and branch to true, |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2287 #error "Unsupported option" | 2273 #error "Unsupported option" |
| 2288 #define CODE_COVERAGE_STRINGIFY(x) #x | 2274 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2289 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2275 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2290 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2276 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2291 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2277 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2292 #else | 2278 #else |
| 2293 #define ACCESS_MASM(masm) masm-> | 2279 #define ACCESS_MASM(masm) masm-> |
| 2294 #endif | 2280 #endif |
| 2295 | 2281 |
| 2296 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2282 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| OLD | NEW |