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