summaryrefslogtreecommitdiff
path: root/src/3rdparty/javascriptcore/JavaScriptCore/wtf
Commit message (Collapse)AuthorAgeFilesLines
* No need to define c99 math functions in c++11 modeJulien Gueytat2017-01-221-1/+1
| | | | | Change-Id: I1fda733135714a6b4733b04e6ae40354deb6c818 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Eradicate Q_FOREACH loops and mark the module as Q_FOREACH-freeMarc Mutz2016-09-231-1/+1
| | | | | | Change-Id: I13a4ce5c268da2b97cbae6612d240398b17186ef Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-261-2/+2
|\ | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h One side narrowed a QNX define to Dinkum; the other wanted the same kludges applied for Intel. Combine their changes to the condition. Change-Id: Id44102e53a0f96b7318437fb47fa76d8bc1119f3
| * Make some QNX only code Dinkum specificJames McDonnell2016-06-141-1/+1
| | | | | | | | | | | | | | The undefines won't be needed for QNX 7.0 with GNU libc++. Change-Id: I01bc306c5ebb0cb7f508bb7ee2994589f2936201 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * Compile Fix for OpenBSD in C++11 modeRalf Nolden2016-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | Add a __cplusplus condition to an already existing OpenBSD defined part to activate the code only on older gcc compilers. See commit 32e0c5f96dac3f8afe187259929dd87012e1a464 in qtdeclarative. Change-Id: Ia7846f9058ee94bad160651347c128015e21698e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix build with the Intel compilerThiago Macieira2016-07-251-1/+1
|/ | | | | | | | ICC's supplied math.h has #defines for isnan and signbit. So work around that. Change-Id: I149e0540c00745fe8119fffd1463d7473c4c1f8a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* 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-262-1/+3
| | | | | | | | | - 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-126-6/+6
|/ | | | | | | | | 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>
* 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 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-265-29/+48
| | | | | | 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-222-100/+95
| | | | | | | | | 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 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>
* 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>
* 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>
* Fix compiler errors.v5.2.0-rc1v5.2.0Erik Verbruggen2013-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | 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>
* 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 compile on AndroidBogDan Vatra2013-04-022-5/+8
| | | | | Change-Id: Ide8d4a50169de13e9743f3b2304af2b23c3ce694 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-106-6/+6
| | | | | | 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>
* Change copyrights from Nokia to DigiaSergio Ahumada2012-12-056-6/+6
| | | | | Change-Id: I70a3156710a37b02417c7d6c7c6c1ee222da0281 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix MinGW-w64 compilationJonathan Liu2012-09-041-1/+1
| | | | | | | | | | ENABLE_EXECUTABLE_ALLOCATOR_FIXED requires sys/mman.h which is not available with MinGW-w64. Change-Id: I6e76ce0c570e5819657debf813f0e80cef907dd4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Yuchen Deng <loaden@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Suppress JavaScriptCore 'LEAK' messages at application exitKent Hansen2012-08-131-0/+2
| | | | | | | | | | | | | | | | | | In debug mode, if a QScriptEngine was never destroyed, JavaScriptCore would output a message like LEAK: 120 Structure on stderr at exit. This is not terribly helpful to users; also, it's not common for Qt classes to produce such output. Since JavaScriptCore's only usage of the logging facility is for reporting these "leaks", we can disable logging altogether. Task-number: QTBUG-18201 Change-Id: Id598bd1f48129d821a954cc49d8e3ab715d78426 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix JIT crash on x86-64 (avoid 32-bit branch offset overflow)Kent Hansen2012-08-061-0/+10
| | | | | | | | | Cherry-picked from webkit commit a5b3261a8c4386b4e14ce40a34c7fc933a5f7001 Task-number: QTBUG-23871 Change-Id: Ia028fe072b349e3a7883ae0f6f7298941cc1bc9e Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Compile with clang's libc++Bradley T. Hughes2012-06-231-2/+2
| | | | | | | | | | | | | | 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). Change-Id: I20ffe5a745900d1cfa1e489ebf4376e454eded5f Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix possible type collision with ICUKonstantin Ritt2012-06-151-1/+1
| | | | | | | | | | | see https://bugs.gentoo.org/show_bug.cgi?id=407315 The UChar32 is declared as signed 32-bit int since ICU 2.4, no chance they'll fix their code. Change-Id: I9691507c8ca14a04610e9b13ae13f416929ffa08 Reviewed-by: Davide Pesavento <davidepesa@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Skip a test case that started failing after the upgrade to Unicode 6.1Konstantin Ritt2012-06-151-141/+47
| | | | | | | | | | | U+10C1 and U+10CD has been added in the Unicode 6.1 and assigned with general category Lu (Uppercase Letter). toLower(Lu) can never be Lu, thus the failing testcases are just wrong -> omit them. This also avoids using of QUnicodeTables internals in JSC. Change-Id: I6aa6dab686dc3e3556ebe83c395c5d93e42cfb4f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed MSVC2011 buildAndreas Holzammer2012-05-163-5/+5
| | | | | | | | | | | | 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 Change-Id: I77a1fe4b137480b51c24267b7aacb5b688dbddb3 (Partially cherry picked from commit 9a06d491e8e63293e4cc877b00f3a59188283785) Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Kervala <kervala@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Revert "JSCore build fix for WEC7"Andreas Holzammer2012-05-101-11/+0
| | | | | | | | | | | | | | | It's reverted, as 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. This reverts commit 8b65d84145f0f415d0963caa7b49da07ac67148d. Change-Id: Ic00d87777e822d9a7c2ee16ce60cad3782293245 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* JSCore build fix for WEC7Janne Anttila2012-04-191-0/+11
| | | | | | | | | | | 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> (cherry picked from commit 7f8612853273f9dc120a7bc096f10821eb48fd2b)
* WEC7 build fix - use ptrdiff_t from std namespace.Janne Anttila2012-04-191-1/+1
| | | | | | | | | | | | 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> (cherry picked from commit 9912af2108398b8633f91300c455455f6e16e482)
* Fix compilation on QNX.Sean Harmer2012-02-072-2/+10
| | | | | | | | | Cherry picked commit 144de35b8c770d6698e1e6a11a37cbcc24ca4e8b from Qt 4.8 Change-Id: I6880436b54cc1c8ab6ecb64727316f422dcf5ee8 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-093-3/+3
| | | | | Change-Id: I323b788326712d95f6213ab8a68c18cfe28b7c76 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Initial import from the monolithic Qt.Qt by Nokia2011-04-27110-0/+29280
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12