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 1443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1454 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); | 1454 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); |
1455 | 1455 |
1456 // Test the bitfield of the heap object map with mask and set the condition | 1456 // Test the bitfield of the heap object map with mask and set the condition |
1457 // flags. The object register is preserved. | 1457 // flags. The object register is preserved. |
1458 void TestMapBitfield(Register object, uint64_t mask); | 1458 void TestMapBitfield(Register object, uint64_t mask); |
1459 | 1459 |
1460 // Load the elements kind field from a map, and return it in the result | 1460 // Load the elements kind field from a map, and return it in the result |
1461 // register. | 1461 // register. |
1462 void LoadElementsKindFromMap(Register result, Register map); | 1462 void LoadElementsKindFromMap(Register result, Register map); |
1463 | 1463 |
| 1464 // Load the value from the root list and push it onto the stack. |
| 1465 void PushRoot(Heap::RootListIndex index); |
| 1466 |
1464 // Compare the object in a register to a value from the root list. | 1467 // Compare the object in a register to a value from the root list. |
1465 void CompareRoot(const Register& obj, Heap::RootListIndex index); | 1468 void CompareRoot(const Register& obj, Heap::RootListIndex index); |
1466 | 1469 |
1467 // Compare the object in a register to a value and jump if they are equal. | 1470 // Compare the object in a register to a value and jump if they are equal. |
1468 void JumpIfRoot(const Register& obj, | 1471 void JumpIfRoot(const Register& obj, |
1469 Heap::RootListIndex index, | 1472 Heap::RootListIndex index, |
1470 Label* if_equal); | 1473 Label* if_equal); |
1471 | 1474 |
1472 // Compare the object in a register to a value and jump if they are not equal. | 1475 // Compare the object in a register to a value and jump if they are not equal. |
1473 void JumpIfNotRoot(const Register& obj, | 1476 void JumpIfNotRoot(const Register& obj, |
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2285 #error "Unsupported option" | 2288 #error "Unsupported option" |
2286 #define CODE_COVERAGE_STRINGIFY(x) #x | 2289 #define CODE_COVERAGE_STRINGIFY(x) #x |
2287 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2290 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2288 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2291 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2289 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2292 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2290 #else | 2293 #else |
2291 #define ACCESS_MASM(masm) masm-> | 2294 #define ACCESS_MASM(masm) masm-> |
2292 #endif | 2295 #endif |
2293 | 2296 |
2294 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2297 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |