Title: [195189] releases/WebKitGTK/webkit-2.10/Source/_javascript_Core
Revision
195189
Author
[email protected]
Date
2016-01-18 00:15:36 -0800 (Mon, 18 Jan 2016)

Log Message

Merge r194208 - ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
https://bugs.webkit.org/show_bug.cgi?id=152370

Reviewed by Benjamin Poulain.

Changed the test8/32(Address, Register) flavors to use the memoryTempRegister for loading the value
att Address so that it doesn't collide with the subsequent use of dataTempRegister by the
test32(Register, Register) function.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::test32):
(JSC::MacroAssemblerARM64::test8):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog (195188 => 195189)


--- releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog	2016-01-18 08:10:59 UTC (rev 195188)
+++ releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/ChangeLog	2016-01-18 08:15:36 UTC (rev 195189)
@@ -1,3 +1,18 @@
+2015-12-16  Michael Saboff  <[email protected]>
+
+        ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
+        https://bugs.webkit.org/show_bug.cgi?id=152370
+
+        Reviewed by Benjamin Poulain.
+
+        Changed the test8/32(Address, Register) flavors to use the memoryTempRegister for loading the value
+        att Address so that it doesn't collide with the subsequent use of dataTempRegister by the
+        test32(Register, Register) function.
+
+        * assembler/MacroAssemblerARM64.h:
+        (JSC::MacroAssemblerARM64::test32):
+        (JSC::MacroAssemblerARM64::test8):
+
 2015-12-10  Daniel Bates  <[email protected]>
 
         [CSP] eval() is not blocked for stringified literals

Modified: releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (195188 => 195189)


--- releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerARM64.h	2016-01-18 08:10:59 UTC (rev 195188)
+++ releases/WebKitGTK/webkit-2.10/Source/_javascript_Core/assembler/MacroAssemblerARM64.h	2016-01-18 08:15:36 UTC (rev 195189)
@@ -2276,14 +2276,14 @@
 
     void test32(ResultCondition cond, Address address, TrustedImm32 mask, RegisterID dest)
     {
-        load32(address, getCachedDataTempRegisterIDAndInvalidate());
-        test32(cond, dataTempRegister, mask, dest);
+        load32(address, getCachedMemoryTempRegisterIDAndInvalidate());
+        test32(cond, memoryTempRegister, mask, dest);
     }
 
     void test8(ResultCondition cond, Address address, TrustedImm32 mask, RegisterID dest)
     {
-        load8(address, getCachedDataTempRegisterIDAndInvalidate());
-        test32(cond, dataTempRegister, mask, dest);
+        load8(address, getCachedMemoryTempRegisterIDAndInvalidate());
+        test32(cond, memoryTempRegister, mask, dest);
     }
 
     void test64(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to