OLD | NEW |
1 | 1 |
2 //===- subzero/unittest/unittest/AssemblerX8664/TestUtil.h ------*- C++ -*-===// | 2 //===- subzero/unittest/unittest/AssemblerX8664/TestUtil.h ------*- C++ -*-===// |
3 // | 3 // |
4 // The Subzero Code Generator | 4 // The Subzero Code Generator |
5 // | 5 // |
6 // This file is distributed under the University of Illinois Open Source | 6 // This file is distributed under the University of Illinois Open Source |
7 // License. See LICENSE.TXT for details. | 7 // License. See LICENSE.TXT for details. |
8 // | 8 // |
9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
10 // | 10 // |
(...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
923 } | 923 } |
924 | 924 |
925 // Allocates a new dqword slot in the test's scratchpad area. | 925 // Allocates a new dqword slot in the test's scratchpad area. |
926 uint32_t allocateDqword() { | 926 uint32_t allocateDqword() { |
927 uint32_t InitialDword = allocateQword(); | 927 uint32_t InitialDword = allocateQword(); |
928 allocateQword(); | 928 allocateQword(); |
929 return InitialDword; | 929 return InitialDword; |
930 } | 930 } |
931 | 931 |
932 Address dwordAddress(uint32_t Dword) { | 932 Address dwordAddress(uint32_t Dword) { |
933 return Address(Encoded_GPR_r9(), dwordDisp(Dword)); | 933 return Address(Encoded_GPR_r9(), dwordDisp(Dword), nullptr); |
934 } | 934 } |
935 | 935 |
936 private: | 936 private: |
937 // e??SlotAddress returns an AssemblerX8664::Traits::Address that can be used | 937 // e??SlotAddress returns an AssemblerX8664::Traits::Address that can be used |
938 // by the test cases to encode an address operand for accessing the slot for | 938 // by the test cases to encode an address operand for accessing the slot for |
939 // the specified register. These are all private for, when jitting the test | 939 // the specified register. These are all private for, when jitting the test |
940 // code, tests should not tamper with these values. Besides, during the test | 940 // code, tests should not tamper with these values. Besides, during the test |
941 // execution these slots' contents are undefined and should not be accessed. | 941 // execution these slots' contents are undefined and should not be accessed. |
942 Address raxSlotAddress() { return dwordAddress(AssembledTest::raxSlot()); } | 942 Address raxSlotAddress() { return dwordAddress(AssembledTest::raxSlot()); } |
943 Address rbxSlotAddress() { return dwordAddress(AssembledTest::rbxSlot()); } | 943 Address rbxSlotAddress() { return dwordAddress(AssembledTest::rbxSlot()); } |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1088 | 1088 |
1089 bool NeedsEpilogue; | 1089 bool NeedsEpilogue; |
1090 uint32_t NumAllocatedDwords; | 1090 uint32_t NumAllocatedDwords; |
1091 }; | 1091 }; |
1092 | 1092 |
1093 } // end of namespace Test | 1093 } // end of namespace Test |
1094 } // end of namespace X8664 | 1094 } // end of namespace X8664 |
1095 } // end of namespace Ice | 1095 } // end of namespace Ice |
1096 | 1096 |
1097 #endif // ASSEMBLERX8664_TESTUTIL_H_ | 1097 #endif // ASSEMBLERX8664_TESTUTIL_H_ |
OLD | NEW |