Fix marking of prototype objects in internal class pool
authorSimon Hausmann <simon.hausmann@digia.com>
Wed, 16 Apr 2014 07:36:38 +0000 (09:36 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 28 Apr 2014 10:49:53 +0000 (12:49 +0200)
commit52fcb218c379bb2008e24a2b5b00b613219ba7f6
treeff19d8e3c509a96fc0ced9c60607c2430970a538
parent50d7c049e3310d4d9194c2efb5150e4e5a50e5ca
Fix marking of prototype objects in internal class pool

As per reported bug, we have to protect ourselves against potential loops
and can mark the internal classes much simpler by just walking through
the memory pool they were allocated in.

Task-number: QTBUG-38299
Change-Id: I3ae96e8082e76d06f4321c5aa6d2e9645d2830a0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4engine_p.h
src/qml/jsruntime/qv4internalclass.cpp
src/qml/jsruntime/qv4internalclass_p.h
src/qml/parser/qqmljsmemorypool_p.h
tests/auto/qml/qjsengine/tst_qjsengine.cpp