Title: [166524] trunk/Source/WebCore
- Revision
- 166524
- Author
- [email protected]
- Date
- 2014-03-31 14:04:03 -0700 (Mon, 31 Mar 2014)
Log Message
CSS JIT: clean up the functions ending when generating a checker with context
https://bugs.webkit.org/show_bug.cgi?id=130959
Reviewed by Andreas Kling.
This code got refactored over time and now both branches do the exact same action
on the stack.
This patch removes the stack split and move the stack cleanup in the common ending
just before restoring the callee saved registers.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (166523 => 166524)
--- trunk/Source/WebCore/ChangeLog 2014-03-31 21:00:31 UTC (rev 166523)
+++ trunk/Source/WebCore/ChangeLog 2014-03-31 21:04:03 UTC (rev 166524)
@@ -1,3 +1,18 @@
+2014-03-31 Benjamin Poulain <[email protected]>
+
+ CSS JIT: clean up the functions ending when generating a checker with context
+ https://bugs.webkit.org/show_bug.cgi?id=130959
+
+ Reviewed by Andreas Kling.
+
+ This code got refactored over time and now both branches do the exact same action
+ on the stack.
+ This patch removes the stack split and move the stack cleanup in the common ending
+ just before restoring the callee saved registers.
+
+ * cssjit/SelectorCompiler.cpp:
+ (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
+
2014-03-31 Beth Dakin <[email protected]>
ThemeMac should use std::array instead of IntSize* for control sizes
Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (166523 => 166524)
--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2014-03-31 21:00:31 UTC (rev 166523)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2014-03-31 21:04:03 UTC (rev 166524)
@@ -706,24 +706,15 @@
// Success.
m_assembler.move(Assembler::TrustedImm32(1), returnRegister);
- StackAllocator successStack = m_stackAllocator;
- StackAllocator failureStack = m_stackAllocator;
-
- LocalRegister checkingContextRegister(m_registerAllocator);
- successStack.popAndDiscardUpTo(m_checkingContextStackReference);
-
// Failure.
if (!failureCases.empty()) {
Assembler::Jump skipFailureCase = m_assembler.jump();
-
failureCases.link(&m_assembler);
- failureStack.popAndDiscardUpTo(m_checkingContextStackReference);
m_assembler.move(Assembler::TrustedImm32(0), returnRegister);
-
skipFailureCase.link(&m_assembler);
}
- m_stackAllocator.merge(std::move(successStack), std::move(failureStack));
+ m_stackAllocator.popAndDiscardUpTo(m_checkingContextStackReference);
m_registerAllocator.restoreCalleeSavedRegisters(m_stackAllocator);
m_assembler.ret();
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes