Closed
Bug 1420115
Opened 7 years ago
Closed 7 years ago
assert(ABINonArgReg0 != WasmTlsReg, "by constraint") fails
Categories
(Core :: JavaScript Engine: JIT, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla59
Tracking | Status | |
---|---|---|
firefox59 | --- | fixed |
People
(Reporter: dan, Assigned: lth)
References
Details
Attachments
(1 file)
1.69 KB,
patch
|
Details | Diff | Splinter Review |
Our CI shows that a change made between November 15 and November 21 broke non-JIT arches (seen on ppc64, ppc64le and s390x). I can see other issues with JIT in the builds preceding the November 15th, but build from November 13th was green for s390x (it failed on ppc64/ppc64le due bug #1416170) ... /usr/bin/g++ -o Unified_cpp_js_src17.o -c -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/dist/system_wrappers -include /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DENABLE_BINARYDATA -DENABLE_SIMD -DENABLE_WASM_THREAD_OPS -DJS_CACHEIR_SPEW -DENABLE_SHARED_ARRAY_BUFFER -DEXPORT_JS_API -DJS_HAS_CTYPES '-DDLL_PREFIX="lib"' '-DDLL_SUFFIX=".so"' -DMOZ_HAS_MOZGLUE -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/js/src -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/js/src -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/dist/include -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/js/src/js-confdefs.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-overflow=2 -Wno-noexcept-type -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O3 -fno-omit-frame-pointer -Wno-shadow -Werror=format -fno-strict-aliasing -MD -MP -MF .deps/Unified_cpp_js_src17.o.pp /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/js/src/Unified_cpp_js_src17.cpp In file included from /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/js/src/Unified_cpp_js_src17.cpp:2:0: /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/js/src/jit/MacroAssembler.cpp: In member function ‘void js::jit::MacroAssembler::wasmCallImport(const js::wasm::CallSiteDesc&, const js::wasm::CalleeDesc&)’: /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/js/src/jit/MacroAssembler.cpp:2940:5: error: static assertion failed: by constraint static_assert(ABINonArgReg0 != WasmTlsReg, "by constraint"); ^~~~~~~~~~~~~ gmake[4]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/config/rules.mk:1030: Unified_cpp_js_src17.o] Error 1 gmake[4]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/obj-powerpc64le-unknown-linux-gnu/js/src' gmake[3]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox-src/config/recurse.mk:73: js/src/target] Error 2 ...
Assignee | ||
Comment 1•7 years ago
|
||
Yes, the definition of those registers in jit/MacroAssembler-none.h conflict with that assert. The appropriate fix here is probably to #ifndef JS_CODEGEN_NONE that assert in MacroAssembler.cpp, since it is inappropriate in the no-jit case. Or to turn it into a non-static assert, though that is less appealing.
Assignee | ||
Comment 2•7 years ago
|
||
Mozilla folk, we really need to get a 'none' build back on CI. While not having it on CI lets us ignore this case and just charge ahead, not having it is causing us and all tier-3 platforms regular pain elsewhere.
If having access to ppc64 and/or ppc64le machines running Fedora would help you, let me know.
Assignee | ||
Comment 4•7 years ago
|
||
It actually reproduces locally here (x64 linux) if I disable ion when I configure. We just don't test these builds much.
Assignee | ||
Comment 5•7 years ago
|
||
I'll fix it today.
Assignee: nobody → lhansen
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Assignee | ||
Comment 6•7 years ago
|
||
Dan, can you verify that this patch fixes your problem?
Attachment #8931328 -
Flags: feedback?(dan)
Assignee | ||
Updated•7 years ago
|
Priority: -- → P3
(In reply to Lars T Hansen [:lth] from comment #6) > Created attachment 8931328 [details] [diff] [review] > bug1420115-fix-none-build.patch > > Dan, can you verify that this patch fixes your problem? yes, it does fix the problem, also I can't see any further issues in js/ subtree
Pushed by lhansen@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/72fd7816dd77 Avoid a static_assert with JS_CODEGEN_NONE. f=dan_horak, r=me
Assignee | ||
Updated•7 years ago
|
Attachment #8931328 -
Flags: feedback?(dan)
Comment 10•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/72fd7816dd77
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in
before you can comment on or make changes to this bug.
Description
•