Changeset 176083 in webkit for trunk/Source/JavaScriptCore/disassembler
- Timestamp:
- Nov 13, 2014, 12:43:32 PM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore/disassembler/ARMv7
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/disassembler/ARMv7/ARMv7DOpcode.cpp
r173312 r176083 92 92 OPCODE_GROUP_ENTRY(0xe, ARMv7DOpcodeLoadStoreRegisterImmediateWordAndByte), 93 93 OPCODE_GROUP_ENTRY(0xf, ARMv7DOpcodeLoadStoreRegisterImmediateWordAndByte), 94 OPCODE_GROUP_ENTRY(0x10, ARMv7DOpcode LoadStoreRegisterImmediateHalfWord),95 OPCODE_GROUP_ENTRY(0x11, ARMv7DOpcodeLoad StoreRegisterImmediateHalfWord),94 OPCODE_GROUP_ENTRY(0x10, ARMv7DOpcodeStoreRegisterImmediateHalfWord), 95 OPCODE_GROUP_ENTRY(0x11, ARMv7DOpcodeLoadRegisterImmediateHalfWord), 96 96 OPCODE_GROUP_ENTRY(0x12, ARMv7DOpcodeLoadStoreRegisterSPRelative), 97 97 OPCODE_GROUP_ENTRY(0x13, ARMv7DOpcodeLoadStoreRegisterSPRelative), … … 525 525 } 526 526 527 unsigned ARMv7DOpcodeLoadStoreRegisterImmediate::scale() 528 { 529 switch (op()) { 530 case 0: 531 case 1: 532 return 2; 533 case 2: 534 case 3: 535 return 0; 536 case 4: 537 case 5: 538 return 1; 539 default: 540 break; 541 } 542 ASSERT_NOT_REACHED(); 543 return 0; 544 } 545 527 546 const char* const ARMv7DOpcodeLoadStoreRegisterOffsetT1::s_opNames[8] = { 528 547 "str", "strh", "strb", "ldrsb", "ldr", "ldrh", "ldrb", "ldrsh" -
trunk/Source/JavaScriptCore/disassembler/ARMv7/ARMv7DOpcode.h
r173312 r176083 276 276 277 277 unsigned op() { return (m_opcode >> 9) & 0x1; } 278 unsigned immediate3() { return (m_opcode >> 6) & 0x 3; }278 unsigned immediate3() { return (m_opcode >> 6) & 0x7; } 279 279 unsigned rn() { return (m_opcode >> 3) & 0x7; } 280 280 }; … … 442 442 unsigned rn() { return (m_opcode >> 3) & 0x7; } 443 443 unsigned rt() { return m_opcode & 0x7; } 444 unsigned scale() { return 2 - (op() >> 1); }444 unsigned scale(); 445 445 }; 446 446 … … 453 453 }; 454 454 455 class ARMv7DOpcode LoadStoreRegisterImmediateHalfWord : public ARMv7DOpcodeLoadStoreRegisterImmediate {455 class ARMv7DOpcodeStoreRegisterImmediateHalfWord : public ARMv7DOpcodeLoadStoreRegisterImmediate { 456 456 public: 457 457 static const uint16_t s_mask = 0xf800; 458 458 static const uint16_t s_pattern = 0x8000; 459 460 DEFINE_STATIC_FORMAT16(ARMv7DOpcodeLoadStoreRegisterImmediate, thisObj); 461 }; 462 463 class ARMv7DOpcodeLoadRegisterImmediateHalfWord : public ARMv7DOpcodeLoadStoreRegisterImmediate { 464 public: 465 static const uint16_t s_mask = 0xf800; 466 static const uint16_t s_pattern = 0x8800; 459 467 460 468 DEFINE_STATIC_FORMAT16(ARMv7DOpcodeLoadStoreRegisterImmediate, thisObj);
Note:
See TracChangeset
for help on using the changeset viewer.