Title: [242486] releases/WebKitGTK/webkit-2.24/Source/_javascript_Core
Revision
242486
Author
carlo...@webkit.org
Date
2019-03-05 09:22:44 -0800 (Tue, 05 Mar 2019)

Log Message

Merge r242261 - [ARM] Fix assembler warnings in ctiMasmProbeTrampoline
https://bugs.webkit.org/show_bug.cgi?id=195164

Reviewed by Mark Lam.

Short branches in IT blocks are deprecated in AArch32. In addition the
the conditional branch was the only instruction in the IT block. Short
branches are able to encode the condition code themselves, the additional
IT instruction is not needed.

The assembler was also warning that writing into APSR without a bitmask
was deprecated. Therefore use APSR_nzcvq instead, this generates the same
instruction encoding.

* assembler/MacroAssemblerARMv7.cpp:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog (242485 => 242486)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-03-05 17:22:41 UTC (rev 242485)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-03-05 17:22:44 UTC (rev 242486)
@@ -1,3 +1,21 @@
+2019-03-01  Dominik Infuehr  <dinfu...@igalia.com>
+
+        [ARM] Fix assembler warnings in ctiMasmProbeTrampoline
+        https://bugs.webkit.org/show_bug.cgi?id=195164
+
+        Reviewed by Mark Lam.
+
+        Short branches in IT blocks are deprecated in AArch32. In addition the
+        the conditional branch was the only instruction in the IT block. Short
+        branches are able to encode the condition code themselves, the additional
+        IT instruction is not needed.
+
+        The assembler was also warning that writing into APSR without a bitmask
+        was deprecated. Therefore use APSR_nzcvq instead, this generates the same
+        instruction encoding.
+
+        * assembler/MacroAssemblerARMv7.cpp:
+
 2019-02-28  Yusuke Suzuki  <ysuz...@apple.com>
 
         [JSC] sizeof(JSString) should be 16

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp (242485 => 242486)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp	2019-03-05 17:22:41 UTC (rev 242485)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp	2019-03-05 17:22:44 UTC (rev 242486)
@@ -289,7 +289,6 @@
     "ldr       r1, [r5, #" STRINGIZE_VALUE_OF(PROBE_CPU_SP_OFFSET) "]" "\n" // Result sp.
     "add       r2, r5, #" STRINGIZE_VALUE_OF(PROBE_SIZE + OUT_SIZE) "\n" // End of ProveContext + buffer.
     "cmp       r1, r2" "\n"
-    "it        ge" "\n"
     "bge     " LOCAL_LABEL_STRING(ctiMasmProbeTrampolineProbeStateIsSafe) "\n"
 
     // Allocate a safe place on the stack below the result stack pointer to stash the Probe::State.
@@ -308,7 +307,6 @@
     "str       r3, [r1], #4" "\n"
     "str       r4, [r1], #4" "\n"
     "cmp       r5, r7" "\n"
-    "it        lt" "\n"
     "blt     " LOCAL_LABEL_STRING(ctiMasmProbeTrampolineCopyLoop) "\n"
 
     "mov       r5, sp" "\n"
@@ -357,7 +355,7 @@
     // All done with math i.e. won't trash the status register (apsr) and don't need
     // scratch registers (lr and ip) anymore. Restore apsr, lr, and ip.
     "ldr       ip, [sp, #" STRINGIZE_VALUE_OF(PROBE_CPU_APSR_OFFSET) "]" "\n"
-    "msr       APSR, ip" "\n"
+    "msr       APSR_nzcvq, ip" "\n"
     "ldr       lr, [sp, #" STRINGIZE_VALUE_OF(PROBE_CPU_LR_OFFSET) "]" "\n"
     "ldr       ip, [sp, #" STRINGIZE_VALUE_OF(PROBE_CPU_IP_OFFSET) "]" "\n"
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to