Encapsulate and protect all accesses to the vtable of Heap objects
authorLars Knoll <lars.knoll@theqtcompany.com>
Fri, 7 Aug 2015 11:56:31 +0000 (13:56 +0200)
committerLars Knoll <lars.knoll@theqtcompany.com>
Mon, 10 Aug 2015 07:24:32 +0000 (07:24 +0000)
commit415f55d1400f6abdd3a8e3edaf5ff208ecdad216
tree88e75e6c2b5d3b757ac59b644f71410158201354
parentf21e8c641af6b2d10f0d7e7e0fc6a755dab3673c
Encapsulate and protect all accesses to the vtable of Heap objects

This is required, so we can safely access the vtable even while
we're marking objects during GC.

Change-Id: I34f56b61b4bca0d0742faf607eb5ab8b2c30685e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
21 files changed:
src/qml/jsruntime/qv4argumentsobject.cpp
src/qml/jsruntime/qv4argumentsobject_p.h
src/qml/jsruntime/qv4arraydata_p.h
src/qml/jsruntime/qv4dateobject_p.h
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4errorobject_p.h
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4functionobject_p.h
src/qml/jsruntime/qv4identifiertable_p.h
src/qml/jsruntime/qv4managed.cpp
src/qml/jsruntime/qv4managed_p.h
src/qml/jsruntime/qv4object.cpp
src/qml/jsruntime/qv4object_p.h
src/qml/jsruntime/qv4persistent.cpp
src/qml/jsruntime/qv4string.cpp
src/qml/jsruntime/qv4string_p.h
src/qml/jsruntime/qv4stringobject.cpp
src/qml/jsruntime/qv4value_p.h
src/qml/memory/qv4heap_p.h
src/qml/memory/qv4mm.cpp
src/qml/memory/qv4mm_p.h