[Webkit-unassigned] [Bug 133156] make css jit work on arm64
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed May 21 13:35:03 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=133156
Benjamin Poulain <benjamin at webkit.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #231836|review? |review-
Flag| |
--- Comment #4 from Benjamin Poulain <benjamin at webkit.org> 2014-05-21 13:35:26 PST ---
(From update of attachment 231836)
View in context: https://bugs.webkit.org/attachment.cgi?id=231836&action=review
> Source/WebCore/cssjit/SelectorCompiler.cpp:874
> +#if CPU(ARM64)
> + m_assembler.pushPair(JSC::ARM64Registers::lr, JSC::ARM64Registers::fp);
> +#endif
> +}
> +
> +void SelectorCodeGenerator::generateEpilogue()
> +{
> +#if CPU(ARM64)
> + m_assembler.popPair(JSC::ARM64Registers::lr, JSC::ARM64Registers::fp);
> +#endif
I would prefer this to be done through the stack allocator.
Here, if we have a mismatch of pushPair/popPair, we could run into security problems.
> Source/WebCore/cssjit/SelectorCompiler.cpp:935
> + generateEpilogue();
> m_assembler.ret();
>
> // Failure.
> if (!failureCases.empty()) {
> failureCases.link(&m_assembler);
> m_assembler.move(Assembler::TrustedImm32(0), returnRegister);
> + generateEpilogue();
> m_assembler.ret();
The duplicated epilogue may be slower than an unconditional jump. You may want to generalize reservedCalleeSavedRegisters.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list