| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_ASSEMBLER_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
| 6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 int unresolved_near_positions_[kMaxUnresolvedBranches]; | 268 int unresolved_near_positions_[kMaxUnresolvedBranches]; |
| 269 | 269 |
| 270 friend class Assembler; | 270 friend class Assembler; |
| 271 DISALLOW_COPY_AND_ASSIGN(Label); | 271 DISALLOW_COPY_AND_ASSIGN(Label); |
| 272 }; | 272 }; |
| 273 | 273 |
| 274 | 274 |
| 275 class CPUFeatures : public AllStatic { | 275 class CPUFeatures : public AllStatic { |
| 276 public: | 276 public: |
| 277 static void InitOnce(); | 277 static void InitOnce(); |
| 278 static bool sse3_supported(); | 278 // x64 always has at least SSE2. |
| 279 static bool sse2_supported() { return true; } |
| 279 static bool sse4_1_supported(); | 280 static bool sse4_1_supported(); |
| 280 | 281 |
| 281 private: | 282 private: |
| 282 static const uint64_t kSSE3BitMask = static_cast<uint64_t>(1) << 32; | |
| 283 static const uint64_t kSSE4_1BitMask = static_cast<uint64_t>(1) << 51; | 283 static const uint64_t kSSE4_1BitMask = static_cast<uint64_t>(1) << 51; |
| 284 | 284 |
| 285 static bool sse3_supported_; | |
| 286 static bool sse4_1_supported_; | 285 static bool sse4_1_supported_; |
| 287 #ifdef DEBUG | 286 #ifdef DEBUG |
| 288 static bool initialized_; | 287 static bool initialized_; |
| 289 #endif | 288 #endif |
| 290 }; | 289 }; |
| 291 | 290 |
| 292 | 291 |
| 293 class Assembler : public ValueObject { | 292 class Assembler : public ValueObject { |
| 294 public: | 293 public: |
| 295 Assembler() : buffer_(), prolog_offset_(-1), comments_() { } | 294 Assembler() : buffer_(), prolog_offset_(-1), comments_() { } |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 778 } | 777 } |
| 779 | 778 |
| 780 | 779 |
| 781 inline void Assembler::EmitOperandSizeOverride() { | 780 inline void Assembler::EmitOperandSizeOverride() { |
| 782 EmitUint8(0x66); | 781 EmitUint8(0x66); |
| 783 } | 782 } |
| 784 | 783 |
| 785 } // namespace dart | 784 } // namespace dart |
| 786 | 785 |
| 787 #endif // VM_ASSEMBLER_X64_H_ | 786 #endif // VM_ASSEMBLER_X64_H_ |
| OLD | NEW |