Date: Mon, 22 Nov 2010 17:19:17 +0300 From: Anonymous <swell.k@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/152477: [patch] www/firefox-devel: enable tracejit on amd64 Message-ID: <86aal17862.fsf@gmail.com> Resent-Message-ID: <201011221420.oAMEKGNH054527@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 152477 >Category: ports >Synopsis: [patch] www/firefox-devel: enable tracejit on amd64 >Confidential: no >Severity: non-critical >Priority: low >Responsible: gecko >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Nov 22 14:20:15 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Anonymous >Release: FreeBSD 9.0-CURRENT amd64 >Organization: >Environment: mozilla trunk (57991:395e62c37851) wants JS_TRACER: $ make gmake[3]: Entering directory `/usr/ports/www/firefox-devel/work/mozilla-central/js/src' jsarray.cpp g++45 -o jsarray.o -c -I./../../dist/system_wrappers_js -include ./config/gcc_hidden.h -DOSTYPE=\"FreeBSD9\" -DOSARCH=FreeBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DFREEBSD -Ictypes/libffi/include -I. -I. -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/local/include -I/usr/local/include/nspr -I. -I./assembler -I./yarr -fPIC -I/usr/local/include -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -O2 -pipe -O3 -ggdb -fstack-protector -march=native -fno-strict-aliasing -fno-strict-aliasing -pipe -DNDEBUG -DTRIMMED -O3 -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -I/usr/local/include -DMOZILLA_CLIENT -include ./js-confdefs.h jsarray.cpp jsarray.cpp: In function 'JSBool js_ArrayCompPush_tn(JSContext*, JSObject*, js::ValueArgType)': jsarray.cpp:2058:27: error: 'SetBuiltinError' was not declared in this scope jsarray.cpp:2062:16: error: 'struct JSContext' has no member named 'tracerState' jsarray.cpp:2063:1: error: control reaches end of non-void function It's not present in beta7 but the underlying issue is still there. >Description: Due to our default CONFIGURE_TARGET tracejit ends up disabled by default case "$target" in x86_64*-*) ENABLE_TRACEJIT=1 NANOJIT_ARCH=X64 ENABLE_METHODJIT=1 ENABLE_MONOIC=1 ENABLE_POLYIC=1 AC_DEFINE(JS_CPU_X64) AC_DEFINE(JS_PUNBOX64) ;; I wonder how it affects performance. >How-To-Repeat: $ make clean configure $ cp $(make -V WRKSRC)/js/src/js-config.h amd64.js-config.h $ make clean configure CONFIGURE_TARGET=x86_64-portbld-freebsd9.0 $ cp $(make -V WRKSRC)/js/src/js-config.h x86_64.js-config.h $ diff {amd64,x86_64}.js-config.h --- amd64.js-config.h +++ x86_64.js-config.h @@ -86,7 +86,7 @@ /* Some mozilla code uses JS-friend APIs that depend on JS_TRACER and JS_METHODJIT being correct. */ -/* #undef JS_TRACER */ -/* #undef JS_METHODJIT */ +#define JS_TRACER 1 +#define JS_METHODJIT 1 #endif /* js_config_h___ */ >Fix: --- a.diff begins here --- Index: www/firefox-devel/files/patch-js-src-configure.in =================================================================== --- www/firefox-devel/files/patch-js-src-configure.in (revision 436) +++ www/firefox-devel/files/patch-js-src-configure.in (working copy) @@ -1,5 +1,14 @@ --- js/src/configure.in.orig 2010-11-09 13:03:31.000000000 +0100 +++ js/src/configure.in 2010-11-09 13:03:46.000000000 +0100 +@@ -2621,7 +2621,7 @@ i?86-*) + AC_DEFINE(JS_CPU_X86) + AC_DEFINE(JS_NUNBOX32) + ;; +-x86_64*-*) ++x86_64*-*|amd64*-*) + ENABLE_TRACEJIT=1 + NANOJIT_ARCH=X64 + ENABLE_METHODJIT=1 @@ -2638,11 +2638,6 @@ AC_DEFINE(JS_CPU_ARM) AC_DEFINE(JS_NUNBOX32) --- a.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86aal17862.fsf>