Details
-
Bug
-
Resolution: Won't Do
-
P4: Low
-
None
-
4.8.5
-
None
-
Debian GNU/Linux, x86-64
Description
There are 2 embedded copies of JavascriptCore:
src/3rdparty/javascriptcore/
src/3rdparty/webkit/Source/JavascriptCore/
For some reason they are not in sync, and the former is missing some features.
In particular the latter would allow disabling the JIT via an environment variable (JavaScriptCoreDumpJIT), but the former doesn't.
Since the javascript usage in Qt4-Script is not performance critical (most Qt applications aren't web browsers), it would be nice if this could be disabled on a per-application basis (rather than only at compile-time of Qt, like now).
Then you could also run Qt-script-using applications without execmem, and have additional security.
Major examples are KDE's window manager and the Plasma desktop, for both of which the JIT has caused only troubles (see bugreport about memory usage and overcommit), and it'd make sense to disable the JIT for them.
Proposed solution:
1. Do not embed JavascriptCore twice, decide on which one to keep, and use only that.
2. Either choose the JavascriptCore that allows disabling JIT, or backport that functionality to the other javascriptcore
See Debian bugreport about execmem here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=647470