De-virtualize IPDL protocol methods in ActorsChild
Categories
(Core :: Storage: IndexedDB, task, P2)
Tracking
()
People
(Reporter: sg, Assigned: sg)
References
Details
Attachments
(3 files)
This needs to move the actor class definitions to a header file, and remove from the IPDL exlcusion list VIRTUAL_CALL_CLASSES in ipc/ipdl/ipdl/direct_call.py
Comment 1•4 years ago
|
||
Maybe we just need to export ActorsChild.h
Assignee | ||
Comment 2•4 years ago
|
||
(In reply to Jan Varga [:janv] from comment #1)
Maybe we just need to export ActorsChild.h
Yes, that's probably just what needs to be done. Thanks for pointing that out!
Assignee | ||
Comment 3•4 years ago
|
||
Assignee | ||
Comment 4•4 years ago
|
||
Depends on D61991
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D61992
Assignee | ||
Updated•4 years ago
|
Pushed by sgiesecke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/98a47607bb61 De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Comment 7•4 years ago
|
||
Backed out changeset 98a47607bb61 for causing sm failures in PBackgroundIDBCursorChild.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/d418be201c251e200d4b891694a581294e1cf6ca
Failurel log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=289225157&repo=autoland&lineNumber=22707
[task 2020-02-17T13:51:13.526Z] 13:51:13 INFO - /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o jsep_session_unittest.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_LINUX -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/media/webrtc/signaling/gtest -I/builds/worker/workspace/build/src/obj-firefox/media/webrtc/signaling/gtest -I/builds/worker/workspace/build/src/dom/media -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/media/mtransport -I/builds/worker/workspace/build/src/media/mtransport/test -I/builds/worker/workspace/build/src/media/mtransport/third_party/nrappkit/src/registry -I/builds/worker/workspace/build/src/media/webrtc -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/common -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/common/time_profiling -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/media-conduit -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/mediapipeline -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/peerconnection -I/builds/worker/workspace/build/src/media/webrtc/trunk -I/builds/worker/workspace/build/src/media/webrtc/trunk/webrtc -I/builds/worker/workspace/build/src/netwerk/srtp/src/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Os -fno-omit-frame-pointer -funwind-tables -Werror -Wno-error=shadow -MD -MP -MF .deps/jsep_session_unittest.o.pp /builds/worker/workspace/build/src/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
[task 2020-02-17T13:51:13.526Z] 13:51:13 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/media/webrtc/signaling/gtest'
[task 2020-02-17T13:51:13.533Z] 13:51:13 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl'
[task 2020-02-17T13:51:13.533Z] 13:51:13 INFO - ipc/ipdl/UnifiedProtocols22.o
[task 2020-02-17T13:51:13.533Z] 13:51:13 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl'
[task 2020-02-17T13:51:13.617Z] 13:51:13 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl'
[task 2020-02-17T13:51:13.619Z] 13:51:13 INFO - /builds/worker/fetches/clang/bin/clang++ -std=gnu++17 -o UnifiedProtocols2.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DDEBUG=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/ipc/ipdl -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Os -fno-omit-frame-pointer -funwind-tables -Werror -I/builds/worker/workspace/build/src/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gtk-3.0/unix-print -MD -MP -MF .deps/UnifiedProtocols2.o.pp UnifiedProtocols2.cpp
[task 2020-02-17T13:51:13.620Z] 13:51:13 INFO - In file included from UnifiedProtocols2.cpp:101:
[task 2020-02-17T13:51:13.620Z] 13:51:13 ERROR - /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/PBackgroundIDBCursorChild.cpp:194:80: error: no member named 'RecvResponse' in 'mozilla::dom::indexedDB::BackgroundCursorChildBase'
[task 2020-02-17T13:51:13.621Z] 13:51:13 INFO - if ((!((static_cast<indexedDB::BackgroundCursorChildBase*>(this))->RecvResponse(std::move(response))))) {
[task 2020-02-17T13:51:13.621Z] 13:51:13 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
[task 2020-02-17T13:51:13.621Z] 13:51:13 INFO - 1 error generated.
[task 2020-02-17T13:51:13.621Z] 13:51:13 INFO - /builds/worker/workspace/build/src/config/rules.mk:731: recipe for target 'UnifiedProtocols2.o' failed
[task 2020-02-17T13:51:13.621Z] 13:51:13 ERROR - make[4]: *** [UnifiedProtocols2.o] Error 1
[task 2020-02-17T13:51:13.622Z] 13:51:13 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl'
[task 2020-02-17T13:51:13.622Z] 13:51:13 INFO - make[4]: *** Waiting for unfinished jobs....
[task 2020-02-17T13:51:13.655Z] 13:51:13 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/media/webrtc/trunk/webrtc/modules/audio_coding/audio_coding_gn'
[task 2020-02-17T13:51:13.655Z] 13:51:13 INFO - mkdir -p '.deps/'
Assignee | ||
Comment 8•4 years ago
|
||
Sorry for that. This only worked with other changes from Bug 1613340, which are not ready to land yet. I wonder though why the review bot didn't catch this, since it affected any build, not just sm.
Pushed by sgiesecke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/df09462be46d De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Comment 10•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Comment 11•4 years ago
|
||
Pushed by sgiesecke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d29dac37fa5f Pass nsresult/bool/int* by value instead of const &. r=dom-workers-and-storage-reviewers,janv https://hg.mozilla.org/integration/autoland/rev/73987801833a Avoid copying non-trivial IPDL params. r=dom-workers-and-storage-reviewers,janv
Comment 12•4 years ago
|
||
bugherder |
Assignee | ||
Updated•4 years ago
|
Description
•