Fixes to the memory manager
authorLars Knoll <lars.knoll@digia.com>
Mon, 11 Feb 2013 15:41:42 +0000 (16:41 +0100)
committerSimon Hausmann <simon.hausmann@digia.com>
Tue, 12 Feb 2013 15:24:41 +0000 (16:24 +0100)
commit194c582354785f9a62b2e0c947b9b998a8596898
tree27996c3a04a43339fae5b4049b8b0338160f48d9
parent8c10aeb9fa16012f6ebf0c48d44dfbe133fc134d
Fixes to the memory manager

Don't use the location of the bitfield to store the nextFree
pointer. This can easily lead to trouble when changing the layout
of the bitfield, as a we rely on inUse being 0. Rather use the
location where the vtable is being stored.

Fix the sweep method in the memory manager to correctly insert
all objects into the free list.

Fix mark, to really discard objects that are out of bounds.

Change-Id: I902e46907043c9d4288d0e3d1564460b5b265c4f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/v4/qv4managed.cpp
src/v4/qv4managed.h
src/v4/qv4mm.cpp