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/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1480 | 1480 |
1481 // Check if the map of an object is equal to a specified map and branch to a | 1481 // Check if the map of an object is equal to a specified map and branch to a |
1482 // specified target if equal. Skip the smi check if not required (object is | 1482 // specified target if equal. Skip the smi check if not required (object is |
1483 // known to be a heap object) | 1483 // known to be a heap object) |
1484 void DispatchMap(Register obj, | 1484 void DispatchMap(Register obj, |
1485 Register scratch, | 1485 Register scratch, |
1486 Handle<Map> map, | 1486 Handle<Map> map, |
1487 Handle<Code> success, | 1487 Handle<Code> success, |
1488 SmiCheckType smi_check_type); | 1488 SmiCheckType smi_check_type); |
1489 | 1489 |
| 1490 // Compare the given value and the value of weak cell. |
| 1491 void CmpWeakValue(Register value, Handle<WeakCell> cell, Register scratch); |
| 1492 |
| 1493 // Load the value of the weak cell in the value register. Branch to the given |
| 1494 // miss label if the weak cell was cleared. |
| 1495 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); |
| 1496 |
1490 // Test the bitfield of the heap object map with mask and set the condition | 1497 // Test the bitfield of the heap object map with mask and set the condition |
1491 // flags. The object register is preserved. | 1498 // flags. The object register is preserved. |
1492 void TestMapBitfield(Register object, uint64_t mask); | 1499 void TestMapBitfield(Register object, uint64_t mask); |
1493 | 1500 |
1494 // Load the elements kind field from a map, and return it in the result | 1501 // Load the elements kind field from a map, and return it in the result |
1495 // register. | 1502 // register. |
1496 void LoadElementsKindFromMap(Register result, Register map); | 1503 void LoadElementsKindFromMap(Register result, Register map); |
1497 | 1504 |
1498 // Compare the object in a register to a value from the root list. | 1505 // Compare the object in a register to a value from the root list. |
1499 void CompareRoot(const Register& obj, Heap::RootListIndex index); | 1506 void CompareRoot(const Register& obj, Heap::RootListIndex index); |
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2330 #error "Unsupported option" | 2337 #error "Unsupported option" |
2331 #define CODE_COVERAGE_STRINGIFY(x) #x | 2338 #define CODE_COVERAGE_STRINGIFY(x) #x |
2332 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2339 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2333 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2340 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2334 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2341 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2335 #else | 2342 #else |
2336 #define ACCESS_MASM(masm) masm-> | 2343 #define ACCESS_MASM(masm) masm-> |
2337 #endif | 2344 #endif |
2338 | 2345 |
2339 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2346 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |