aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/v4
Commit message (Collapse)AuthorAgeFilesLines
* fix whitespaceOswald Buddenhagen2014-01-222-14/+14
| | | | | | | remove trailing spaces and expand tabs Change-Id: Ieacb9d096b612c45d1a64700044c114d1f7522bc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Save memory on array dataLars Knoll2014-01-201-2/+36
| | | | | | | | | | | | | | | | | | | | | Store a simple vector of Values in the array data, instead of a Vector of Property's. This halfes the memory consumption on 64bit and simplifies our code. If an indexed property gets converted to an accessor property, we simply convert the ArrayData into a SparseArrayData. Add support in SparseArrayData to allocate double slots (two Value's) to hold a full Property in case someone sets an accessor on an indexed property. Some methods still return a Property*, but this is safe, as only the first Value in the Property pointer will ever get accessed if the Property doesn't contain an accessor. Change-Id: Ic9b0f309b09a2772a328d947a10faaf3be9fe56f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fixes to sparse array handlingLars Knoll2014-01-201-0/+21
| | | | | | | | | | deleting entries in sparse arrays could lead to rather unexpected results where values got moved to wrong indices, as we didn't correctly update the size_left values in the red-black tree. Change-Id: If71fcc04d39f257194394cb4f734d0db14b92b69 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Rename v4 to qmljsSimon Hausmann2013-10-222-2/+2
| | | | | | | | We don't want to officially support this binary in our release builds, so give it a "safer" name and enable it only in developer builds. Change-Id: Iaa007bc2ccdb133635161aae01d140efe0f44e23 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Introduce a Referenced<T> class to pass Objects into methodsLars Knoll2013-09-221-1/+0
| | | | | | | | | | Added some convenience typedefs (StringRef, ObjectRef, ReturnedString, ScopedString, ...) Used StringRef in newBuiltinFunction() for testing. Cleaned up the duplicated code for thrower functions. Change-Id: I7b7676690cbe70d9eabb0a5afd0d922f0be3aefd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Optimise property lookups on primitive typesLars Knoll2013-09-021-2/+1
| | | | | | | | This gives a large speedup on code such as "foo".charAt(2), or (5.).toString(). Change-Id: I8b6c46f2f69a4b00f82048a9368d8e9baf4d89ee Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Move prototype pointer into QV4::InternalClassLars Knoll2013-09-021-2/+0
| | | | | | | | | | | | | The prototype is actually the same for most objects. By moving it into the internal class, we can save 8 bytes per object, as well as allowing for some future optimizations. Also fix a bug in the implementation of the Error prototype objects. Change-Id: I4d4b641055f644a9b088f27be34bfdb0446279b7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Allow for function declarations inside conditionalsSimon Hausmann2013-08-231-0/+8
| | | | | | | | | This is strictly speaking a regression from 5.1/v8, which allows for that as real world JavaScript appears to require it. Task-number: QTBUG-33064 Change-Id: Iceaca84373f12fb08459ed007afb25b5a705fa31 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix Array.prototype.concatPeter Varga2013-08-141-5/+1
| | | | | | | | | | | | The following tests failed in the test262 test suite due to incomplete implementation: - ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1 - ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1 - ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2 - ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1 Change-Id: I423e77fe3d34140a08c61efdc18c81ef251bc927 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Added an iterative version of factorial as a (performance) test.Erik Verbruggen2013-08-142-3/+23
| | | | | Change-Id: I2c64b84d060792c0a1b111b854495cafcf24db33 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix missing license headers for test262.pySergio Ahumada2013-06-241-0/+40
| | | | | Change-Id: I805cf8951fb50518372aad0024fc287ee5955bbd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix some missing license headersSergio Ahumada2013-06-241-0/+40
| | | | | Change-Id: I758fe0a61d1ecb9418087ac318ac93f227013248 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix scope chain for eval in strict modeLars Knoll2013-06-211-2/+0
| | | | | Change-Id: Ie00046f98a126cd46cd79758a78be1d0e1d17c61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Introducing SSA.Erik Verbruggen2013-06-061-3/+10
| | | | | | Change-Id: Id3315f3560a8a7c996147eb070876b0065a23c76 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compilation with built-in v4vm JS engineSimon Hausmann2013-04-151-2/+15
| | | | | Change-Id: Ieda9267e296acf6392a5461f4cfb9233a7a409a0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Merge branch 'master' of ↵Simon Hausmann2013-04-1542-0/+14388
ssh://codereview.qt-project.org:29418/playground/v4vm into v4 This is the initial merge of the v4vm JS engine, designed specifically for QML. The engine is tested on Linux and Mac OS X, works on x86, x86-64 and ARM. Change-Id: I826b72cfa3d3575007b70d78604080582db568db Reviewed-by: Lars Knoll <lars.knoll@digia.com>