Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(331)

Side by Side Diff: unittest/AssemblerX8632/TestUtil.h

Issue 1428443002: Enhance address mode recovery (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Streamline absolute addressing support (rip-relative on x64) Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===- subzero/unittest/unittest/AssemblerX8632/TestUtil.h ------*- C++ -*-===// 1 //===- subzero/unittest/unittest/AssemblerX8632/TestUtil.h ------*- C++ -*-===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // Utility classes for testing the X8632 Assembler. 10 // Utility classes for testing the X8632 Assembler.
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 } 744 }
745 745
746 // Allocates a new dqword slot in the test's scratchpad area. 746 // Allocates a new dqword slot in the test's scratchpad area.
747 uint32_t allocateDqword() { 747 uint32_t allocateDqword() {
748 uint32_t InitialDword = allocateQword(); 748 uint32_t InitialDword = allocateQword();
749 allocateQword(); 749 allocateQword();
750 return InitialDword; 750 return InitialDword;
751 } 751 }
752 752
753 Address dwordAddress(uint32_t Dword) { 753 Address dwordAddress(uint32_t Dword) {
754 return Address(GPRRegister::Encoded_Reg_ebp, dwordDisp(Dword)); 754 return Address(GPRRegister::Encoded_Reg_ebp, dwordDisp(Dword), nullptr);
755 } 755 }
756 756
757 private: 757 private:
758 // e??SlotAddress returns an AssemblerX8632::Traits::Address that can be used 758 // e??SlotAddress returns an AssemblerX8632::Traits::Address that can be used
759 // by the test cases to encode an address operand for accessing the slot for 759 // by the test cases to encode an address operand for accessing the slot for
760 // the specified register. These are all private for, when jitting the test 760 // the specified register. These are all private for, when jitting the test
761 // code, tests should not tamper with these values. Besides, during the test 761 // code, tests should not tamper with these values. Besides, during the test
762 // execution these slots' contents are undefined and should not be accessed. 762 // execution these slots' contents are undefined and should not be accessed.
763 Address eaxSlotAddress() { return dwordAddress(AssembledTest::EaxSlot); } 763 Address eaxSlotAddress() { return dwordAddress(AssembledTest::EaxSlot); }
764 Address ebxSlotAddress() { return dwordAddress(AssembledTest::EbxSlot); } 764 Address ebxSlotAddress() { return dwordAddress(AssembledTest::EbxSlot); }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 840
841 bool NeedsEpilogue; 841 bool NeedsEpilogue;
842 uint32_t NumAllocatedDwords; 842 uint32_t NumAllocatedDwords;
843 }; 843 };
844 844
845 } // end of namespace Test 845 } // end of namespace Test
846 } // end of namespace X8632 846 } // end of namespace X8632
847 } // end of namespace Ice 847 } // end of namespace Ice
848 848
849 #endif // ASSEMBLERX8632_TESTUTIL_H_ 849 #endif // ASSEMBLERX8632_TESTUTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698