and32 with an Address source on ARM64 did not invalidate dataTempRegister
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jan 2018 03:00:11 +0000 (03:00 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jan 2018 03:00:11 +0000 (03:00 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181467

Reviewed by Michael Saboff.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::and32):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

index a8eb784..d22b6ad 100644 (file)
@@ -1,3 +1,13 @@
+2018-01-09  Keith Miller  <keith_miller@apple.com>
+
+        and32 with an Address source on ARM64 did not invalidate dataTempRegister
+        https://bugs.webkit.org/show_bug.cgi?id=181467
+
+        Reviewed by Michael Saboff.
+
+        * assembler/MacroAssemblerARM64.h:
+        (JSC::MacroAssemblerARM64::and32):
+
 2018-01-04  Filip Pizlo  <fpizlo@apple.com>
 
         CodeBlocks should be in IsoSubspaces
index 841515f..c1770a2 100644 (file)
@@ -364,7 +364,7 @@ public:
 
     void and32(Address src, RegisterID dest)
     {
-        load32(src, dataTempRegister);
+        load32(src, getCachedDataTempRegisterIDAndInvalidate());
         and32(dataTempRegister, dest);
     }