Changeset 69743 in webkit for trunk/JavaScriptCore/assembler/MacroAssemblerARMv7.h
- Timestamp:
- Oct 13, 2010, 11:45:26 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/MacroAssemblerARMv7.h
r65042 r69743 1 1 /* 2 * Copyright (C) 2009 Apple Inc. All rights reserved.2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2010 University of Szeged 4 4 * … … 47 47 public: 48 48 typedef ARMv7Assembler::LinkRecord LinkRecord; 49 typedef ARMv7Assembler::JumpType JumpType; 49 50 typedef ARMv7Assembler::JumpLinkType JumpLinkType; 50 51 … … 58 59 Vector<LinkRecord>& jumpsToLink() { return m_assembler.jumpsToLink(); } 59 60 void* unlinkedCode() { return m_assembler.unlinkedCode(); } 61 bool canCompact(JumpType jumpType) { return m_assembler.canCompact(jumpType); } 62 JumpLinkType computeJumpType(JumpType jumpType, const uint8_t* from, const uint8_t* to) { return m_assembler.computeJumpType(jumpType, from, to); } 60 63 JumpLinkType computeJumpType(LinkRecord& record, const uint8_t* from, const uint8_t* to) { return m_assembler.computeJumpType(record, from, to); } 61 64 void recordLinkOffsets(int32_t regionStart, int32_t regionEnd, int32_t offset) {return m_assembler.recordLinkOffsets(regionStart, regionEnd, offset); } 62 int jumpSizeDelta(Jump LinkType jumpLinkType) { return m_assembler.jumpSizeDelta(jumpLinkType); }65 int jumpSizeDelta(JumpType jumpType, JumpLinkType jumpLinkType) { return m_assembler.jumpSizeDelta(jumpType, jumpLinkType); } 63 66 void link(LinkRecord& record, uint8_t* from, uint8_t* to) { return m_assembler.link(record, from, to); } 64 67 … … 987 990 void jump(RegisterID target) 988 991 { 989 m_assembler.bx(target, inUninterruptedSequence() ? ARMv7Assembler::JumpFullSize : ARMv7Assembler::JumpNoCondition);992 m_assembler.bx(target, ARMv7Assembler::JumpFixed); 990 993 } 991 994 … … 994 997 { 995 998 load32(address, dataTempRegister); 996 m_assembler.bx(dataTempRegister, inUninterruptedSequence() ? ARMv7Assembler::JumpFullSize : ARMv7Assembler::JumpNoCondition);999 m_assembler.bx(dataTempRegister, ARMv7Assembler::JumpFixed); 997 1000 } 998 1001 … … 1083 1086 { 1084 1087 moveFixedWidthEncoding(Imm32(0), dataTempRegister); 1085 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpF ullSize), Call::LinkableNear);1088 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpFixed), Call::LinkableNear); 1086 1089 } 1087 1090 … … 1089 1092 { 1090 1093 moveFixedWidthEncoding(Imm32(0), dataTempRegister); 1091 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpF ullSize), Call::Linkable);1094 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpFixed), Call::Linkable); 1092 1095 } 1093 1096 1094 1097 Call call(RegisterID target) 1095 1098 { 1096 return Call(m_assembler.blx(target, ARMv7Assembler::JumpF ullSize), Call::None);1099 return Call(m_assembler.blx(target, ARMv7Assembler::JumpFixed), Call::None); 1097 1100 } 1098 1101 … … 1100 1103 { 1101 1104 load32(address, dataTempRegister); 1102 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpF ullSize), Call::None);1105 return Call(m_assembler.blx(dataTempRegister, ARMv7Assembler::JumpFixed), Call::None); 1103 1106 } 1104 1107 1105 1108 void ret() 1106 1109 { 1107 m_assembler.bx(linkRegister, ARMv7Assembler::JumpF ullSize);1110 m_assembler.bx(linkRegister, ARMv7Assembler::JumpFixed); 1108 1111 } 1109 1112 … … 1205 1208 // Like a normal call, but don't link. 1206 1209 moveFixedWidthEncoding(Imm32(0), dataTempRegister); 1207 return Call(m_assembler.bx(dataTempRegister, ARMv7Assembler::JumpF ullSize), Call::Linkable);1210 return Call(m_assembler.bx(dataTempRegister, ARMv7Assembler::JumpFixed), Call::Linkable); 1208 1211 } 1209 1212 … … 1229 1232 { 1230 1233 moveFixedWidthEncoding(Imm32(0), dataTempRegister); 1231 return m_assembler.bx(dataTempRegister, inUninterruptedSequence() ? ARMv7Assembler::Jump FullSize : ARMv7Assembler::JumpNoCondition);1234 return m_assembler.bx(dataTempRegister, inUninterruptedSequence() ? ARMv7Assembler::JumpNoConditionFixedSize : ARMv7Assembler::JumpNoCondition); 1232 1235 } 1233 1236 … … 1236 1239 m_assembler.it(cond, true, true); 1237 1240 moveFixedWidthEncoding(Imm32(0), dataTempRegister); 1238 return m_assembler.bx(dataTempRegister, inUninterruptedSequence() ? ARMv7Assembler::Jump FullSize : ARMv7Assembler::JumpCondition, cond);1241 return m_assembler.bx(dataTempRegister, inUninterruptedSequence() ? ARMv7Assembler::JumpConditionFixedSize : ARMv7Assembler::JumpCondition, cond); 1239 1242 } 1240 1243 ARMv7Assembler::JmpSrc makeBranch(Condition cond) { return makeBranch(armV7Condition(cond)); }
Note:
See TracChangeset
for help on using the changeset viewer.