Changeset 36307 in webkit for trunk/JavaScriptCore/masm
- Timestamp:
- Sep 9, 2008, 6:11:55 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/masm/X86Assembler.h
r36301 r36307 148 148 #define CAN_SIGN_EXTEND_8_32(value) (value == ((int)(signed char)value)) 149 149 150 class X86Assembler { 151 public: 150 namespace X86 { 152 151 typedef enum { 153 152 eax, … … 160 159 edi, 161 160 162 NO_BASE= ebp,163 HAS_SIB= esp,164 NO_SCALE= esp,161 noBase = ebp, 162 hasSib = esp, 163 noScale = esp, 165 164 } RegisterID; 165 } 166 167 class X86Assembler { 168 public: 169 typedef X86::RegisterID RegisterID; 166 170 167 171 typedef enum { … … 789 793 void emitModRm_rm(RegisterID reg, void* addr) 790 794 { 791 m_buffer->putByte(MODRM(0, reg, NO_BASE));795 m_buffer->putByte(MODRM(0, reg, X86::noBase)); 792 796 m_buffer->putInt((int)addr); 793 797 } … … 795 799 void emitModRm_rm(RegisterID reg, RegisterID base) 796 800 { 797 if (base == esp) {798 m_buffer->putByte(MODRM(0, reg, HAS_SIB));799 m_buffer->putByte(SIB(0, NO_SCALE,esp));801 if (base == X86::esp) { 802 m_buffer->putByte(MODRM(0, reg, X86::hasSib)); 803 m_buffer->putByte(SIB(0, X86::noScale, X86::esp)); 800 804 } else 801 805 m_buffer->putByte(MODRM(0, reg, base)); … … 804 808 void emitModRm_rm_Unchecked(RegisterID reg, RegisterID base, int offset) 805 809 { 806 if (base == esp) {810 if (base == X86::esp) { 807 811 if (CAN_SIGN_EXTEND_8_32(offset)) { 808 m_buffer->putByteUnchecked(MODRM(1, reg, HAS_SIB));809 m_buffer->putByteUnchecked(SIB(0, NO_SCALE,esp));812 m_buffer->putByteUnchecked(MODRM(1, reg, X86::hasSib)); 813 m_buffer->putByteUnchecked(SIB(0, X86::noScale, X86::esp)); 810 814 m_buffer->putByteUnchecked(offset); 811 815 } else { 812 m_buffer->putByteUnchecked(MODRM(2, reg, HAS_SIB));813 m_buffer->putByteUnchecked(SIB(0, NO_SCALE,esp));816 m_buffer->putByteUnchecked(MODRM(2, reg, X86::hasSib)); 817 m_buffer->putByteUnchecked(SIB(0, X86::noScale, X86::esp)); 814 818 m_buffer->putIntUnchecked(offset); 815 819 } … … 837 841 shift++; 838 842 839 m_buffer->putByte(MODRM(0, reg, HAS_SIB));843 m_buffer->putByte(MODRM(0, reg, X86::hasSib)); 840 844 m_buffer->putByte(SIB(shift, index, base)); 841 845 } … … 848 852 849 853 if (CAN_SIGN_EXTEND_8_32(offset)) { 850 m_buffer->putByte(MODRM(1, reg, HAS_SIB));854 m_buffer->putByte(MODRM(1, reg, X86::hasSib)); 851 855 m_buffer->putByte(SIB(shift, index, base)); 852 856 m_buffer->putByte(offset); 853 857 } else { 854 m_buffer->putByte(MODRM(2, reg, HAS_SIB));858 m_buffer->putByte(MODRM(2, reg, X86::hasSib)); 855 859 m_buffer->putByte(SIB(shift, index, base)); 856 860 m_buffer->putInt(offset);
Note:
See TracChangeset
for help on using the changeset viewer.