Closed
Bug 1376268
Opened 8 years ago
Closed 8 years ago
js MacroAssembler-none.h has two problems
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
FIXED
mozilla56
| Tracking | Status | |
|---|---|---|
| firefox56 | --- | fixed |
People
(Reporter: petr.sumbera, Assigned: petr.sumbera)
Details
Attachments
(1 file, 1 obsolete file)
|
1.81 KB,
patch
|
bbouvier
:
review+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (X11; SunOS i86pc; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20170612021003
Steps to reproduce:
There are two issue in MacroAssembler-none.h which I can see when building Firefox on sparc (probably no one else did sparc build recently).
1. Issues one:
---------------
9:42.41 /usr/bin/gcc -std=gnu99 -m32 -o pratom.o -c -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/system_wrappers -include /scratch/firefox/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -D_NSPR_BUILD_ -D_PR_INET6 -DHAVE_FCNTL_FILE_LOCKING -D_PR_HAVE_OFF64_T -DHAVE_SOCKLEN_T -DSOLARIS -D_PR_PTHREADS -I/scratch/firefox/config/external/nspr/pr -I/scratch/firefox/obj-sparc-sun-solaris2.12/config/external/nspr/pr -I/scratch/firefox/config/external/nspr -I/scratch/firefox/nsprpub/pr/include -I/scratch/firefox/nsprpub/pr/include/private -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nspr -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nss -fPIC -include /scratch/firefox/obj-sparc-sun-solaris2.12/mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/pratom.o.pp -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -fno-strict-aliasing -fno-math-errno -pthread -pipe -g -O -fno-omit-frame-pointer -fdiagnostics-color /scratch/firefox/nsprpub/pr/src/misc/pratom.c
9:42.94 /scratch/firefox/nsprpub/pr/src/misc/pratom.c: In function '_MD_INIT_ATOMIC':
9:42.95 /scratch/firefox/nsprpub/pr/src/misc/pratom.c:100:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
9:42.95 for (index = 0; index < num_atomic_locks; index++) {
9:42.95 ^
9:43.16 In file included from /scratch/firefox/js/src/jit/MacroAssembler.h:28:0,
9:43.17 from /scratch/firefox/js/src/jit/BaselineJIT.h:18,
9:43.17 from /scratch/firefox/js/src/vm/TypeInference-inl.h:19,
9:43.17 from /scratch/firefox/js/src/jsobjinlines.h:33,
9:43.17 from /scratch/firefox/js/src/ctypes/CTypes.cpp:50:
9:43.18 /scratch/firefox/js/src/jit/none/MacroAssembler-none.h:51:72: error: converting to 'js::jit::Register' from initializer list would use explicit constructor 'constexpr js::jit::Register::Register(js::jit::Register::Encoding)'
9:43.18 static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
9:43.19 ^
2. Issue two:
---------------
0:47.63 /usr/bin/gcc -std=gnu99 -m32 -o sqlite3.o -c -DNDEBUG=1 -DTRIMMED=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_THREADSAFE=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_DEFAULT_PAGE_SIZE=32768 -DSQLITE_MAX_DEFAULT_PAGE_SIZE=32768 -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_DECLTYPE -I/scratch/firefox/db/sqlite3/src -I/scratch/firefox/obj-sparc-sun-solaris2.12/db/sqlite3/src -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nspr -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nss -fPIC -include /scratch/firefox/obj-sparc-sun-solaris2.12/mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/sqlite3.o.pp -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -fno-strict-aliasi/usr/bin/gcc -std=gnu99 -m32 -o stubdata.o -c -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/system_wrappers -include /scratch/firefox/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -I/scratch/firefox/config/external/icu/stubdata -I/scratch/firefox/obj-sparc-sun-solaris2.12/config/external/icu/stubdata -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nspr -I/scratch/firefox/obj-sparc-sun-solaris2.12/dist/include/nss -fPIC -include /scratch/firefox/obj-sparc-sun-solaris2.12/mozilla-config.h -DMOZILLA_CLIENT -MD -MP -MF .deps/stubdata.o.pp -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -fno-strict-aliasing -fno-math-errno -pthread -pipe -g -O -fno-omit-frame-pointer -fdiagnostics-color /scratch/firefox/intl/icu/source/stubdata/stubdata.c
0:47.63 ng -fno-math-errno -pthread -pipe -g -O -fno-omit-frame-pointer -Wno-sign-compare -Wno-type-limits -fdiagnostics-color /scratch/firefox/db/sqlite3/src/sqlite3.c
0:47.92 libicustubdata.a.desc
0:47.92 rm -f libicustubdata.a
0:47.93 /scratch/firefox/obj-sparc-sun-solaris2.12/_virtualenv/bin/python /scratch/firefox/config/expandlibs_gen.py -o libicustubdata.a.desc stubdata.o
0:48.52 In file included from /scratch/firefox/js/src/jit/IonAnalysis.h:13:0,
0:48.52 from /scratch/firefox/js/src/jsscriptinlines.h:13,
0:48.53 from /scratch/firefox/js/src/frontend/Parser.cpp:43:
0:48.53 /scratch/firefox/js/src/jit/MIR.h: In static member function 'static bool js::jit::MNearbyInt::HasAssemblerSupport(js::jit::RoundingMode)':
0:48.53 /scratch/firefox/js/src/jit/MIR.h:12440:16: error: 'HasRoundInstruction' is not a member of 'js::jit::Assembler'
0:48.53 return Assembler::HasRoundInstruction(mode);
0:48.53 ^
Issue 1 was introduced via Bug 1334504.
Issue 2 was introduced via Bug 1339089.
| Assignee | ||
Comment 1•8 years ago
|
||
Attachment #8881232 -
Flags: review?(bbouvier)
| Assignee | ||
Comment 2•8 years ago
|
||
There is one more issue. executableCopy() can accept just one parameter:
1:06.76 In file included from /scratch/firefox/obj-sparc64-sun-solaris2.12/js/src/Unified_cpp_js_src13.cpp:20:0:
1:06.76 /scratch/firefox/js/src/jit/Ion.cpp: In member function 'void js::jit::JitCode::copyFrom(js::jit::MacroAssembler&)':
1:06.76 /scratch/firefox/js/src/jit/Ion.cpp:756:30: error: no matching function for call to 'js::jit::MacroAssembler::executableCopy(uint8_t*&)'
1:06.76 masm.executableCopy(code_);
1:06.76 ^
Attachment #8881232 -
Attachment is obsolete: true
Attachment #8881232 -
Flags: review?(bbouvier)
Attachment #8881238 -
Flags: review?(bbouvier)
Comment 3•8 years ago
|
||
Comment on attachment 8881238 [details] [diff] [review]
Bug1376268.patch
Review of attachment 8881238 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good, thank you! I'll add another small fix needed on mozilla-inbound and will land this for you. Thanks for the patch!
::: js/src/jit/none/MacroAssembler-none.h
@@ +198,4 @@
> static bool SupportsSimd() { return false; }
> static bool SupportsUnalignedAccesses() { return false; }
>
> + void executableCopy(void*, bool=true) { MOZ_CRASH(); }
For what it's worth, we'd want spaces before/after the equal sign. I'll add them for you.
Attachment #8881238 -
Flags: review?(bbouvier) → review+
Pushed by bbouvier@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/29453e030eaa
Fix Spidermonkey build with no jit backend; r=bbouvier
Updated•8 years ago
|
Component: Untriaged → JavaScript Engine: JIT
Product: Firefox → Core
Comment 5•8 years ago
|
||
| bugherder | ||
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
status-firefox56:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Updated•7 years ago
|
Assignee: nobody → petr.sumbera
You need to log in
before you can comment on or make changes to this bug.
Description
•