Title: [226788] trunk/Source/_javascript_Core
Revision
226788
Author
[email protected]
Date
2018-01-11 11:13:28 -0800 (Thu, 11 Jan 2018)

Log Message

Ensure there are no unsafe uses of MacroAssemblerARM64::dataTempRegister
https://bugs.webkit.org/show_bug.cgi?id=181512

Reviewed by Saam Barati.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::abortWithReason):
(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
All current uses of dataTempRegister in these functions are safe, but it makes sense to
fix them in case they might be used elsewhere.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (226787 => 226788)


--- trunk/Source/_javascript_Core/ChangeLog	2018-01-11 18:42:14 UTC (rev 226787)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-01-11 19:13:28 UTC (rev 226788)
@@ -1,3 +1,16 @@
+2018-01-11  Michael Saboff  <[email protected]>
+
+        Ensure there are no unsafe uses of MacroAssemblerARM64::dataTempRegister
+        https://bugs.webkit.org/show_bug.cgi?id=181512
+
+        Reviewed by Saam Barati.
+
+        * assembler/MacroAssemblerARM64.h:
+        (JSC::MacroAssemblerARM64::abortWithReason):
+        (JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
+        All current uses of dataTempRegister in these functions are safe, but it makes sense to
+        fix them in case they might be used elsewhere.
+
 2018-01-04  Filip Pizlo  <[email protected]>
 
         CodeBlocks should be in IsoSubspaces

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (226787 => 226788)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h	2018-01-11 18:42:14 UTC (rev 226787)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h	2018-01-11 19:13:28 UTC (rev 226788)
@@ -1105,13 +1105,13 @@
 
     void abortWithReason(AbortReason reason)
     {
-        move(TrustedImm32(reason), dataTempRegister);
+        move(TrustedImm32(reason), getCachedDataTempRegisterIDAndInvalidate());
         breakpoint();
     }
 
     void abortWithReason(AbortReason reason, intptr_t misc)
     {
-        move(TrustedImm64(misc), memoryTempRegister);
+        move(TrustedImm64(misc), getCachedMemoryTempRegisterIDAndInvalidate());
         abortWithReason(reason);
     }
 
@@ -2201,7 +2201,7 @@
     
     void pushToSaveImmediateWithoutTouchingRegisters(TrustedImm32 imm)
     {
-        RegisterID reg = dataTempRegister;
+        RegisterID reg = getCachedDataTempRegisterIDAndInvalidate();
         pushPair(reg, reg);
         move(imm, reg);
         store64(reg, stackPointerRegister);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to