| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
BUG: https://bugreports.qt-project.org/browse/QTBUG-31396
Change-Id: If9b236f24ed82f4b6b19a2af938b422c68e5eab8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
(cherry picked from commit 91f936a862644c7ca7a1762ad05cc91d263b808e)
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Liang Qi <liang.qi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When v8 tries to inline a local function which has been flagged
is_qml_global, the assert "CHECK(location_ != __null)" fails.
This happens because of the early out in RecordTypeFeedback for
is_qml_global. I've limited the early out to UNALLOCATED
variables with is_qml_global.
bug: https://bugreports.qt-project.org/browse/QTBUG-31366
Change-Id: I360ef1a05a970589159686cf3100cb70de9ae29d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
These methods were used in QtDeclarative but more "V8-friendly"
implementations are used now.
This change should be squashed into the "[V8] Add hashing and comparison
methods to v8::String" commit (566a226893aaba42d7e1f5522b9d80c1cc9dc2a3)
in the next V8 rebase.
Change-Id: I996480619b6622060c725d88015223f28336ae64
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
The Windows CE compiler does not add WIN32 define,
which would be needed.
Change-Id: I20ce48b649939511f27d59b9df449c715bb6562b
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Due to some include header orderings the NOMINMAX
gets defined too late for Windows CE. So set
this from compiler call.
Change-Id: I755309e254e97809860484cf0543221d233d8cc2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Include the windows headers first so that the
ASSERTION macro can be overwritten of the version
of V8.
Change-Id: I006e75a90586ea28bf15fc0d3686585429c11975
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Disable inline cache optimization because
calling convention looks different.
Change-Id: I719ff4860164ec6919cc5501d71c4a2b6fab110c
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
| |
Change-Id: I98524d2d6d255197f706e0aae60858dd2d0b283b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Implement CountTrailingZeros and CountLeadingZeros
Change-Id: I1cb3af7cdb95c9b4f0aa4405be1b480f0c961012
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
|
|
| |
For Windows CE the multimedia resist in mmtimer
Library, so link against this.
Change-Id: I711b5d368ca0d515c99c9e507ee64639171c79f4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some platforms are defining symbols to
something useful to them, but this breaks
the V8 build.
Change-Id: Ie65f2d772f8ef7b2f1b178ad67ac9d42df66a8ed
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to the fact that Windows CE defines File
to something very similar to const char *, the
compiler cannot differentiate anymore between
File* and const char*, so the function needs to
be renamed. In the std these function also is
called fprintf, so it seems to be a well known
problem.
Change-Id: I1d7d44a6325ec9f3de4b7496ae0a2d4ceb0512e6
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/v8/src/platform-linux.cc
src/3rdparty/v8/src/platform-qnx.cc
Change-Id: I1b41564f2d52481335a5d3b2a931c77f9b03c903
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Upstream Patch: https://chromiumcodereview.appspot.com/10713009
Task-Number: QTBUG-28890
Change-Id: Id073388fbbffa2ad9b1cea0ab42e1d6e47862a36
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/dev
|
| |\ \
| | |/
| | |
| | | |
Change-Id: I0734777814bd9ea61b20e4bacc22900494b516ac
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Windows XP does not provide secure API functions in msvcrt.dll but
newer versions of Windows do. Avoid using secure API functions for
compatibility with msvcrt.dll on Windows XP.
Upstream patches:
- https://chromiumcodereview.appspot.com/12189010/
- https://chromiumcodereview.appspot.com/12210033/
Task-number: QTBUG-29306
Change-Id: I5bbd04dcb7bf46ad0246d120189b637a7d2e5422
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While we haven't been able to figure out why, this assert was
added recently and causes all QML apps to crash on Android ARM
(expected: 16, actual: 20). We just comment it out for now to
work around the crash.
Change-Id: I46b450e889d63150b14a8a939b87b42322cf83e9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The recent update of v8 added some functions that needed to be
implemented, as otherwise v8 wouldn't compile anymore.
Change-Id: Ic3d19f051059cb559b5cbab6d6c078df7627ea97
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\ \
| |/
| |
| | |
Change-Id: I5973d2b84a0b2690b4b7f8dc37711c7dfd106180
|
| |
| |
| |
| |
| |
| | |
Change-Id: I96c696a2318ae4959af9d56e2c8d943e00542fa0
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The pow() workaround is no longer needed in the latest version of
MinGW-w64.
Upstream patch: https://chromiumcodereview.appspot.com/11748033/
Change-Id: I3572a3be2e532ef1e4c728170641f772312c68b7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the following sources to v8.pri:
* elements-kind.cc
* optimizing-compiler-thread.cc
* transition.cc
* extensions/statistics-extension.cc
Change-Id: I086c19a8a5b92967845e51e372b144875e70a927
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ReserveRegion() did allocate all memory, instead of just reserve it.
Use MAP_LAZY to only reserve, but not commit memory. MAP_NORESERVE is
not available on QNX.
This is now the same mechanism also used in JSC's memory allocator on
QNX.
Change-Id: I3cbfb26c83d13f69a37874961ad9b98a0b3bb2c7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
error: 'random' was not declared in this scope
WIN32 is not defined on C++11 mode, but _WIN32 is defined.
Simply change WIN32 to _WIN32 is enough
Change-Id: Id145de58bea2613c1a86f49a67303b39cb6fdd2c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents an assertion in ScopedLock on QNX following the recent
V8 version bump.
Change-Id: I34ec016847abfbaa477bf80e49b5714638ddcbdb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed to not have unresolved symbols following a V8 version
bump.
Change-Id: I6f98573c08cdb803f691678d3986a2ed87038cdb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id2323606334bd47da8532cd9a800626ec259e314
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I27bf62fba0219903d6c9aebd287de7091e4237f9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Should be disabled for now due to regressions in QtDeclarative auto
tests.
Change-Id: I8cf96e6f7eba6410e57a186e11a1c4432798ac72
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Issue reported upstream at:
http://code.google.com/p/v8/issues/detail?id=1885
http://code.google.com/p/v8/issues/detail?id=689
Change-Id: If651c5f68dc9d425f4fb086e57205d79f4b68878
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This submission is based on code originally contributed by Jeff Rogers <jrogers@rim.com> with permission from Research in
Motion.
We have tried to make this change as unobtrusive as possible. For example in the atomic_ops.h header we have added a
conditional include for a qnx-specific atomicops_internals_arm_qnx.h as the existing atomicops_internals_arm_gcc.h is
actually Linux-specific despite the name of the file. In the longer term it would make sense to use an asm implementation
that is only dependent upon the CPU rather than OS-specific system calls. See qtbase/src/corelib/arch/qatomic_armv*.h
for a good reference.
Here we decided not to risk breaking existing platforms for the initial introduction of this new platform.
The QNX platform integration is built on top of the posix base.
Change-Id: Ie2a591bf1876915ca062034b22124ab27ff6d127
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a flag that prevents v8 from relocating breakpoints across
line boundaries.
Change-Id: I4e6b260923f9115dc506834478f4d78cf34bae19
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I1a910d5518964ceb9c2f41b56ede56027d8edc2e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I4dcaec52357b3db3dd40f651848768ef41b7ebfa
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New function v8::Value::IsError was created.
This API is experimental and added only for the purposes of our
research.
Change-Id: Ie9c75681f956a43944c95737b8a2fb57a699df97
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Native scripts do not appear in backtraces, or in the source and
line number when exceptions are thrown from within them. This is
useful to be able to write code in JavaScript instead of C++ and
still have it appear sensibly to the user.
Change-Id: I20d03178c03d994c090a4a9fdebabf4fe824a6fa
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A global custom object comparison callback can be set with:
V8::SetUserObjectComparisonCallbackFunction()
When two JSObjects are compared (== or !=), if either one has
the MarkAsUseUserObjectComparison() bit set, the custom comparison
callback is invoked to do the actual comparison.
This is useful when you have "value" objects that you want to
compare as equal, even though they are actually different JS object
instances.
Change-Id: I5c031b4d90c8a77f4c4ffa38270976397322db76
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I1fcb08b1d92a3c9ab65fac7a6621588c2bf1c248
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In QML mode, there is a second global object - known as the QML
global object. During property resolution, if a property is not
present on the JS global object, it is resolved on the QML global
object.
This global object behavior is only enabled if a script is being
compiled in QML mode. The object to use as the QML global object
is passed as a parameter to the Script::Run() method. Any function
closures etc. created during the run will retain a reference to this
object, so different objects can be passed in different script
runs.
Change-Id: I75d6f8173260e0d4933fd33ad16a277542048f09
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
V8 was already able to manage and finalize an external string
resource. This change generalizes that mechanism to handle a
single generic external resource - a v8::Object::ExternalResource
derived instance - on normal JSObject's.
This is useful for mapping C++ objects to JS objects where the
C++ object's memory is effectively owned by the JS Object, and
thus needs to destroyed when the JS Object is garbage collected.
The V8 mailing list suggests using a weak persistent handle for
this purpose, but that seems to incur a fairly massive performance
penalty for short lived objects as weak persistent handle callbacks
are not called until the object has been promoted into the old
object space.
Change-Id: Idd4474634d21bf4e021f1ccfb0d6a855ee80bed8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default interceptors are called before the normal property
resolution on objects. When an interceptor is installed as a
"fallback" interceptor, it is only called if the object doesn't
already have the property.
In the case of a global object having an fallback interceptor,
the interceptor is not invoked at all for var or function
declarations.
Change-Id: Iac09d4243b0407a7b3e9ba9149f8d447b7af7766
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to more rapidly search for a v8::String inside a hash
of QStrings.
Change-Id: I8f7d7499b02103f346ef02a1e2c70033a0619fbe
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2215c442af2f0a4fce076e35ea061486d62778a1
Update V8 source to version 3.15.2
* Performance and stability improvements on all platforms.
* Avoid overdeep recursion in regexp where a guarded expression with a
minimum repetition count is inside another quantifier.
* Exposed last seen heap object id via v8 public api.
* Implemented heap profiler memory usage reporting.
* Preserved error message during finally block in try..finally.
* Improved heuristics to keep objects in fast mode with inherited
constructors.
* Fixed lazy sweeping heuristics to prevent old-space expansion.
* Fixed sharing of literal boilerplates for optimized code.
* Expose more detailed memory statistics.
* Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
* Report "hidden properties" in heap profiler for properties case.
* Added optimizing compiler support for JavaScript getters.
* Fixed computation of call targets on prototypes in Crankshaft.
* Fixed ICs for slow objects with native accessor.
* Fixed transcendental cache on ARM in optimized code (issue 2234).
* New heap inspection tools: counters for object sizes and counts,
histograms for external fragmentation.
* Added more support for heap analysis.
* Interpret negative hexadecimal literals as NaN. (issue 2240)
* Improved API calls that return empty handles.
* Added checks for interceptors to negative lookup code in Crankshaft.
* Introduced global contexts to represent lexical global scope(s).
* Allocate block-scoped global bindings to global context.
* Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)
* Check the return value of API calls on ia32 and x64.
* Activated fixed ES5 readonly semantics by default.
* Added validity checking to API functions and calls.
* Switched on code compaction on incremental GCs.
* ARM: allowed VFP3 instructions when hardfloat is enabled. (Chromium issue 152506)
* Killed off the SCons based build. (relevant for testing)
* Added a faster API for creating v8::Integer objects.
* Speeded up function deoptimization by avoiding quadratic pass over optimized function list. (Chromium issue 155270)
* ES6: Added support for size to Set and Map (issue 2395)
* ES6: Added support for Set and Map clear method (issue 2400)
* Made formatting error message side-effect-free. (issue 2398)
* Fixed V8 issues: 915, 1374, 1465, 1569, 1591, 1609 1645, 1804, 1914, 1981, 1991, 2016, 2017,
2034, 2077, 2087, 2094, 2119, 2120, 2133, 2134, 2139, 2143, 2151, 2156, 2166, 2170, 2172,
2177, 2179, 2185, 2193, 2194, 2201, 2210, 2212, 2219, 2220, 2225, 2239, 2245, 2252, 2260,
2261, 2294, 2297, 2308, 2312, 2313, 2317, 2318, 2322, 2326, 2364, 2372, 2380
Change-Id: Ifa82ec37b6150fdf1c4364c93987a32bbbf6bfd1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I6e01bef4e6bc31141dde60aae5e6568f1f757ac1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The delete operator always return true in case of indexed property. It
should return false if an indexed property can't be deleted (eg.
DontDelete attribute is set or a string object is the holder).
Contributed by Peter Varga <pvarga@inf.u-szeged.hu>
BUG=none
TEST=mjsunit/delete-non-configurable
Review URL: https://codereview.chromium.org/11094021
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Change-Id: I05bcd4625c5a2b868306e6979ea3c687a404dbf2
Signed-off-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
| |
The qcalculatehash_p.h private header also has been added to provide
function calculatehash for qml and the new testcase.
Change-Id: I1a0cf6052f596438f50bb5d2899ceaaae3e2e477
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 30662b5d64ff633f57d89290da2a85507d561187 dropped the default
initialisation of the symbol_id for ASCII characters. This leads to
problems when trying to access the symbol_id when the symbol was not
instantiated via AsciiSymbolKey (e.g. via SubStringAsciiSymbolKey).
Additionally, AsciiSymbolKey does not guarantee the presence of a
symbol_id in case the SMI value space has been exhausted.
Change-Id: I778bc5cc3cee80038a4ca6606bfcf4423d569132
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
| |
Change-Id: I05216567c2d4e7d3be86dcf1e585edb18005f27d
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We plan to enable -std=c++0x for MinGW gcc. However, this let gcc set
__STRICT_ANSI__, and time.h in the MinGW headers then omits declaring _tzset.
Instead of working around this in upstream v8, we just compile v8 in less strict
-std=gnu++0x mode.
Change-Id: Ia00c49b721fbf5bf90a60871c0a4841097cadd1d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|