Closed Bug 1509182 Opened 11 months ago Closed 9 months ago

Switch from using WrFilterOp to using FilterOp directly

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files, 1 obsolete file)

cbindgen should support exposing FilterOp to C now.

Changing this lets us avoid a heap allocation in wr_dp_push_stacking_context()
Blocks: 1422039
Priority: -- → P3
This will need something like https://github.com/eqrion/cbindgen/issues/56 so that we can expose PropertyBindingId
Assignee: nobody → jmuizelaar
The cbindgen issues have been fixed. This is now blocked on a new cbindgen release.
This avoids code duplication and simplifies push_stacking_context
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8e078c86db82
Switch from using WrFilterOp to using FilterOp directly. r=nical

Backed out for bustage on WebRenderTypes.h:789

backout: https://hg.mozilla.org/integration/autoland/rev/aadaa3b39509d0e1597135844e44be8006901107

push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=8e078c86db82c28b65d7adbfec81627f6133a6a5&selectedJob=221111392

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=221111392&repo=autoland&lineNumber=13382

task 2019-01-10T16:11:13.744Z] 16:11:13 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-darwin11 -o Unified_cpp_xpcom_base2.o -c -fvisibility=hidden -fvisibility-inlines-hidden -DDEBUG=1 -DOS_POSIX=1 -DOS_MACOSX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/xpcom/base -I/builds/worker/workspace/build/src/obj-firefox/xpcom/base -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/xpcom/build -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/mfbt -I/builds/worker/workspace/build/src/xpcom/ds -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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -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 -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror -MD -MP -MF .deps/Unified_cpp_xpcom_base2.o.pp /builds/worker/workspace/build/src/obj-firefox/xpcom/base/Unified_cpp_xpcom_base2.cpp
[task 2019-01-10T16:11:13.746Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/xpcom/base/Unified_cpp_xpcom_base2.cpp:11:
[task 2019-01-10T16:11:13.750Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/xpcom/base/nsMemoryInfoDumper.cpp:14:
[task 2019-01-10T16:11:13.752Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/ContentParent.h:11:
[task 2019-01-10T16:11:13.753Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/nsIContentParent.h:13:
[task 2019-01-10T16:11:13.754Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders/mozilla/ipc/PChildToParentStreamParent.h:19:
[task 2019-01-10T16:11:13.755Z] 16:11:13 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/layers/WebRenderMessageUtils.h:14:
[task 2019-01-10T16:11:13.756Z] 16:11:13 ERROR - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/webrender/WebRenderTypes.h:789:16: error: functions that differ only in their return type cannot be overloaded
[task 2019-01-10T16:11:13.757Z] 16:11:13 INFO - WrSpaceAndClip RootScrollNode();
[task 2019-01-10T16:11:13.757Z] 16:11:13 INFO - ~~~~~~~~~~~~~~ ^
[task 2019-01-10T16:11:13.757Z] 16:11:13 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/webrender/WebRenderTypes.h:774:17: note: previous declaration is here
[task 2019-01-10T16:11:13.757Z] 16:11:13 INFO - extern WrClipId RootScrollNode();
[task 2019-01-10T16:11:13.758Z] 16:11:13 INFO - ~~~~~~~~ ^
[task 2019-01-10T16:11:13.758Z] 16:11:13 INFO - 1 error generated.
[task 2019-01-10T16:11:13.758Z] 16:11:13 INFO - /builds/worker/workspace/build/src/config/rules.mk:1119: recipe for target 'Unified_cpp_xpcom_base2.o' failed
[task 2019-01-10T16:11:13.758Z] 16:11:13 ERROR - make[4]: *** [Unified_cpp_xpcom_base2.o] Error 1
[task 2019-01-10T16:11:13.758Z] 16:11:13 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/xpcom/base'
[task 2019-01-10T16:11:13.758Z] 16:11:13 INFO - make[4]: *** Waiting for unfinished jobs....

Flags: needinfo?(jmuizelaar)
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/10dedfde1015
Switch from using WrFilterOp to using FilterOp directly. r=nical
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/23186317acd0
Switch from using WrFilterOp to using FilterOp directly. r=nical
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Flags: needinfo?(jmuizelaar)
You need to log in before you can comment on or make changes to this bug.