Title: [231340] trunk/Source/_javascript_Core
Revision
231340
Author
commit-qu...@webkit.org
Date
2018-05-03 17:54:24 -0700 (Thu, 03 May 2018)

Log Message

ARM: Support vstr in disassembler
https://bugs.webkit.org/show_bug.cgi?id=184084

Patch by Dominik Infuehr <dinfu...@igalia.com> on 2018-05-03
Reviewed by Yusuke Suzuki.

* disassembler/ARMv7/ARMv7DOpcode.cpp:
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format): Deleted.
* disassembler/ARMv7/ARMv7DOpcode.h:
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::opName):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg): Deleted.
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8): Deleted.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (231339 => 231340)


--- trunk/Source/_javascript_Core/ChangeLog	2018-05-04 00:49:04 UTC (rev 231339)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-05-04 00:54:24 UTC (rev 231340)
@@ -1,5 +1,24 @@
 2018-05-03  Dominik Infuehr  <dinfu...@igalia.com>
 
+        ARM: Support vstr in disassembler
+        https://bugs.webkit.org/show_bug.cgi?id=184084
+
+        Reviewed by Yusuke Suzuki.
+
+        * disassembler/ARMv7/ARMv7DOpcode.cpp:
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::format):
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format): Deleted.
+        * disassembler/ARMv7/ARMv7DOpcode.h:
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDRSTR::opName):
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition): Deleted.
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit): Deleted.
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn): Deleted.
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd): Deleted.
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg): Deleted.
+        (JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8): Deleted.
+
+2018-05-03  Dominik Infuehr  <dinfu...@igalia.com>
+
         Invoke ensureArrayStorage for all arguments
         https://bugs.webkit.org/show_bug.cgi?id=185247
 

Modified: trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.cpp (231339 => 231340)


--- trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.cpp	2018-05-04 00:49:04 UTC (rev 231339)
+++ trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.cpp	2018-05-04 00:54:24 UTC (rev 231340)
@@ -116,7 +116,7 @@
     OPCODE_GROUP_ENTRY(0x4, ARMv7DOpcodeDataPopMultiple),
     OPCODE_GROUP_ENTRY(0x4, ARMv7DOpcodeDataPushMultiple),
     OPCODE_GROUP_ENTRY(0x5, ARMv7DOpcodeDataProcessingShiftedReg),
-    OPCODE_GROUP_ENTRY(0x6, ARMv7DOpcodeVLDR),
+    OPCODE_GROUP_ENTRY(0x6, ARMv7DOpcodeVLDRSTR),
     OPCODE_GROUP_ENTRY(0x6, ARMv7DOpcodeVMOVSinglePrecision),
     OPCODE_GROUP_ENTRY(0x6, ARMv7DOpcodeVMOVDoublePrecision),
     OPCODE_GROUP_ENTRY(0x7, ARMv7DOpcodeFPTransfer),
@@ -150,7 +150,7 @@
     OPCODE_GROUP_ENTRY(0xd, ARMv7DOpcodeDataProcessingRegExtend),
     OPCODE_GROUP_ENTRY(0xd, ARMv7DOpcodeDataProcessingRegParallel),
     OPCODE_GROUP_ENTRY(0xd, ARMv7DOpcodeDataProcessingRegMisc),
-    OPCODE_GROUP_ENTRY(0xe, ARMv7DOpcodeVLDR),
+    OPCODE_GROUP_ENTRY(0xe, ARMv7DOpcodeVLDRSTR),
     OPCODE_GROUP_ENTRY(0xf, ARMv7DOpcodeVCMP),
     OPCODE_GROUP_ENTRY(0xf, ARMv7DOpcodeVCVTBetweenFPAndInt),
 };
@@ -1628,12 +1628,12 @@
     return m_formatBuffer;
 }
 
-const char* ARMv7DOpcodeVLDR::format()
+const char* ARMv7DOpcodeVLDRSTR::format()
 {
     if (condition() != 0xe)
-        bufferPrintf("   vldr%-3.3s", conditionName(condition()));
+        bufferPrintf("   %s%-3.3s", opName(), conditionName(condition()));
     else
-        appendInstructionName("vldr");
+        appendInstructionName(opName());
 
     appendFPRegisterName(doubleReg() ? 'd' : 's', vd());
     appendSeparator();

Modified: trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.h (231339 => 231340)


--- trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.h	2018-05-04 00:49:04 UTC (rev 231339)
+++ trunk/Source/_javascript_Core/disassembler/ARMv7/ARMv7DOpcode.h	2018-05-04 00:54:24 UTC (rev 231340)
@@ -1162,16 +1162,17 @@
     unsigned vm() { return m_opcode & 0xf; }
 };
 
-class ARMv7DOpcodeVLDR : public ARMv7D32BitOpcode {
+class ARMv7DOpcodeVLDRSTR : public ARMv7D32BitOpcode {
 public:
-    static const uint32_t s_mask = 0x0f300e00;
-    static const uint32_t s_pattern = 0x0d100a00;
+    static const uint32_t s_mask = 0x0f200e00;
+    static const uint32_t s_pattern = 0x0d000a00;
 
-    DEFINE_STATIC_FORMAT32(ARMv7DOpcodeVLDR, thisObj);
+    DEFINE_STATIC_FORMAT32(ARMv7DOpcodeVLDRSTR, thisObj);
 
 protected:
     const char* format();
 
+    const char *opName() { return (m_opcode >> 20) & 0x1 ? "vldr" : "vstr"; }
     unsigned condition() { return m_opcode >> 28; }
     unsigned uBit() { return (m_opcode >> 23) & 0x1; }
     unsigned rn() { return (m_opcode >> 16) & 0xf; }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to