aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4persistent.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of asManaged()Lars Knoll2015-04-211-1/+1
| | | | | Change-Id: I853417fdf1cc339f7d43a006c20e1626b6bfb288 Reviewed-by: Simon Hausmann <[email protected]>
* Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-03-031-1/+1
|\ | | | | | | Change-Id: I94f8ae93d76bd5c120de25d9c238701afe8bfbd0
| * Fix MSVC 64 bit warnings about loss of data when converting from 'size_t' to ↵Friedemann Kleint2015-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | 'int'. jsruntime\qv4arraybuffer.cpp(94) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data jsruntime\qv4persistent.cpp(53) : warning C4267: 'initializing' : conversion from 'size_t' to 'const int', possible loss of data Change-Id: I6ccef9a64ecfb53b18204b35e17421c0a5ac955b Reviewed-by: Simon Hausmann <[email protected]>
* | Move memory management related functionality into it's own folderLars Knoll2015-03-021-1/+1
|/ | | | | | | | | Start moving the memory related functionality into it's own folder. This will simplify refactoring of the GC related functionality later on. Change-Id: I70ec6f512af7a7897625afb84d914c17572b0ccd Reviewed-by: Simon Hausmann <[email protected]>
* Update copyright headersJani Heikkinen2015-02-121-7/+7
| | | | | | | | | 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: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <[email protected]>
* Keep PersistentValueStorage page size in sync with system page sizeTor Arne Vestbø2015-02-021-14/+12
| | | | | | | | | | | | | WTF::PageAllocation::allocate() requires the allocated size to be a multiple of the system page size (available through WTF::pageSize()), so we can't hard-code the page size in PersistentValueStorage to 4K. As we control the memory of the page we can use 'Value values[1]' as a trick to let the compiler set up a head-reference for our list of Values, which we access by values[0:kEntriesPerPage - 1]. Change-Id: I71fdfffa0424d510fc1073bb67b6675a04ac2d80 Reviewed-by: Lars Knoll <[email protected]>
* Get rid of most uses of ValueRefLars Knoll2015-01-231-3/+13
| | | | | | | | | | | | Instead pass a const Value & into the functions With our new inheritance structure, we can get rid of ValueRef and instead simply pass a pointer to a Value again. Pointers to Values are safe to use again now, as they are now guaranteed to be in a place where the GC knows about them. Change-Id: I44c606fde764db3993b8128fd6fb781d3a298e53 Reviewed-by: Simon Hausmann <[email protected]>
* Move vtable out of internalClassLars Knoll2015-01-201-2/+2
| | | | | | | | | | | | | | | | We can move the internalClass to Object later on, and such save having the internalClass on lots of Heap objects. This commit basically adds and starts making use of a new vtable pointer in Heap::Base. In addition, the construction methods in the memory manager now automatically setup the correct vtable. Removing the vtable code from InternalClass and moving it into Object will come in a separate commit Change-Id: If49e8d73c769bf65bf47fe4dbf8b9546c8019dbc Reviewed-by: Simon Hausmann <[email protected]>
* Refactor persistent valuesLars Knoll2015-01-161-149/+237
| | | | | | | | | | Use a page wise allocation mechanism for persistent values. This significantly reduces memory consumption of persistent values and also improves their performance a lot. Change-Id: I8499d2ca5bdd871e029f643ae605a94544558bb5 Reviewed-by: Simon Hausmann <[email protected]>
* Make sure we always have an engine when assigning to a PersistentLars Knoll2015-01-131-50/+58
| | | | | | | This prepares things for a rewrite of the internals of Persistent. Change-Id: Ib93ec5911984d1bfce87ffdc3f86bc75f6ecafe9 Reviewed-by: Simon Hausmann <[email protected]>
* Cleanup debugger to be safe for the new GCLars Knoll2014-11-121-0/+10
| | | | | | | Added a bit of convenience to PersistentValue as well. Change-Id: I5a858079543b41ce1ef48a84e9350a7d6fa64501 Reviewed-by: Simon Hausmann <[email protected]>
* Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <[email protected]>
* Move PersistenValue and WeakValue into it's own fileLars Knoll2014-02-051-0/+255
They deserve having their own set of files, and it helps reduce dependencies. Change-Id: Ifd4394f88ef51cbccc61bf92dd20636f570141d9 Reviewed-by: Simon Hausmann <[email protected]>