Add garbage collector prologue callback to qv8engine
authorChris Adams <christopher.adams@nokia.com>
Fri, 26 Aug 2011 03:54:00 +0000 (13:54 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 6 Sep 2011 06:29:53 +0000 (08:29 +0200)
commit08e829e3a9dae0230678a8471275cebb4c8fb54e
treefdbbc6b718ef026cac7c929ca710277478a4739c
parent0c0f03e2b9756afb4e868a76734cc90102218f0a
Add garbage collector prologue callback to qv8engine

This commit provides a generic way to manage persistent handles
created by QML so that circular references don't cause leaks, by
utilising v8's garbage collector callbacks.

Change-Id: Ia898197fdf5d86b90915b835ce3e532f7d400de4
Reviewed-on: http://codereview.qt.nokia.com/3688
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
src/declarative/qml/v8/qv8engine.cpp
src/declarative/qml/v8/qv8gccallback_p.h [new file with mode: 0644]
src/declarative/qml/v8/v8.pri
tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.2.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.object.1.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.object.2.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
tests/auto/declarative/qdeclarativeecmascript/testtypes.h
tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp