summaryrefslogtreecommitdiff
path: root/src/3rdparty/javascriptcore
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with clang/c++1z due to register keywordSergio Martins2016-01-241-1/+1
| | | | | | | dtoa.cpp:794:5: error: ISO C++1z does not allow 'register' storage class specifier [-Wregister] Change-Id: I800ba0eb11fb55db8600a0eb937689e082c41c31 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix build with MSVC2015.v5.5.0-rc1v5.5.05.5.0Friedemann Kleint2015-05-263-2/+4
| | | | | | | | | - 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>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-03-031-0/+4
|\ | | | | | | Change-Id: I09519da51f8c3cbc927f64f9b1bd7de14b8a1854
| * Detect PowerPC little-endian architecturev5.4.25.4.2Dmitry Shachnev2015-03-011-0/+4
| | | | | | | | | | | | | | | | Cherry-picked from commit 405022cf7bba9bb702b9385dbcb983c789c838b1 in qtwebkit. Change-Id: I3be3719d26e47b182612f254f7117125a8be7f4a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-128-8/+8
|/ | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Iffc10aac2cdaf7c7ceba051ec447f15758c3d8e0 Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* Disable pthread_np.h on BSD w/ GNU libcv5.4.15.4.1Pino Toscano2015-01-121-1/+1
| | | | | | | | pthread_np.h exists on BSD userlands only, so do not enable it on BSD kernels with GNU libc/userland (e.g. GNU/kFreeBSD). Change-Id: Ic9bb2221531322ce425543c85155cfafc5294c41 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-12-171-1/+3
|\ | | | | | | Change-Id: Ia7239e9362ee936303aaa084cba0fd67c5576c48
| * Fix aliasing issues when compiler with non g++ makespecsv5.4.05.4.0Simon Hausmann2014-11-291-1/+3
| | | | | | | | | | | | | | | | | | As it turns out, need -fno-strict-aliasing. It should not only be applied when the mkspec happens to have g++ in its name, we also need it for qnx (qcc) and any other compiler that pretends to be gcc (sets QMAKE_COMPILER to gcc). Change-Id: Id4d152e4fcaa06ecd8acb47a3d8a41997ba82b75 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Fix clang C++11 buildNobuaki Sukegawa2014-12-011-1/+1
|/ | | | | | | | | | clang with "-std=c++11" does not allow implicit conversion from false to null pointer. Although clang with C++03 and gcc with C++03/11 treat it as warning, not error, the conversion was in fact invalid. Change-Id: I92629f9e313d0a00c4d39ce2e539ed140707ad5c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Disable jitted Regexp for Mingw 64 bitv5.4.0-rc1Kai Koehne2014-11-111-0/+3
| | | | | | | | | | | Work around bugs in either the jitted code, or the gcc compiler for Windows that lead to incorrect JavaScript evaluations, most notably in RegExp. This greatly reduces also the number of autotest failures. Task-number: QTBUG-40814 Change-Id: I3045738c8e97b7fc4c12238f1163dd2b844ef877 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
* Fix intel cc buildAllan Sandfeld Jensen2014-10-281-5/+3
| | | | | | | | | | | The Intel compiler gets confused by the choice between std::signbit() and signbit() so we need to remove the using declaration and make the std namespace explicit to help it a little. Change-Id: I0242de9497723cbb2f497f683b41b41fabef0b4c Task-number: QTBUG-42235 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix MinGW build (even more)v5.4.0-beta1Kai Koehne2014-10-012-2/+4
| | | | | | Task-number: QTBUG-41673 Change-Id: If58284dc3c02b80abae759924b3e822842e94ee1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix MinGW64 buildAllan Sandfeld Jensen2014-09-301-1/+3
| | | | | | Task-number: QTBUG-41673 Change-Id: Ic3aa8efefb0425bd68500043e7f44b72cce51313 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix QNX buildAllan Sandfeld Jensen2014-09-291-0/+12
| | | | | | | | Copy the MathExtra QNX workarounds from QtWebKit to QtScript. Change-Id: I95fbeeb6669a69e74f4b8a64b148dc5eff8c8e16 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix C++11 build of qtscriptAllan Sandfeld Jensen2014-09-2616-77/+95
| | | | | | Change-Id: I168347f42b61ff00574f7ccf59cd24f044ea64f7 Task-number: QTBUG-41361 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix DateTime with recent versions of tzdataAllan Sandfeld Jensen2014-09-225-115/+108
| | | | | | | | | An backport of http://trac.webkit.org/changeset/150833 needed for correct time KRAT, YAKT and MOS timezones. Change-Id: I3b5369d1427757c0d638865324a36e43dcaa60bf Task-number: QTBUG-41422 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Packport FreeBSD defines from Platform.h in qtdeclarativev5.4.0-alpha1Lars Knoll2014-09-021-1/+1
| | | | | | | | | This should get QtScript to compile on some more versions of FreeBSD, including DragonFly. Task-number: QTBUG-35880 Change-Id: Ie40cf8d1cc8a676d51694e609ddc9f85d22b9b81 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-291-1/+4
|\ | | | | | | Change-Id: I15ca1dd24c27b5561af6203b542331bb2471379f
| * Work around ICC optimizer bug hoisting conditions out of the loopv5.3.25.3.2Thiago Macieira2014-07-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the first iteration of the loop, span->objects is not null, but becomes null and therefore the entry is removed from the list. When the list is empty, the list header (nonempty_) has next == prev == self and objects is null. So in the second iteration, DLL_IsEmpty should return true. Analysis of the assembly output indicates that the function DLL_IsEmpty (DLL = "doubly linked list") was hoisted out of the loop and its condition was never checked again. Affects: 14.0.3 on Linux, 15 on OS X (EDG and Clang) and Linux Does not affect: 14.0.3 on Windows Intel issue ID: 6000056746 Change-Id: I4439f441d5206a39391b9181baf42160d37bd2f1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix warnings when building with gcc 4.8Allan Sandfeld Jensen2014-07-082-0/+40
|/ | | | | | | | | | This patch adds some warning flags and feature detection from upstream javascriptcore which gets rid of warnings on COMPILE_ASSERT. My upstream patch: http://trac.webkit.org/changeset/146993 Change-Id: Idd38ef39b6f171a1c90763b2d9d000a4d00374ba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix crash when creating a QScriptEngine in a native threadAndy Shaw2014-06-211-1/+2
| | | | | | | | | | | | | | | | | | | | This is technicially a cherry-pick of 4e73732d3e72ea59d39ec5a5c01c2e76bbff7dc1 from 4.8. Somehow this change did not end up in Qt 5. The details below is a copy paste from the original change. 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 Change-Id: If59d7e92998b9f1da98c05b94e7b6c725ada4a75 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compilation under precompiled headers: define _CRT_RAND_Sv5.3.1stable5.3.1Thiago Macieira2014-06-021-0/+2
| | | | | | | | | | | | | | | | | If the macro _CRT_RAND_S is defined, #include <stdlib.h> will define the rand_s function. All was well before the precompiled headers because wtf/config.h was always the first header included in WTF and it #defined at the right place. With precompiled headers, stdlib.h got included from qglobal.h before the #define took place. This was a latent bug because the non-JSC parts of QtScript could have included RandomNumberSeed.h and caused the error. RandomNumberSeed.h(82) : error C3861: 'rand_s': identifier not found Change-Id: I88b4b8670604b35ca694c02522324ac3083ed2b4 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix recursive calling of QScriptProgramv5.3.0-rc1v5.3.0-beta1v5.3.0release5.3.0Lars Knoll2014-03-111-0/+2
| | | | | | | | | | | | 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). Task-number: QTBUG-37317 Change-Id: I83e7efd5f238d021e200258826e2e4a9520c3a7d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix build on x32Allan Sandfeld Jensen2014-03-041-1/+11
| | | | | | | | | | Recognize x32 and disable JIT in this configuration. Task-number: QTBUG-35463 Change-Id: Ie5bf64f22f3e58a9b3f12190cf790ad6c39f415e Reviewed-by: Gregory Hinton Nietsky <gregory@distrotech.co.za> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Android: fix compileBogDan Vatra2014-03-041-8/+1
| | | | | | | | | In early NDKs (previous to 9) Elf32_auxv_t struct was not defined at all. In NDK 9+ Elf32_auxv_t struct is already defined in elf.h and we'll get an error. We need to include asm/procinfo.h for HWCAP_VFP. Change-Id: I1ba30991ea9dd14ad9d7273c58ed6e61cd75255e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Don't pretend to be PLATFORM(IPHONE) or PLATFORM(IPHONE_SIMULATOR)Tor Arne Vestbø2014-02-271-0/+2
| | | | | | | As that ends up triggering other code paths such as JIT on ARM. Change-Id: I14238c0913bd60e07de5015a82bcde0ab08a3a19 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Replace win32-g++ with mingw scopeKai Koehne2014-02-071-1/+1
| | | | | | | | | | Commit 773dd01 in qtbase introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. (see 278152fff for a similar commit in qtbase). Change-Id: If232fdbaacc9ce6a16c269b4c06b81efa196c2d8 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Detect AArch64 architectureRiku Voipio2014-01-081-1/+9
| | | | | | | | | | | | | | Adds WTF platform support for the AArch64 architecture. Patch is based on WebKit-gtk patch done by Riku Voipio, and was cherry-picked and tested by Marcin Juszkiewicz. Task-number: QTBUG-35442 Change-Id: Ie6194f3c430cb6513367a3cdf221a41d60a1ed14 Signed-off-by: Riku Voipio <riku.voipio@iki.fi> Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* JavaScriptCore: c++11 compile fixv5.2.1Tim Blechmann2013-12-051-1/+7
| | | | | | Change-Id: I0de4140323db25765243748dfed8533bca39217c Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix compiler errors.v5.2.0-rc1v5.2.0Erik Verbruggen2013-11-187-12/+24
| | | | | | | | | | | | | | | | | | | | On Mavericks with Apple's Clang 5.0 (3.3 based): ../3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h:320:117: error: non-const reference cannot bind to bit-field 'm_attributesInPrevious' ...add(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), exi... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++11 specific: ../3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h:179:35: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] LineInfo info = { instructions().size(), n->lineNo() }; ^~~~~~~~~~~~~~~~~~~~~ Both occur in multiple places. Task-number: QTBUG-34842 Change-Id: I98a29b51718a6e0db8749ac1b495e071e9fe479d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* use private linkage where possibleOswald Buddenhagen2013-11-011-1/+1
| | | | | Change-Id: I3c0a1ae83615120f9a0cf8202d4facf915decde2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix JavaScriptCore ftbfs on mips64(el)YunQiang Su2013-11-011-1/+21
| | | | | | Task-number: QTBUG-33187 Change-Id: Iaebca6f5095e16c0316549c8a548cfc0a447faf3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation of Qt Script with MSVC 2013.Friedemann Kleint2013-10-241-2/+2
| | | | | | | | 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>
* Bring in WebKit revisions 139553 and 139921.Raphael Kubo da Costa2013-06-111-16/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Change-Id: Ic85cc1cc436477c63d2ebaf4f9ee2dfe7c05839f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation on ARMv5.1.0-beta1Samuli Piippo2013-05-061-3/+3
| | | | | | | | | | | Android fix broke ARM compilation on non-Android Linux platforms. Now correcly define Elf32_auxv_t only on Android/Qt and otherwise include asm/hwcap.h Task-number: QTBUG-30978 Change-Id: I6708acd876d14b869a93a36f7d969e10febbd38b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Bring in WebKit r74029 to fix the build with clang.Raphael Kubo da Costa2013-04-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ Change-Id: Ied16d38431715ef8f1ad9e7d1fae0921500b0ffd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix qtscript build for WEC7 by bringing ce-compat back to Qt5 .Janne Anttila2013-04-241-0/+2
| | | | | | | | | | | | | | JSCore build for WEC7 depends on ce-compat, and apparently it was vanished as a part of Qt modularization or some other cleanup. Copied relevant files and pro file lines form Qt4 back to QtScript repo under 3rdparty folder. Change-Id: Ic710be105df17b44962553ae3b61401b2dd6fab5 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix compile on AndroidBogDan Vatra2013-04-023-7/+20
| | | | | Change-Id: Ide8d4a50169de13e9743f3b2304af2b23c3ce694 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-02-074-5/+5
|\ | | | | | | refs/staging/dev
| * Doc: Fix module name formatSze Howe Koh2013-01-264-5/+5
| | | | | | | | | | | | | | | | | | | | | | Follow the conventions at http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation QtScript -> Qt Script QtScriptTools -> Qt Script Tools Change-Id: Icf6b2ea3829247475f8902334b615f9a9206cc51 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Fix compile error caused by min/max defines.Friedemann Kleint2013-02-051-4/+4
|/ | | | | | | | qtbase d0804ff2dd3d289a0f0c58aa30c4334e66ea9be0 introduces a check for min/max which causes a compile error. Change-Id: I6a79e75423baa3f577eb26697e2766e58040b7d9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add a means to specify that the VM_POOL_SIZE can be 1gb and not 2gbAndy Shaw2013-01-141-0/+4
| | | | | | | | | | | 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>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-108-8/+8
| | | | | | Change-Id: Ic4a2739c8caf2eac95e4a72d8d38cfb912d5fe2b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Fix Math.pow implementation with MinGW-w64Jonathan Liu2013-01-091-7/+23
| | | | | | | Adapted from WebKit changes 137895, 138705, 138894 and 138903. Change-Id: I166f8837e898d17d71ce4e4cab8ab45ea49de39c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* remove obsolete DEPENDPATH assignmentsv5.0.0Oswald Buddenhagen2012-12-162-2/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: I0804385b636d6f5b3b0136cc472a1f9ecb7b7871 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove unnecessary CONFIG additionOswald Buddenhagen2012-12-161-2/+0
| | | | | | | depend_includepath is already added by default_pre.prf. Change-Id: I92aa1f2d1408e4d7cdbfa8c3b24aaaba6c8b4810 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* purge ce-compat referencesOswald Buddenhagen2012-12-123-2/+28
| | | | | | | | adapted from WebKit changes 125004 & 125018. Change-Id: Id051375924ece634acf2c0564a39c2d4b1cebe3c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Change copyrights from Nokia to DigiaSergio Ahumada2012-12-058-8/+8
| | | | | Change-Id: I70a3156710a37b02417c7d6c7c6c1ee222da0281 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* remove symbian vestigesOswald Buddenhagen2012-12-042-17/+3
| | | | | Change-Id: Id4cf97c6ca3b9d4335daf4f32842fb07f51c557e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix mmap usage.Jędrzej Nowacki2012-10-221-2/+2
| | | | | | | | | | Add missing MAP_NORESERVE, and fix error checking. Special thanks to Olivier JG for debugging the issue. Task-number: QTBUG-27322 Change-Id: Ic4d5aa5849b9b5500fd3065aad5c86dd089a850b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>