| 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 "v8globals.h" | 10 #include "v8globals.h" |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 781 // pointer is not accessed. | 781 // pointer is not accessed. |
| 782 // | 782 // |
| 783 // This method asserts that StackPointer() is not csp, since the call does | 783 // This method asserts that StackPointer() is not csp, since the call does |
| 784 // not make sense in that context. | 784 // not make sense in that context. |
| 785 inline void BumpSystemStackPointer(const Operand& space); | 785 inline void BumpSystemStackPointer(const Operand& space); |
| 786 | 786 |
| 787 // Helpers ------------------------------------------------------------------ | 787 // Helpers ------------------------------------------------------------------ |
| 788 // Root register. | 788 // Root register. |
| 789 inline void InitializeRootRegister(); | 789 inline void InitializeRootRegister(); |
| 790 | 790 |
| 791 void AssertFPCRState(Register fpcr = NoReg); |
| 792 void ConfigureFPCR(); |
| 793 void CanonicalizeNaN(const FPRegister& dst, const FPRegister& src); |
| 794 void CanonicalizeNaN(const FPRegister& reg) { |
| 795 CanonicalizeNaN(reg, reg); |
| 796 } |
| 797 |
| 791 // Load an object from the root table. | 798 // Load an object from the root table. |
| 792 void LoadRoot(CPURegister destination, | 799 void LoadRoot(CPURegister destination, |
| 793 Heap::RootListIndex index); | 800 Heap::RootListIndex index); |
| 794 // Store an object to the root table. | 801 // Store an object to the root table. |
| 795 void StoreRoot(Register source, | 802 void StoreRoot(Register source, |
| 796 Heap::RootListIndex index); | 803 Heap::RootListIndex index); |
| 797 | 804 |
| 798 // Load both TrueValue and FalseValue roots. | 805 // Load both TrueValue and FalseValue roots. |
| 799 void LoadTrueFalseRoots(Register true_root, Register false_root); | 806 void LoadTrueFalseRoots(Register true_root, Register false_root); |
| 800 | 807 |
| (...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1526 void CheckFastObjectElements(Register map, Register scratch, Label* fail); | 1533 void CheckFastObjectElements(Register map, Register scratch, Label* fail); |
| 1527 | 1534 |
| 1528 // Check to see if number can be stored as a double in FastDoubleElements. | 1535 // Check to see if number can be stored as a double in FastDoubleElements. |
| 1529 // If it can, store it at the index specified by key_reg in the array, | 1536 // If it can, store it at the index specified by key_reg in the array, |
| 1530 // otherwise jump to fail. | 1537 // otherwise jump to fail. |
| 1531 void StoreNumberToDoubleElements(Register value_reg, | 1538 void StoreNumberToDoubleElements(Register value_reg, |
| 1532 Register key_reg, | 1539 Register key_reg, |
| 1533 Register elements_reg, | 1540 Register elements_reg, |
| 1534 Register scratch1, | 1541 Register scratch1, |
| 1535 FPRegister fpscratch1, | 1542 FPRegister fpscratch1, |
| 1536 FPRegister fpscratch2, | |
| 1537 Label* fail, | 1543 Label* fail, |
| 1538 int elements_offset = 0); | 1544 int elements_offset = 0); |
| 1539 | 1545 |
| 1540 // Picks out an array index from the hash field. | 1546 // Picks out an array index from the hash field. |
| 1541 // Register use: | 1547 // Register use: |
| 1542 // hash - holds the index's hash. Clobbered. | 1548 // hash - holds the index's hash. Clobbered. |
| 1543 // index - holds the overwritten index on exit. | 1549 // index - holds the overwritten index on exit. |
| 1544 void IndexFromHash(Register hash, Register index); | 1550 void IndexFromHash(Register hash, Register index); |
| 1545 | 1551 |
| 1546 // --------------------------------------------------------------------------- | 1552 // --------------------------------------------------------------------------- |
| (...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2284 #error "Unsupported option" | 2290 #error "Unsupported option" |
| 2285 #define CODE_COVERAGE_STRINGIFY(x) #x | 2291 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2286 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2292 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2287 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2293 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2288 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2294 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2289 #else | 2295 #else |
| 2290 #define ACCESS_MASM(masm) masm-> | 2296 #define ACCESS_MASM(masm) masm-> |
| 2291 #endif | 2297 #endif |
| 2292 | 2298 |
| 2293 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2299 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
| OLD | NEW |