Add QQmlEngine::trimComponentCache()
authorMatthew Vogt <matthew.vogt@nokia.com>
Thu, 3 May 2012 22:32:45 +0000 (08:32 +1000)
committerQt by Nokia <qt-info@nokia.com>
Thu, 17 May 2012 06:58:45 +0000 (08:58 +0200)
commit43a6cc75886c662e63db440dd191cefa1fe956f3
treecd3247453a0c2a59e0c5d3af11434d18761c2de4
parent9af1a7d0aee4f9ed48b2519779388830a8dd03e9
Add QQmlEngine::trimComponentCache()

Allow unused data in the engine's component cache to be safely discarded
so that the memory can be freed for other purposes.

Unloading of scripts that are no longer required after trimming unused
components is not yet supported.

Task-number: QTBUG-25653
Change-Id: I37bc9d5592eeb5edceeb34d010a555dcffd11cea
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
81 files changed:
src/qml/qml/ftw/qqmlrefcount_p.h
src/qml/qml/qqmlbinding.cpp
src/qml/qml/qqmlcompiler.cpp
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmldata_p.h
src/qml/qml/qqmlengine.cpp
src/qml/qml/qqmlengine.h
src/qml/qml/qqmlengine_p.h
src/qml/qml/qqmlexpression.cpp
src/qml/qml/qqmlincubator.cpp
src/qml/qml/qqmlincubator_p.h
src/qml/qml/qqmltypeloader.cpp
src/qml/qml/qqmltypeloader_p.h
src/qml/qml/qqmlvme.cpp
src/qml/qml/qqmlvmemetaobject.cpp
src/qml/qml/qqmlvmemetaobject_p.h
src/qml/qml/v4/qv4bindings.cpp
src/qml/qml/v4/qv4bindings_p.h
src/qml/qml/v8/qv8bindings.cpp
tests/auto/qml/qqmlengine/data/EmptyAggregateEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyAggregateVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyExtendEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyExtendVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyPropertyEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/EmptyPropertyVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/NestedEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/NestedVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/ScriptComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/TopLevelComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEAggregateEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEAggregateVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEExtendEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEExtendVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEPropertyEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMEPropertyVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMETransientEmptyComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/VMETransientVMEComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/script.js [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyAggregateEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyAggregateEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyAggregateVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyAggregateVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyExtendEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyExtendEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyExtendVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyExtendVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyPropertyEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyPropertyEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyPropertyVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testEmptyPropertyVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testIncubatedComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testLoaderComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testReloadComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testScriptComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testTopLevelComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testTransientComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testTransientComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEAggregateEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEAggregateEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEAggregateVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEAggregateVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEExtendEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEExtendEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEExtendVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEExtendVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEPropertyEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEPropertyEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEPropertyVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMEPropertyVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMETransientEmptyComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMETransientEmptyComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMETransientVMEComponent.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/data/testVMETransientVMEComponent.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlengine/qqmlengine.pro
tests/auto/qml/qqmlengine/tst_qqmlengine.cpp