diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2009-06-24 11:42:15 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-06-24 11:42:15 (GMT) |
commit | 259c32cd921fcbb85f79f21923d0efa0d6743d8a (patch) | |
tree | f9629c9be4b8488eb3221b48c0629a42a6ffce4c /src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp | |
parent | ff2b98cf81daf585bb657bee7f5f131769b38eca (diff) | |
download | Qt-259c32cd921fcbb85f79f21923d0efa0d6743d8a.zip Qt-259c32cd921fcbb85f79f21923d0efa0d6743d8a.tar.gz Qt-259c32cd921fcbb85f79f21923d0efa0d6743d8a.tar.bz2 |
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit-4.6-snapshot-24062009 ( 6d5a2a0472a6af0b7f781da018e76bb8522d57a5 )
++ b/WebKit/qt/ChangeLog
2009-06-19 Daniel <qt-info@nokia.com>
Reviewed by Simon Hausmann.
Remove warnings for QString() constructions from const char *
By explicitly wrapping it with QLatin1String() / QLatin1Char()
* Api/qwebelement.cpp:
(QWebElement::classes): Use QLatin1String.
(QWebElement::addClass): Ditto.
(QWebElement::removeClass): Ditto.
(QWebElement::toggleClass): Ditto.
2009-06-18 Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed by Simon Hausmann.
Fixed MinGW compilation.
* Api/qwebelement.cpp:
(QWebElement::evaluateScript):
2009-06-18 Markus Goetz <Markus.Goetz@nokia.com>
Reviewed by Simon Hausman.
Clarify in docs how to compile with debug information.
* docs/qtwebkit.qdoc:
2009-06-17 Markus Goetz <Markus.Goetz@nokia.com>
Reviewed by Simon Hausmann.
QWebPage: Don't call supportsSsl()
This stops QWebPage from loading the OpenSSL libs,
certificates etc. when they are not needed for the non-HTTPS case.
Loading the SSL libraries can be a very slow operation.
* Api/qwebpage.cpp:
(QWebPage::userAgentForUrl):
2009-06-15 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
Reviewed by Adam Treat.
Support the back/forward/stop/refresh multimedia keys and accept the
event when handling backspace and shift backspace as we should.
* Api/qwebpage.cpp:
(QWebPagePrivate::keyPressEvent):
2009-06-15 Andre Pedralho <andre.pedralho@openbossa.org>
Reviewed by Adam Treat.
https://bugs.webkit.org/show_bug.cgi?id=26351
Remove bool QWebHitTestResult::isScrollBar() const and make sure a null QWebHitTestResult is returned instead.
* Api/qwebframe.cpp:
(QWebFrame::hitTestContent):
* Api/qwebframe.h:
* Api/qwebpage.cpp:
(QWebPage::updatePositionDependentActions):
2009-06-15 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Adam Treat.
Fix the logic for disabling the fixed layout feature, when an invalid
QSize is set.
* Api/qwebpage.cpp:
(QWebPage::setFixedContentsSize):
2009-06-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=24492
Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin.
* Api/qwebpage.cpp:
(QWebPage::acceptNavigationRequest):
Rubber-stamped by Simon Hausmann.
2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
Renamed QWebSettings::AllowUniversalAccessFromFileUrls to
LocalContentCanAccessRemoteUrls, as discussed in the API review.
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
* Api/qwebsettings.h:
2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
Merged useFixedLayout property with fixedLayoutSize and
renamed the latter to fixedContentsSize.
* Api/qwebpage.cpp:
(QWebPage::fixedContentsSize):
(QWebPage::setFixedContentsSize):
* Api/qwebpage.h:
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
Renamed QWebHitTestResult::linkTarget to linkElement() and made it return
a QWebElement. The link target itself is always the target DOM attribute.
* Api/qwebframe.cpp:
(QWebHitTestResultPrivate::QWebHitTestResultPrivate):
(QWebHitTestResult::linkElement):
* Api/qwebframe.h:
* Api/qwebframe_p.h:
* tests/qwebframe/tst_qwebframe.cpp:
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp index a64dd8d..29a9d18 100644 --- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp @@ -43,6 +43,17 @@ namespace JSC { namespace Yarr { class RegexGenerator : private MacroAssembler { friend void jitCompileRegex(JSGlobalData* globalData, RegexCodeBlock& jitObject, const UString& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline); +#if PLATFORM_ARM_ARCH(7) + static const RegisterID input = ARM::r0; + static const RegisterID index = ARM::r1; + static const RegisterID length = ARM::r2; + + static const RegisterID output = ARM::r4; + static const RegisterID regT0 = ARM::r5; + static const RegisterID regT1 = ARM::r6; + + static const RegisterID returnRegister = ARM::r0; +#endif #if PLATFORM(X86) static const RegisterID input = X86::eax; static const RegisterID index = X86::edx; @@ -1278,34 +1289,47 @@ class RegexGenerator : private MacroAssembler { void generateEnter() { - // On x86 edi & esi are callee preserved registers. +#if PLATFORM(X86_64) + push(X86::ebp); + move(stackPointerRegister, X86::ebp); +#elif PLATFORM(X86) push(X86::ebp); move(stackPointerRegister, X86::ebp); -#if PLATFORM(X86) // TODO: do we need spill registers to fill the output pointer if there are no sub captures? push(X86::ebx); push(X86::edi); push(X86::esi); // load output into edi (2 = saved ebp + return address). -#if COMPILER(MSVC) + #if COMPILER(MSVC) loadPtr(Address(X86::ebp, 2 * sizeof(void*)), input); loadPtr(Address(X86::ebp, 3 * sizeof(void*)), index); loadPtr(Address(X86::ebp, 4 * sizeof(void*)), length); loadPtr(Address(X86::ebp, 5 * sizeof(void*)), output); -#else + #else loadPtr(Address(X86::ebp, 2 * sizeof(void*)), output); -#endif + #endif +#elif PLATFORM_ARM_ARCH(7) + push(ARM::r4); + push(ARM::r5); + push(ARM::r6); + move(ARM::r3, output); #endif } void generateReturn() { -#if PLATFORM(X86) +#if PLATFORM(X86_64) + pop(X86::ebp); +#elif PLATFORM(X86) pop(X86::esi); pop(X86::edi); pop(X86::ebx); -#endif pop(X86::ebp); +#elif PLATFORM_ARM_ARCH(7) + pop(ARM::r6); + pop(ARM::r5); + pop(ARM::r4); +#endif ret(); } @@ -1334,7 +1358,7 @@ public: { generate(); - PatchBuffer patchBuffer(this, globalData->executableAllocator.poolForSize(size())); + LinkBuffer patchBuffer(this, globalData->executableAllocator.poolForSize(size())); for (unsigned i = 0; i < m_backtrackRecords.size(); ++i) patchBuffer.patch(m_backtrackRecords[i].dataLabel, patchBuffer.locationOf(m_backtrackRecords[i].backtrackLocation)); |