Title: [230327] trunk/Source/_javascript_Core
Revision
230327
Author
[email protected]
Date
2018-04-05 23:18:54 -0700 (Thu, 05 Apr 2018)

Log Message

MacroAssemblerCodePtr::retagged() should not re-decorate the pointer on ARMv7.
https://bugs.webkit.org/show_bug.cgi?id=184347
<rdar://problem/39183165>

Reviewed by Michael Saboff.

* assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::retagged const):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230326 => 230327)


--- trunk/Source/_javascript_Core/ChangeLog	2018-04-06 05:23:19 UTC (rev 230326)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-06 06:18:54 UTC (rev 230327)
@@ -1,3 +1,15 @@
+2018-04-05  Mark Lam  <[email protected]>
+
+        MacroAssemblerCodePtr::retagged() should not re-decorate the pointer on ARMv7.
+        https://bugs.webkit.org/show_bug.cgi?id=184347
+        <rdar://problem/39183165>
+
+        Reviewed by Michael Saboff.
+
+        * assembler/MacroAssemblerCodeRef.h:
+        (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
+        (JSC::MacroAssemblerCodePtr::retagged const):
+
 2018-04-05  Stanislav Ocovaj  <[email protected]>
 
         [MIPS] Optimize generated JIT code for branches

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h (230326 => 230327)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h	2018-04-06 05:23:19 UTC (rev 230326)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h	2018-04-06 06:18:54 UTC (rev 230327)
@@ -197,6 +197,9 @@
     {
         m_value.assertIsPoisoned();
         ASSERT(value);
+#if CPU(ARM_THUMB2)
+        ASSERT(!(reinterpret_cast<uintptr_t>(value) & 1));
+#endif
         ASSERT_VALID_CODE_POINTER(m_value.unpoisoned());
     }
 
@@ -224,7 +227,7 @@
 
     MacroAssemblerCodePtr retagged(PtrTag oldTag, PtrTag newTag) const
     {
-        return MacroAssemblerCodePtr(retagCodePtr(executableAddress(), oldTag, newTag));
+        return MacroAssemblerCodePtr::createFromExecutableAddress(retagCodePtr(executableAddress(), oldTag, newTag));
     }
 
     template<typename T = void*>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to