Title: [290359] trunk/Source/_javascript_Core
Revision
290359
Author
[email protected]
Date
2022-02-23 01:28:47 -0800 (Wed, 23 Feb 2022)

Log Message

Ensure generated inline assembler that setups segments returns to previous state
https://bugs.webkit.org/show_bug.cgi?id=236976

Reviewed by Yusuke Suzuki.

Use .previous in inline assembler in order to ensure that mixed emission of assembler
functions and other definitions correctly puts each of them in their rightful sections
in the output object code.

* assembler/MacroAssemblerARM64.cpp:
* assembler/MacroAssemblerARMv7.cpp:
* assembler/MacroAssemblerMIPS.cpp:
* assembler/MacroAssemblerX86Common.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (290358 => 290359)


--- trunk/Source/_javascript_Core/ChangeLog	2022-02-23 09:12:02 UTC (rev 290358)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-02-23 09:28:47 UTC (rev 290359)
@@ -1,3 +1,19 @@
+2022-02-23  Adrian Perez de Castro  <[email protected]>
+
+        Ensure generated inline assembler that setups segments returns to previous state
+        https://bugs.webkit.org/show_bug.cgi?id=236976
+
+        Reviewed by Yusuke Suzuki.
+
+        Use .previous in inline assembler in order to ensure that mixed emission of assembler
+        functions and other definitions correctly puts each of them in their rightful sections
+        in the output object code.
+
+        * assembler/MacroAssemblerARM64.cpp:
+        * assembler/MacroAssemblerARMv7.cpp:
+        * assembler/MacroAssemblerMIPS.cpp:
+        * assembler/MacroAssemblerX86Common.cpp:
+
 2022-02-22  Chris Dumez  <[email protected]>
 
         Add a URL constructor that takes a String

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp (290358 => 290359)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2022-02-23 09:12:02 UTC (rev 290358)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2022-02-23 09:28:47 UTC (rev 290359)
@@ -572,6 +572,7 @@
 #else
     "ret" "\n"
 #endif
+    ".previous" "\n"
 );
 #endif // COMPILER(GCC_COMPATIBLE)
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp (290358 => 290359)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp	2022-02-23 09:12:02 UTC (rev 290358)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.cpp	2022-02-23 09:28:47 UTC (rev 290359)
@@ -361,6 +361,7 @@
     // Restore the sp and pc.
     "ldr       sp, [sp, #" STRINGIZE_VALUE_OF(PROBE_CPU_SP_OFFSET) "]" "\n"
     "pop       { pc }" "\n"
+    ".previous" "\n"
 );
 #endif // COMPILER(GCC_COMPATIBLE)
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp (290358 => 290359)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp	2022-02-23 09:12:02 UTC (rev 290358)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.cpp	2022-02-23 09:28:47 UTC (rev 290359)
@@ -549,6 +549,7 @@
     "jr        $ra" "\n"
     "nop" "\n"
     ".set pop" "\n"
+    ".previous" "\n"
 );
 #endif // COMPILER(GCC_COMPATIBLE)
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.cpp (290358 => 290359)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.cpp	2022-02-23 09:12:02 UTC (rev 290358)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.cpp	2022-02-23 09:28:47 UTC (rev 290359)
@@ -341,6 +341,7 @@
     "popl %ecx" "\n"
     "popl %ebp" "\n"
     "ret" "\n"
+    ".previous" "\n"
 );
 #endif
 
@@ -709,6 +710,7 @@
     "popq %rcx" "\n"
     "popq %rbp" "\n"
     "ret" "\n"
+    ".previous" "\n"
 );
 #endif // COMPILER(GCC_COMPATIBLE)
 #endif // CPU(X86_64)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to