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_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 // Assembler functions are invoked in between GetCode() calls. | 844 // Assembler functions are invoked in between GetCode() calls. |
845 // | 845 // |
846 // The descriptor (desc) can be NULL. In that case, the code is finalized as | 846 // The descriptor (desc) can be NULL. In that case, the code is finalized as |
847 // usual, but the descriptor is not populated. | 847 // usual, but the descriptor is not populated. |
848 void GetCode(CodeDesc* desc); | 848 void GetCode(CodeDesc* desc); |
849 | 849 |
850 // Insert the smallest number of nop instructions | 850 // Insert the smallest number of nop instructions |
851 // possible to align the pc offset to a multiple | 851 // possible to align the pc offset to a multiple |
852 // of m. m must be a power of 2 (>= 4). | 852 // of m. m must be a power of 2 (>= 4). |
853 void Align(int m); | 853 void Align(int m); |
| 854 // Insert the smallest number of zero bytes possible to align the pc offset |
| 855 // to a mulitple of m. m must be a power of 2 (>= 2). |
| 856 void DataAlign(int m); |
854 | 857 |
855 inline void Unreachable(); | 858 inline void Unreachable(); |
856 | 859 |
857 // Label -------------------------------------------------------------------- | 860 // Label -------------------------------------------------------------------- |
858 // Bind a label to the current pc. Note that labels can only be bound once, | 861 // Bind a label to the current pc. Note that labels can only be bound once, |
859 // and if labels are linked to other instructions, they _must_ be bound | 862 // and if labels are linked to other instructions, they _must_ be bound |
860 // before they go out of scope. | 863 // before they go out of scope. |
861 void bind(Label* label); | 864 void bind(Label* label); |
862 | 865 |
863 | 866 |
(...skipping 1456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2320 class EnsureSpace BASE_EMBEDDED { | 2323 class EnsureSpace BASE_EMBEDDED { |
2321 public: | 2324 public: |
2322 explicit EnsureSpace(Assembler* assembler) { | 2325 explicit EnsureSpace(Assembler* assembler) { |
2323 assembler->CheckBufferSpace(); | 2326 assembler->CheckBufferSpace(); |
2324 } | 2327 } |
2325 }; | 2328 }; |
2326 | 2329 |
2327 } } // namespace v8::internal | 2330 } } // namespace v8::internal |
2328 | 2331 |
2329 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2332 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |