| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
- Remove os-win32 from the include path since the system headers
are now sufficient.
- Introduce some #if depending on version for traits and snprintf().
Change-Id: I290b2260e3c1595a7940c76ec2d9a4372709b156
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
(cherry picked from qtscript/c095135d047db6190beafab48d083b00ec82f2d8)
|
|
|
|
|
|
|
|
|
| |
An backport of http://trac.webkit.org/changeset/150833 needed for
correct time KRAT, YAKT and MOS timezones.
Task-number: QTBUG-41422
Change-Id: I6e9d1db690fee8d77faa1d76c836bd7b345ce854
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to 0de22e8 and 427d50d: the former was not just a cleanup
commit, and part of the changes reverted in the latter actually broke
the build with libc++ again: clang defines __GNUC__ for compatibility
with GCC, but if libc++ is used ext/atomicity.h does not exist.
Change-Id: Id86646d38b7bc62dbe0731f8f32efb2353335210
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first time a QScriptProgram is evaluated, it gets compiled and
then executed. If the execution would somehow trigger another
evaluation of the script program, it would run into the compile
stage again (even though it already was compiled), and then trigger
and assertion in debug mode (or leak memory in release builds).
Backport of 08d9ef715265d33f4cf04693b0787fd75994dc42 from Qt 5.
Task-number: QTBUG-37317
Change-Id: I83e7efd5f238d021e200258826e2e4a9520c3a7d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from qtscript commit 2e049836ee16f4aedbe7ccc3335fc5.
Change-Id: I8d9fdeceb62f4de4eb9bd74ae45bb33a641ef5cc
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Since building for Carbon typically uses older versions of gcc on older
versions of Mac, then we need to revert
0de22e80ac645afc3793419300d6271d95809196 partially in order to fix this.
Since the original code was just a cleanup then this is safe to do so.
Change-Id: I5dd8fe99704ffac66ac3384b62849fa8162ca82d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fix do not apply to Qt 5 because qtscript has been already patched
in 408847dcdfe1d407cd85616e8f595fb5ea25ca46
Task-number: QTBUG-35030
Change-Id: I0eb71aa875afef9eee15a203b9bd24f5395a3463
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: YunQiang Su <wzssyqa@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
Starting with MSVC 2013, more functions are provided.
Change-Id: Iabbc9a94e7ed01584baaa1bb17c06e41ac70830f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
(cherry picked from qtscript/24d678ce9c3996f46d1069c2b1193e7ec1083fc8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What Qt is calling the stackbase is the top of the stack.
The thread local storage [__tls()] area is at the top of the stack
and the stack pointer is initialized below this on thread
creation.
With this patch, the stack base pointer can be retrieved faster then in
the current implementation.
This patch is from Sean Boudreau.
Change-Id: I3d1ac58d5c43997cbf462424c66be0c7caafcf1b
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are primarily useful for getting rid of some libstdc++-specific
includes which break the build with libc++, and also for simplifying the
code and removing a Darwin-specific code path.
r139553 by ossy@webkit.org:
Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add
https://bugs.webkit.org/show_bug.cgi?id=106729
After r139514 we need atomicIncrement(int64_t volatile*) for all
platform. Now the GCC implementation of atomicIncrement() is based on
gnu_cxx::exchange_and_add, which doesn't support int64_t type, but
sync_add_and_fetch does.
Reviewed by Benjamin Poulain.
r139921 by benjamin@webkit.org:
Use GCC's implementation of atomicIncrement/Decrement on Mac
https://bugs.webkit.org/show_bug.cgi?id=106976
Reviewed by Filip Pizlo.
wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB:
sync_add_and_fetch, sync_sub_and_fetch.
Using them let the compiler just generate the atomic operations inline
instead of generating a function call to LibC. It also simplify the
code a bit.
Cherry-picked from qtscript/184fc178f4c753727445694c4830c250f53da588.
Change-Id: Id785e35944682691725947e0f329668d17ff6903
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An overload for std::swap() what works with std::pair<A,B> is included
in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by
omitting the version there and using the std::swap() version.
Collector.cpp needs to include pthread.h directly, as it is not
automatically included by libc++'s headers (libstdc++ does pull in
pthread.h though).
Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8.
Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
------------------------------------------------------------------------
r74029 | cwzwarich@webkit.org | 2010-12-14 18:57:14 +0200 (Tue, 14 Dec 2010) | 12 lines
Reviewed by Eric Seidel.
Clang fails to build the JSC interpreter
https://bugs.webkit.org/show_bug.cgi?id=51016
Clang does not allow indirect gotos out of scopes with cleanup. GCC 4.2 allows
them, but it does not correctly generate the cleanup, causing a leak if the
cleanup decrements a reference count.
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute): Put an Identifier into its own scope.
------------------------------------------------------------------------
Cherry-picked from qtscript/c85662167123b433a69a662212c67ce03e44a25a.
Change-Id: I21ee882961264d131cebdee04cb641c0d0de3d18
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I's reverted, because there seems to be at least two
implementations of the stl in WEC7. One for each BSP SDK
and one shipped with the compiler, which is in this
case Visual Studio 2008. The Compiler has a stl with std::min
etc. Visual Studio GUI also uses the compiler version of
the stl first. It seems to be that the environment was
setup wrongly. Checksdk also uses the right order.
The same patch is reverted for Qt5 as well:
https://codereview.qt-project.org/25482
This reverts commit 1fba05343eb6fea40f6617a62e31e10a0e918ec2
Change-Id: I956cc6f0669c67a094a2af464f8aa719a137a7a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to a reported problem where the reserving of 2gb was too big under
certain circumstances then in order to provide a means for people who
hit this problem a define is added so that the VM_POOL_SIZE is set to be
1gb instead. This is an optional define and the default is for the size
to be 2gb which keeps it to current behavior.
Change-Id: I73200e1bcfcf7b37c6ba62f8b7bcf217f239dfcb
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
(cherry picked from commit f32c98f4876fd6f4d28d710d6ee1d59707b2ac62)
|
|
|
|
|
|
|
|
|
|
| |
Add missing MAP_NORESERVE and fix error checking.
Special thanks to Olivier JG for debugging the issue.
Task-number: QTBUG-27322
Change-Id: Ia9f4aa80415f0127318714912b524131a5b0f18a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
- Assigned/Unused variables.
- Unsigned comparison >= 0 is always true.
- Constructor initialization order.
- Signed/Unsigned comparisons.
Change-Id: I1f9edab0506573420ed0bf3055252ba48625c8eb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
|
|
| |
ENABLE_EXECUTABLE_ALLOCATOR_FIXED requires sys/mman.h which is not
available with MinGW-w64.
Change-Id: I6e76ce0c570e5819657debf813f0e80cef907dd4
(cherry picked from commit 02c37f59839b7bb36b231560893fa3bccbecc065)
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces memory consumption of an application quite a bit.
This is a backport of 3958828af8ee5cc046c664d8d8e483314eac06cb from
qtjsbackend.
At the same time, it is a backport of upstream commit
http://trac.webkit.org/changeset/111234, although the patch is quite
different as upstream and Qt's JSC have diverged a lot.
Change-Id: Ia76359ae614ddd4aeda9c7c7b012e5809b50074d
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from webkit commit
a5b3261a8c4386b4e14ce40a34c7fc933a5f7001
Task-number: QTBUG-23871
Change-Id: Ia028fe072b349e3a7883ae0f6f7298941cc1bc9e
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
(cherry picked from commit 79ebd39d0d4846cb911ae122d2059e5add568d7e in qtscript)
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Even if getPropertyDescriptor() returns true, it's not guaranteed
that PropertyDescriptor::setter() or PropertyDescriptor::value()
returns a valid JSC value.
This code is in an "#ifdef QT_BUILD_SCRIPT_LIB" block, i.e. a
patch we added on top of the original JSC sources.
The lack of checks caused the getter-in-prototype and
indexed-accessors tests from the V8 test suite to assert in
debug mode.
Cherry-picked from qt5/qtscript commit
db17c14cace450e20745839014075c0263f8618f
Task-number: QTBUG-17915
Change-Id: I55db26cfe4b63363be92a0b75f2c69b878ea9ef3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correction to assert in AlignedBlockAllocator contructor. It had a typo,
leading to assert against uninitialized data, which succeeded in all
other environments, except in emulator urel version (which zeroes heap
allocations).
Task-number: ou1cimx1#998546
Change-Id: I9b8a76f1871287263483cfe09b1e962570f9990d
Reviewed-by: Pauli Järvinen <ext-pauli.p.jarvinen@nokia.com>
Reviewed-by: Murray Read <ext-murray.2.read@nokia.com>
Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JavaScriptCore is reserving 128MB address space for each instance
of JSGlobalData that is created in an app. Eg there is one per
QDeclarativeView, via QDeclarativeEngine, via QScriptEngine.
This can contribute to the app running out
of address space and then crashing.
The AlignedBlockAllocator is modified to be a process singleton so that
all JSGlobalData objects share the same instance.
Now there is only one 128MB address space reservation.
Task-number: ou1cimx1#993804
Change-Id: I9e8702810541905d5e9be197a5f6a9fe8e9bd0c5
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
|
|
|
|
|
|
|
|
| |
taken from http://qt-project.org/forums/viewthread/15071
Change-Id: I701fb5a8d754afe9fcd6b327d779365673e07b5d
Reviewed-by: Alexis Menard <alexis.menard@openbossa.org>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It consists of 2 fixes:
1. JavaScriptCore fix is relevant to changed ctor of the std::pair in
C++11. Due to that change some code has been broken. Fix makes using
std::pair compliant to both standards
2. Clucene is broken in MVS2011 due to changed stdext::hash_map which
is used as the ancestor in inner CLucene classes. It ended up with
names collision and double inheritance from the one base class.
Fix reflects that change.
Change-Id: I77a1fe4b137480b51c24267b7aacb5b688dbddb3
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Kervala <kervala@gmail.com>
Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
WEC7 does not have ptrdiff_t outside std namespace, switched to use
ptrdiff_t from std namespace correspondingly as OwnArrayPtr.h does in
operator[].
Task-number: QTBUG-22502
Change-Id: I5c2ffd271cccd12c1fcdca3975ace3e8224e00bf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
WEC7 does not have std::ptrdiff_t type and std::min/std::max,
introduced the missing types and functions in JSCore platform.h
Task-number: QTBUG-22497
Change-Id: I0bf2bff2a80bdff36253f233b30cc95e1c772e23
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
Moved WINCE specific code before desktop windows code. This is needed because
in WinCE both OS(WINCE) and OS(WINDOWS) are true.
Task-number: QTBUG-22502
Change-Id: Icf9ad1a155dc705e37e5e057bb23bc7f5c2d4931
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
| |
Change-Id: I89d72b2b1c166b826d4367bcb1384c2c5263d5f4
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change in http://trac.webkit.org/changeset/48412/ introduced a fix
to avoid leaking thread specific data by ensuring get() on ThreadSpecific
works even during the thread destruction phase. The fix worked by setting the
local data again.
However as we can see in the backtrace from QTBUG-22926, the local data should
not be set unconditionally, otherwise our destroy function will be called
recursively when the local data is still set.
Task-number: QTBUG-22926
Reviewed-by: Kent Hansen
Tested-and-Reviewed-by: Andy Shaw
|
|
|
|
|
|
|
|
| |
Save and restore the r8 register properly.
Backport of http://trac.webkit.org/changeset/65242 from WebKit trunk
Reviewed-by: Jedrzej Nowacki
|
|
|
|
|
| |
Reviewed-by: Jedrzej Nowacki
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When QtScript is built without NDEBUG defined, the
tst_QScriptEngine::abortEvaluation() test would assert.
This was due to commit
716e0284c8f569d71e42354fd6fc3b965233e019, which fixed
the tst_QScriptEngine::throwErrorFromProcessEvents()
autotest for a script containing an infinite while-loop
with an empty body.
The CHECK_FOR_EXCEPTION_AT_END() that we added should only
be done if the timeout checker did not report a timeout;
otherwise the JSC state becomes corrupted due to
returnToThrowTrampoline() being called twice. This caused
an assert later when calculating the line number of the
exception.
Also add test cases for scripts with try-catch statements.
For abortEvaluation(), scripts should not be able to
observe (i.e. catch) the interrupted exception, but if
an error is thrown using QScriptContext::throwError(), the
script should be able to catch it.
Task-number: QTBUG-17854
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating a substring, JSC::UStringImpl required that the
base string pointer was 8-byte aligned. However, on platforms
where FastMalloc isn't enabled (such as Symbian), it's possible
that the system malloc() returns a pointer that is only 4-byte
aligned. (On Symbian, this can happen if the argument to malloc()
itself isn't a multiple of 8.)
Cherry-picked http://trac.webkit.org/changeset/54743 from WebKit
trunk, which fixes this issue. (The commit happened shortly after
we rebased QtScript/JSC for 4.7, so it applies cleanly to our copy.)
Task-number: QTBUG-16828
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from http://trac.webkit.org/changeset/56370
The old allocator caused QML to crash in MCL (TB10.1, week 1).
Task-number: QTBUG-14293
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
| |
This reverts commit 7db489a0de073a2a56fe32d16f1cbe1bebdfd06d.
The change to CollectorHeapIterator.h is not Symbian-specific and
it introduced test failures on all platforms
(tst_QScriptEngineAgent::positionChange_3()).
|
|
|
|
|
|
|
|
|
| |
Cherry-picked from http://trac.webkit.org/changeset/56370
The old allocator caused QML to crash in MCL (TB10.1, week 1).
Task-number: QTBUG-14293
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reserved (virtual) size of the chunk is not necessarily a
multiple of the "pool" size (the physical growth increment).
The reserved size is only rounded up to a multiple of the page
size (4K), not the pool size (64K).
This meant that the commit of the _last_ part of the chunk could
(and did) fail, because we tried to commit 64K while only a size
<64K was remaining.
Detect this case and reduce the requested size accordingly.
Also add a call to CRASH() in case Commit() returns an error,
to avoid obscure crashes in JSC at a later point (grow() must
not fail).
Task-number: QTBUG-16685
Reviewed-by: Simon Hausmann
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
| |
Backported changes:
|| <https://webkit.org/b/38719> || JavaScriptCore/wtf/RandomNumber.h should provide using WTF::* ||
|| <https://webkit.org/b/41868> || Don't seed the JS random number generator from time() ||
Task-number: QTBUG-13440
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backport of Jay's patch from https://bugs.webkit.org/show_bug.cgi?id=34349
with minor modifications.
Even though the original patch was rejected upstream and has been
superseded by the patches for https://bugs.webkit.org/show_bug.cgi?id=43185,
those patches are more involved (affecting all platforms), hence
difficult/risky to backport.
Task-number: QTBUG-13361
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recompile all the function is necessary to ger the debug opcode that
notifies us when the position changes.
The change in CollectorHeapIterator.h is nessesary to get it work as
Debugger::recompileAllJSFunctions uses LiveObjectIterator,
LiveObjectIterator initialied m_cell to -1 and to ++(*this) in its
constructor. But as m_cell is of type size_t (unsigned) then the
< comparison will always fail as it is an unsigned comparison.
This was already fixed upstream in r54672
Reviewed-by: Jedrzej Nowacki
|
|
|
|
|
|
|
|
|
| |
to javascriptcore-snapshot-28062010 ( 0fccd26d3624e80cf68873701ef70ad72ca66bec )
Changes in this update:
- Fix Mac OS SnowLeopard-vs-Leopard deployment issue
- Fix compilation with Intel compiler
|
|
|
|
|
|
|
| |
to javascriptcore-snapshot-28062010 ( f483443ccd7d21f2a57a794c4d00a63505d2f5d9 )
Revert our workaround for Mac OS VM tags issue, since it was fixed
properly in r57583 (cherry-picked in 528ffd602cc5a501713cd768df0cf6870a36ddad)
|
|
|
|
|
|
|
|
| |
to javascriptcore-snapshot-16062010 ( 8b2d3443afca194f8ac50a63151dc9d19a150582 )
Integrated changes:
|| <https://webkit.org/b/37195> || JSC's currentThreadStackBase is not reentrant on some platforms
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The scope "win32-g++" comes from the name of the makespec. However, it
is frequently used to check for MinGW. This works fine as long as
win32-g++ is the only makespec for MinGW. Now we need the wildcard
to cover "win32-g++-cross" as well.
Also reordered test of win32 before win32-g++*.
Also took opportunity to use else.
Merge-request: 2407
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
| |
JavaScriptCore and QtWebKit JIT symbols were clashing. Hide the new
thunk functions that DEFINE_STUB_FUNCTION declares.
Reviewed-by: Tapani Mikola <tapani.mikola@nokia.com>
|
|
|
|
|
|
|
|
| |
to javascriptcore-snapshot-19052010 ( 8039ba79702d6516cf6841c9f15b324ec499bbf3 )
Changes since last update:
Mingw-w64 fixes
|
|
|
|
| |
Cherry-picked from WebKit trunk.
|
|
|
|
|
| |
It actually broke the build on Mac; another cherry-pick
missing maybe. Reverted for now.
|
|
|
|
|
|
|
| |
to javascriptcore-snapshot-07042010 ( 475f8c67522d8b3f3163dc3a6b24d6083fd0ac19 )
https://bugs.webkit.org/show_bug.cgi?id=36742
gcc for Symbian doesn't support gcc extensions like atomicity.h - disable
|