| Index: runtime/vm/assembler_x64.h
|
| ===================================================================
|
| --- runtime/vm/assembler_x64.h (revision 12828)
|
| +++ runtime/vm/assembler_x64.h (working copy)
|
| @@ -272,6 +272,24 @@
|
| };
|
|
|
|
|
| +class CPUFeatures : public AllStatic {
|
| + public:
|
| + static void InitOnce();
|
| + static bool sse3_supported();
|
| + static bool sse4_1_supported();
|
| +
|
| + private:
|
| + static const uint64_t kSSE3BitMask = static_cast<uint64_t>(1) << 32;
|
| + static const uint64_t kSSE4_1BitMask = static_cast<uint64_t>(1) << 51;
|
| +
|
| + static bool sse3_supported_;
|
| + static bool sse4_1_supported_;
|
| +#ifdef DEBUG
|
| + static bool initialized_;
|
| +#endif
|
| +};
|
| +
|
| +
|
| class Assembler : public ValueObject {
|
| public:
|
| Assembler() : buffer_(), prolog_offset_(-1), comments_() { }
|
| @@ -497,6 +515,8 @@
|
| cmpxchgq(address, reg);
|
| }
|
|
|
| + void cpuid();
|
| +
|
| // Issue memory to memory move through a TMP register.
|
| void MoveMemoryToMemory(const Address& dst, const Address& src) {
|
| movq(TMP, src);
|
|
|