Closed Bug 1578418 Opened 2 years ago Closed 2 years ago

Use a WasmABIResults iterator to place block and function results

Categories

(Core :: Javascript: WebAssembly, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: wingo, Assigned: wingo)

References

Details

Attachments

(1 file)

Patch will generalize the baseline compiler to be able to place multiple return values in registers.

OS: Unspecified → All
Priority: -- → P3
Hardware: Unspecified → All

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:wingo, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(wingo)
Flags: needinfo?(wingo)

I think we're good; setting checkin-needed. Sheriffs please land as a separate patch if possible; I have another checkin-needed patch currently open but they are independent. Thanks!!

Keywords: checkin-needed

Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/aca2e6cff6b9
Use WasmABIResults iterator to place block and function results r=luke,lth

Keywords: checkin-needed

Backed out changeset aca2e6cff6b9 (Bug 1578418) for bustages complaining about WasmBaselineCompile.cpp

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=aca2e6cff6b9c66232538f82538d3d1965be4eca&tochange=68bef5c5f4d466a6d404826e511ba75036e772a0&selectedJob=272389576

Backout link: https://hg.mozilla.org/integration/autoland/rev/68bef5c5f4d466a6d404826e511ba75036e772a0

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=272389576&repo=autoland&lineNumber=5212

[task 2019-10-22T14:10:58.479Z] 14:10:58 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-10-22T14:10:58.479Z] 14:10:58 INFO - config/external/nspr/pr/Unified_c_external_nspr_pr3.o
[task 2019-10-22T14:10:58.479Z] 14:10:58 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk -std=gnu99 --target=x86_64-apple-darwin -o Unified_c_external_nspr_pr3.o -c -fvisibility=hidden -fvisibility-inlines-hidden -DDEBUG=1 -D_NSPR_BUILD_ -DFD_SETSIZE=4096 -D_DARWIN_UNLIMITED_SELECT -DHAS_CONNECTX -DHAVE_BSD_FLOCK -DHAVE_POINTER_LOCALTIME_R -DDARWIN -DHAVE_SOCKLEN_T -DHAVE_CRT_EXTERNS_H -D_PR_PTHREADS -I/builds/worker/workspace/build/src/config/external/nspr/pr -I/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr -I/builds/worker/workspace/build/src/config/external/nspr -I/builds/worker/workspace/build/src/nsprpub/pr/include -I/builds/worker/workspace/build/src/nsprpub/pr/include/private -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 -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -fno-strict-aliasing -ffunction-sections -fdata-sections -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 -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -MD -MP -MF .deps/Unified_c_external_nspr_pr3.o.pp Unified_c_external_nspr_pr3.c
[task 2019-10-22T14:10:58.479Z] 14:10:58 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-10-22T14:10:58.595Z] 14:10:58 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/js/src/wasm'
[task 2019-10-22T14:10:58.596Z] 14:10:58 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-apple-darwin -o Unified_cpp_js_src_wasm0.o -c -fvisibility=hidden -fvisibility-inlines-hidden -DDEBUG=1 -DWASM_SUPPORTS_HUGE_MEMORY -DJS_CACHEIR_SPEW -DJS_STRUCTURED_SPEW -DJS_HAS_CTYPES -DFFI_BUILDING -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/builds/worker/workspace/build/src/js/src/wasm -I/builds/worker/workspace/build/src/obj-firefox/js/src/wasm -I/builds/worker/workspace/build/src/obj-firefox/js/src -I/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/js/src/js-confdefs.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -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-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-noexcept-type -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -fno-common -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 -fno-strict-aliasing -Werror=format -Wno-shadow -MD -MP -MF .deps/Unified_cpp_js_src_wasm0.o.pp Unified_cpp_js_src_wasm0.cpp
[task 2019-10-22T14:10:58.597Z] 14:10:58 INFO - In file included from Unified_cpp_js_src_wasm0.cpp:11:
[task 2019-10-22T14:10:58.597Z] 14:10:58 ERROR - /builds/worker/workspace/build/src/js/src/wasm/WasmBaselineCompile.cpp:4127:14: error: call to member function 'storeImmediateToStack' is ambiguous
[task 2019-10-22T14:10:58.597Z] 14:10:58 INFO - fr.storeImmediateToStack(v.refval_, resultHeight, temp);
[task 2019-10-22T14:10:58.597Z] 14:10:58 INFO - ^
[task 2019-10-22T14:10:58.598Z] 14:10:58 INFO - /builds/worker/workspace/build/src/js/src/wasm/WasmBaselineCompile.cpp:1857:8: note: candidate function
[task 2019-10-22T14:10:58.599Z] 14:10:58 INFO - void storeImmediateToStack(int32_t imm, uint32_t destHeight, Register temp) {
[task 2019-10-22T14:10:58.600Z] 14:10:58 INFO - ^
[task 2019-10-22T14:10:58.601Z] 14:10:58 INFO - /builds/worker/workspace/build/src/js/src/wasm/WasmBaselineCompile.cpp:1862:8: note: candidate function
[task 2019-10-22T14:10:58.602Z] 14:10:58 INFO - void storeImmediateToStack(int64_t imm, uint32_t destHeight, Register temp) {
[task 2019-10-22T14:10:58.603Z] 14:10:58 INFO - ^
[task 2019-10-22T14:10:58.605Z] 14:10:58 INFO - 1 error generated.
[task 2019-10-22T14:10:58.606Z] 14:10:58 INFO - /builds/worker/workspace/build/src/config/rules.mk:787: recipe for target 'Unified_cpp_js_src_wasm0.o' failed
[task 2019-10-22T14:10:58.607Z] 14:10:58 ERROR - make[4]: *** [Unified_cpp_js_src_wasm0.o] Error 1
[task 2019-10-22T14:10:58.608Z] 14:10:58 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/js/src/wasm'
[task 2019-10-22T14:10:58.609Z] 14:10:58 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'js/src/wasm/target-objects' failed
[task 2019-10-22T14:10:58.610Z] 14:10:58 ERROR - make[3]: *** [js/src/wasm/target-objects] Error 2
[task 2019-10-22T14:10:58.610Z] 14:10:58 INFO - make[3]: *** Waiting for unfinished jobs....
[task 2019-10-22T14:10:58.611Z] 14:10:58 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/mfbt/tests'
[task 2019-10-22T14:10:58.612Z] 14:10:58 INFO - mfbt/tests/TestThreadSafeWeakPtr.o
[task 2019-10-22T14:10:58.612Z] 14:10:58 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/mfbt/tests'

Flags: needinfo?(wingo)

Fixed; thanks for the patience, sheriffs!

Flags: needinfo?(wingo)
Keywords: checkin-needed
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a9d2b57a99be
Use WasmABIResults iterator to place block and function results r=luke,lth
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.