Changeset 64943 in webkit for trunk/JavaScriptCore/assembler
- Timestamp:
- Aug 8, 2010, 12:22:06 AM (15 years ago)
- Location:
- trunk/JavaScriptCore/assembler
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/AbstractMacroAssembler.h
r64938 r64943 522 522 } 523 523 524 static int32_t int32AtLocation(CodeLocationDataLabel32 dataLabel32)525 {526 return AssemblerType::int32AtLocation(dataLabel32.dataLocation());527 }528 529 static void* pointerAtLocation(CodeLocationDataLabelPtr dataLabelPtr)530 {531 return AssemblerType::pointerAtLocation(dataLabelPtr.dataLocation());532 }533 534 static void* jumpTarget(CodeLocationJump jump)535 {536 return AssemblerType::jumpTarget(jump.dataLocation());537 }538 539 524 static void repatchInt32(CodeLocationDataLabel32 dataLabel32, int32_t value) 540 525 { -
trunk/JavaScriptCore/assembler/MacroAssembler.h
r64938 r64943 210 210 } 211 211 212 void loadPtrWithPatch(void* address, RegisterID dest)213 {214 load32WithPatch(address, dest);215 }216 212 217 213 void loadPtr(ImplicitAddress address, RegisterID dest) -
trunk/JavaScriptCore/assembler/MacroAssemblerX86.h
r64938 r64943 83 83 } 84 84 85 void load32 WithPatch(void* address, RegisterID dest)85 void load32(void* address, RegisterID dest) 86 86 { 87 87 m_assembler.movl_mr(address, dest); 88 }89 90 void load32(void* address, RegisterID dest)91 {92 if (dest == X86Registers::eax)93 m_assembler.movl_mEAX(address);94 else95 m_assembler.movl_mr(address, dest);96 88 } 97 89 … … 114 106 void store32(RegisterID src, void* address) 115 107 { 116 if (src == X86Registers::eax) 117 m_assembler.movl_EAXm(address); 118 else 119 m_assembler.movl_rm(src, address); 108 m_assembler.movl_rm(src, address); 120 109 } 121 110 -
trunk/JavaScriptCore/assembler/X86Assembler.h
r64938 r64943 1155 1155 void movl_rm(RegisterID src, void* addr) 1156 1156 { 1157 m_formatter.oneByteOp(OP_MOV_EvGv, src, addr); 1157 if (src == X86Registers::eax) 1158 movl_EAXm(addr); 1159 else 1160 m_formatter.oneByteOp(OP_MOV_EvGv, src, addr); 1158 1161 } 1159 1162 1160 1163 void movl_mr(void* addr, RegisterID dst) 1161 1164 { 1162 m_formatter.oneByteOp(OP_MOV_GvEv, dst, addr); 1165 if (dst == X86Registers::eax) 1166 movl_mEAX(addr); 1167 else 1168 m_formatter.oneByteOp(OP_MOV_GvEv, dst, addr); 1163 1169 } 1164 1170 … … 1552 1558 1553 1559 setPointer(reinterpret_cast<char*>(code) + where.m_offset, value); 1554 }1555 1556 static int32_t int32AtLocation(void* where)1557 {1558 return static_cast<int32_t*>(where)[-1];1559 }1560 1561 static void* pointerAtLocation(void* where)1562 {1563 return static_cast<void**>(where)[-1];1564 }1565 1566 static void* jumpTarget(void* jump)1567 {1568 intptr_t src = reinterpret_cast<intptr_t>(jump);1569 int32_t offset = static_cast<int32_t*>(jump)[-1];1570 return reinterpret_cast<void*>(src + offset);1571 1560 } 1572 1561
Note:
See TracChangeset
for help on using the changeset viewer.