Title: [227897] trunk/Source/_javascript_Core
- Revision
- 227897
- Author
- [email protected]
- Date
- 2018-01-31 02:04:57 -0800 (Wed, 31 Jan 2018)
Log Message
clean up pushToSaveImmediateWithoutTouchingRegisters a bit
https://bugs.webkit.org/show_bug.cgi?id=181774
Reviewed by JF Bastien.
This function on ARM64 was considering what to do with the scratch
register. And conditionally invalidated what was in it. This is not
relevant though, since the function always recovers what was in that
register. This patch just switches it to using dataTempRegister
directly and updates the comment to describe why it can do so safely.
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (227896 => 227897)
--- trunk/Source/_javascript_Core/ChangeLog 2018-01-31 09:58:06 UTC (rev 227896)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-01-31 10:04:57 UTC (rev 227897)
@@ -1,3 +1,19 @@
+2018-01-31 Saam Barati <[email protected]>
+
+ clean up pushToSaveImmediateWithoutTouchingRegisters a bit
+ https://bugs.webkit.org/show_bug.cgi?id=181774
+
+ Reviewed by JF Bastien.
+
+ This function on ARM64 was considering what to do with the scratch
+ register. And conditionally invalidated what was in it. This is not
+ relevant though, since the function always recovers what was in that
+ register. This patch just switches it to using dataTempRegister
+ directly and updates the comment to describe why it can do so safely.
+
+ * assembler/MacroAssemblerARM64.h:
+ (JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
+
2018-01-30 Mark Lam <[email protected]>
Apply poisoning to TypedArray vector pointers.
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h (227896 => 227897)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2018-01-31 09:58:06 UTC (rev 227896)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.h 2018-01-31 10:04:57 UTC (rev 227897)
@@ -2203,8 +2203,11 @@
void pushToSaveImmediateWithoutTouchingRegisters(TrustedImm32 imm)
{
- // We invalidate any cached values in dataTempRegister if temp register caching is enabled.
- RegisterID reg = m_allowScratchRegister ? getCachedDataTempRegisterIDAndInvalidate() : dataTempRegister;
+ // We can use any non-hardware reserved register here since we restore its value.
+ // We pick dataTempRegister arbitrarily. We don't need to invalidate it here since
+ // we restore its original value.
+ RegisterID reg = dataTempRegister;
+
pushPair(reg, reg);
move(imm, reg);
store64(reg, stackPointerRegister);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes