Skip to content

Make Seek test work - #4

Merged
eocanha merged 1 commit into
masterfrom
test-47-seek
Jun 12, 2015
Merged

Make Seek test work#4
eocanha merged 1 commit into
masterfrom
test-47-seek

Conversation

@eocanha

Copy link
Copy Markdown
Member

This already addresses some of the suggestions of the review for the original QtWebKit pull request.

Prevent chaining of null GstBuffers and avoid seeks while appends are in progress.
eocanha added a commit that referenced this pull request Jun 12, 2015
Applied all the Philippe's suggestions to the QtWebKit pull request here too.
@eocanha
eocanha merged commit 3fe3144 into masterJun 12, 2015
@philn
philn deleted the test-47-seek branch June 15, 2015 08:15
emutavchi referenced this pull request in emutavchi/WebKitForWayland Dec 4, 2015
@aazamansariaazamansari mentioned this pull request Jun 5, 2017
@nrajan002cnrajan002c mentioned this pull request Sep 27, 2018
dwrobel added a commit to dwrobel/WPEWebKit that referenced this pull request Apr 10, 2019
strlen() is invoked on strings located in UserAgentStyleSheetsData.cpp,
however strings in those tables doesn't not contain valid C string with
'\0' character in the end.
GDB callstack excerpt:
(complete is available at WebPlatformForEmbedded#592)
(gdb) bt
#0 0x00007fb2aae415d0 in __sanitizer::Die() () at ../../../../libsanitizer/sanitizer_common/sanitizer_termination.cc:49
WebPlatformForEmbedded#1 0x00007fb2aae23ce5 in __asan::ScopedInErrorReport::~ScopedInErrorReport() (this=<optimized out>, __in_chrg=<optimized out>) at ../../../../libsanitizer/asan/asan_report.cc:181
WebPlatformForEmbedded#2 0x00007fb2aae23ce5 in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) (pc=<optimized out>, bp=bp@entry=140729000272496, sp=sp@entry=140729000270360, addr=addr@entry=140405332238509, is_write=is_write@entry=false, access_size=access_size@entry=27118, exp=0, fatal=false) at ../../../../libsanitizer/asan/asan_report.cc:397
WebPlatformForEmbedded#3 0x00007fb2aadd62ac in __interceptor_strlen(char const*) (s=<optimized out>) at ../../../../libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:301
WebPlatformForEmbedded#4 0x00007fb2a95309ba in WTF::StringImpl::createFromLiteral(char const*) (characters=0x7fb2a9f376c0 <WebCore::mediaControlsBaseUserAgentStyleSheet> "audio { width: 200px; height: 25px; } body:-webkit-full-page-media { background-color: rgb(38, 38, 38); } video:-webkit-full-page-media { margin: auto; position: absolute; top: 0; right: 0; bottom: 0;"...) at ../Source/WTF/wtf/text/StringImpl.cpp:158
WebPlatformForEmbedded#5 0x00007fb2a957ff4c in WTF::String::String(WTF::ASCIILiteral) (this=0x7ffe061225d0, characters=...) at ../Source/WTF/wtf/text/WTFString.h:734
WebPlatformForEmbedded#6 0x00007fb2a4b25f21 in WebCore::RenderThemeWPE::mediaControlsStyleSheet() (this=<optimized out>) at ../Source/WTF/wtf/text/WTFString.h:733
(gdb) fr 4
158 return createFromLiteral(characters, strlen(characters));
(gdb) l
153 return adoptRef(*new StringImpl(reinterpret_cast<const LChar*>(characters), length, ConstructWithoutCopying));
154	}
155
156	Ref<StringImpl> StringImpl::createFromLiteral(const char* characters)
157	{
158 return createFromLiteral(characters, strlen(characters));
159	}
Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
dwrobel added a commit to dwrobel/WPEWebKit that referenced this pull request Apr 10, 2019
strlen() is invoked on strings located in UserAgentStyleSheetsData.cpp,
however strings in those tables doesn't not contain valid C string with
'\0' character in the end.
GDB callstack excerpt:
(complete is available at WebPlatformForEmbedded#592)
(gdb) bt
#0 0x00007fb2aae415d0 in __sanitizer::Die() () at ../../../../libsanitizer/sanitizer_common/sanitizer_termination.cc:49
WebPlatformForEmbedded#1 0x00007fb2aae23ce5 in __asan::ScopedInErrorReport::~ScopedInErrorReport() (this=<optimized out>, __in_chrg=<optimized out>) at ../../../../libsanitizer/asan/asan_report.cc:181
WebPlatformForEmbedded#2 0x00007fb2aae23ce5 in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) (pc=<optimized out>, bp=bp@entry=140729000272496, sp=sp@entry=140729000270360, addr=addr@entry=140405332238509, is_write=is_write@entry=false, access_size=access_size@entry=27118, exp=0, fatal=false) at ../../../../libsanitizer/asan/asan_report.cc:397
WebPlatformForEmbedded#3 0x00007fb2aadd62ac in __interceptor_strlen(char const*) (s=<optimized out>) at ../../../../libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:301
WebPlatformForEmbedded#4 0x00007fb2a95309ba in WTF::StringImpl::createFromLiteral(char const*) (characters=0x7fb2a9f376c0 <WebCore::mediaControlsBaseUserAgentStyleSheet> "audio { width: 200px; height: 25px; } body:-webkit-full-page-media { background-color: rgb(38, 38, 38); } video:-webkit-full-page-media { margin: auto; position: absolute; top: 0; right: 0; bottom: 0;"...) at ../Source/WTF/wtf/text/StringImpl.cpp:158
WebPlatformForEmbedded#5 0x00007fb2a957ff4c in WTF::String::String(WTF::ASCIILiteral) (this=0x7ffe061225d0, characters=...) at ../Source/WTF/wtf/text/WTFString.h:734
WebPlatformForEmbedded#6 0x00007fb2a4b25f21 in WebCore::RenderThemeWPE::mediaControlsStyleSheet() (this=<optimized out>) at ../Source/WTF/wtf/text/WTFString.h:733
(gdb) fr 4
158 return createFromLiteral(characters, strlen(characters));
(gdb) l
153 return adoptRef(*new StringImpl(reinterpret_cast<const LChar*>(characters), length, ConstructWithoutCopying));
154	}
155
156	Ref<StringImpl> StringImpl::createFromLiteral(const char* characters)
157	{
158 return createFromLiteral(characters, strlen(characters));
159	}
Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
dwrobel added a commit to dwrobel/WPEWebKit that referenced this pull request Apr 23, 2019
strlen() is invoked on strings located in UserAgentStyleSheetsData.cpp,
however strings in those tables doesn't not contain valid C string with
'\0' character in the end.
GDB callstack excerpt:
(complete is available at WebPlatformForEmbedded#592)
(gdb) bt
#0 0x00007fb2aae415d0 in __sanitizer::Die() () at ../../../../libsanitizer/sanitizer_common/sanitizer_termination.cc:49
WebPlatformForEmbedded#1 0x00007fb2aae23ce5 in __asan::ScopedInErrorReport::~ScopedInErrorReport() (this=<optimized out>, __in_chrg=<optimized out>) at ../../../../libsanitizer/asan/asan_report.cc:181
WebPlatformForEmbedded#2 0x00007fb2aae23ce5 in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) (pc=<optimized out>, bp=bp@entry=140729000272496, sp=sp@entry=140729000270360, addr=addr@entry=140405332238509, is_write=is_write@entry=false, access_size=access_size@entry=27118, exp=0, fatal=false) at ../../../../libsanitizer/asan/asan_report.cc:397
WebPlatformForEmbedded#3 0x00007fb2aadd62ac in __interceptor_strlen(char const*) (s=<optimized out>) at ../../../../libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:301
WebPlatformForEmbedded#4 0x00007fb2a95309ba in WTF::StringImpl::createFromLiteral(char const*) (characters=0x7fb2a9f376c0 <WebCore::mediaControlsBaseUserAgentStyleSheet> "audio { width: 200px; height: 25px; } body:-webkit-full-page-media { background-color: rgb(38, 38, 38); } video:-webkit-full-page-media { margin: auto; position: absolute; top: 0; right: 0; bottom: 0;"...) at ../Source/WTF/wtf/text/StringImpl.cpp:158
WebPlatformForEmbedded#5 0x00007fb2a957ff4c in WTF::String::String(WTF::ASCIILiteral) (this=0x7ffe061225d0, characters=...) at ../Source/WTF/wtf/text/WTFString.h:734
WebPlatformForEmbedded#6 0x00007fb2a4b25f21 in WebCore::RenderThemeWPE::mediaControlsStyleSheet() (this=<optimized out>) at ../Source/WTF/wtf/text/WTFString.h:733
(gdb) fr 4
158 return createFromLiteral(characters, strlen(characters));
(gdb) l
153 return adoptRef(*new StringImpl(reinterpret_cast<const LChar*>(characters), length, ConstructWithoutCopying));
154	}
155
156	Ref<StringImpl> StringImpl::createFromLiteral(const char* characters)
157	{
158 return createFromLiteral(characters, strlen(characters));
159	}
Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
magomez pushed a commit that referenced this pull request Jun 19, 2024
…te-isolation
rdar://127515199
https://bugs.webkit.org/show_bug.cgi?id=273715
Unreviewed test gardening.
* LayoutTests/platform/mac-site-isolation/TestExpectations:
Canonical link: https://commits.webkit.org/278516@main
magomez pushed a commit that referenced this pull request Jun 19, 2024
…volume scrubber on a video player
https://bugs.webkit.org/show_bug.cgi?id=275469
<rdar://129080145>
Reviewed by Antti Koivisto.
1. In EventHandler::mouseDragged we dispatch the "mouse move" event
2. JS triggers some mutation which makes the tree dirty
3. later in EventHandler::handleMouseMoveEvent() we call EventHandler::handleMouseDraggedEvent() (tree is dirty)
which, through a few layers of functions calls VisiblePosition::canonicalPosition()
4. VisiblePosition::canonicalPosition() needs a clean tree so it calls Document::updateLayout() which is turn destroys some renderers (see #2)
5. In-between EventHandler::handleMouseDraggedEvent() and VisiblePosition::canonicalPosition(), we CheckPtr a renderer which gets destroyed at #4.
The fix (what we normally do with cases like this) is to make sure we clean the tree before entering VisiblePosition.
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDraggedEvent):
Canonical link: https://commits.webkit.org/280013@main
aoikonomopoulos pushed a commit that referenced this pull request May 6, 2026
…stination https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, #4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
aoikonomopoulos pushed a commit to aoikonomopoulos/WPEWebKit that referenced this pull request May 20, 2026
…stination https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, WebPlatformForEmbedded#4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
aoikonomopoulos pushed a commit that referenced this pull request May 22, 2026
…stination https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, #4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 7, 2026
https://bugs.webkit.org/show_bug.cgi?id=302403
Reviewed by Yusuke Suzuki.
This PR includes seveal changes to improve the codegen of store/load:
* Optimized storePair to use a single move when constants are equal
* Eliminated register materialization for constant integer store
* Constant pointer folding when they are statically known
One example where these work together is I64Store, before:
[ 0x22d] I64Store
0xf1a22bcc: ldrd r1, r2, [r10, #0x34]
0xf1a22bd0: movw r0, #0x5d18
0xf1a22bd4: mov r5, r0
0xf1a22bd6: adds r5, r5, WebPlatformForEmbedded#7
0xf1a22bd8: bhs.w #0xf1a22c44
0xf1a22bdc: cmp r5, r2
0xf1a22bde: bhs.w #0xf1a22c44
0xf1a22be2: mov r5, r0
0xf1a22be4: add r5, r1
0xf1a22be6: movs r4, #0
0xf1a22be8: movs r3, #0
0xf1a22bea: str r3, [r5]
0xf1a22bec: str r4, [r5, WebPlatformForEmbedded#4]
after:
[ 0x22d] I64Store
0xf1b22c50: ldrd r1, r2, [r10, #0x34]
0xf1b22c54: movw r5, #0x5d1f
0xf1b22c58: cmp r5, r2
0xf1b22c5a: bhs.w #0xf1b22cc0
0xf1b22c5e: movw r12, #0x5d18
0xf1b22c62: add.w r5, r1, r12
0xf1b22c66: mov.w r12, #0
0xf1b22c6a: str.w r12, [r5]
0xf1b22c6e: str.w r12, [r5, WebPlatformForEmbedded#4]
On JetStream3's tfjs-wasm.js, we reduce the code size by -9,5KiB:
Base total code size: 433254 bytes (424KiB)
New total code size: 423578 bytes (414KiB)
Difference (new - base): -9676 bytes (-9,5KiB)
Percentage change: -2.23%
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::storePair32):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::store):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::emitCheckAndPrepareAndMaterializePointerApply):
Canonical link: https://commits.webkit.org/302984@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 7, 2026
… is also a destination
https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, WebPlatformForEmbedded#4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 8, 2026
… is also a destination
https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, WebPlatformForEmbedded#4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 8, 2026
https://bugs.webkit.org/show_bug.cgi?id=302403
Reviewed by Yusuke Suzuki.
This PR includes seveal changes to improve the codegen of store/load:
* Optimized storePair to use a single move when constants are equal
* Eliminated register materialization for constant integer store
* Constant pointer folding when they are statically known
One example where these work together is I64Store, before:
[ 0x22d] I64Store
0xf1a22bcc: ldrd r1, r2, [r10, #0x34]
0xf1a22bd0: movw r0, #0x5d18
0xf1a22bd4: mov r5, r0
0xf1a22bd6: adds r5, r5, WebPlatformForEmbedded#7
0xf1a22bd8: bhs.w #0xf1a22c44
0xf1a22bdc: cmp r5, r2
0xf1a22bde: bhs.w #0xf1a22c44
0xf1a22be2: mov r5, r0
0xf1a22be4: add r5, r1
0xf1a22be6: movs r4, #0
0xf1a22be8: movs r3, #0
0xf1a22bea: str r3, [r5]
0xf1a22bec: str r4, [r5, WebPlatformForEmbedded#4]
after:
[ 0x22d] I64Store
0xf1b22c50: ldrd r1, r2, [r10, #0x34]
0xf1b22c54: movw r5, #0x5d1f
0xf1b22c58: cmp r5, r2
0xf1b22c5a: bhs.w #0xf1b22cc0
0xf1b22c5e: movw r12, #0x5d18
0xf1b22c62: add.w r5, r1, r12
0xf1b22c66: mov.w r12, #0
0xf1b22c6a: str.w r12, [r5]
0xf1b22c6e: str.w r12, [r5, WebPlatformForEmbedded#4]
On JetStream3's tfjs-wasm.js, we reduce the code size by -9,5KiB:
Base total code size: 433254 bytes (424KiB)
New total code size: 423578 bytes (414KiB)
Difference (new - base): -9676 bytes (-9,5KiB)
Percentage change: -2.23%
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::storePair32):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::store):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::emitCheckAndPrepareAndMaterializePointerApply):
Canonical link: https://commits.webkit.org/302984@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 8, 2026
… is also a destination
https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, WebPlatformForEmbedded#4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
justinmichaud pushed a commit to justinmichaud/WPEWebKit that referenced this pull request Aug 8, 2026
https://bugs.webkit.org/show_bug.cgi?id=302403
Reviewed by Yusuke Suzuki.
This PR includes seveal changes to improve the codegen of store/load:
* Optimized storePair to use a single move when constants are equal
* Eliminated register materialization for constant integer store
* Constant pointer folding when they are statically known
One example where these work together is I64Store, before:
[ 0x22d] I64Store
0xf1a22bcc: ldrd r1, r2, [r10, #0x34]
0xf1a22bd0: movw r0, #0x5d18
0xf1a22bd4: mov r5, r0
0xf1a22bd6: adds r5, r5, WebPlatformForEmbedded#7
0xf1a22bd8: bhs.w #0xf1a22c44
0xf1a22bdc: cmp r5, r2
0xf1a22bde: bhs.w #0xf1a22c44
0xf1a22be2: mov r5, r0
0xf1a22be4: add r5, r1
0xf1a22be6: movs r4, #0
0xf1a22be8: movs r3, #0
0xf1a22bea: str r3, [r5]
0xf1a22bec: str r4, [r5, WebPlatformForEmbedded#4]
after:
[ 0x22d] I64Store
0xf1b22c50: ldrd r1, r2, [r10, #0x34]
0xf1b22c54: movw r5, #0x5d1f
0xf1b22c58: cmp r5, r2
0xf1b22c5a: bhs.w #0xf1b22cc0
0xf1b22c5e: movw r12, #0x5d18
0xf1b22c62: add.w r5, r1, r12
0xf1b22c66: mov.w r12, #0
0xf1b22c6a: str.w r12, [r5]
0xf1b22c6e: str.w r12, [r5, WebPlatformForEmbedded#4]
On JetStream3's tfjs-wasm.js, we reduce the code size by -9,5KiB:
Base total code size: 433254 bytes (424KiB)
New total code size: 423578 bytes (414KiB)
Difference (new - base): -9676 bytes (-9,5KiB)
Percentage change: -2.23%
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::storePair32):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::store):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::emitCheckAndPrepareAndMaterializePointerApply):
Canonical link: https://commits.webkit.org/302984@main
justinmichaud pushed a commit that referenced this pull request Aug 10, 2026
…stination https://bugs.webkit.org/show_bug.cgi?id=302469
Reviewed by Justin Michaud.
This patch expands a ldrd into a pair of ldr if any of the destination
registers is also the register holding the memory address.
Before:
0xf1502462: ldrd r0, r1, [r0]
After:
0xf1502462: ldr r1, [r0, #4]
0xf1502464: ldr r0, [r0]
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::loadPair32):
Canonical link: https://commits.webkit.org/303043@main
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@eocanha