diff options
author | Lars Knoll <[email protected]> | 2014-05-08 14:35:30 +0200 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2014-07-22 13:49:14 +0200 |
commit | e8746aeaecc4b1cfe312d8ed943ad74bd53f66e2 (patch) | |
tree | f4f391707da4054502b4826eedec5cc80bfe0a1c /src/qml/jsruntime/qv4managed.cpp | |
parent | 0732e0177e62590c812f0fea9c32f7d427bd933f (diff) |
Start implement new Object creation pattern
Create objects through a static create() method that returns a pointer
to the objects Data. This will later on simplify breaking the
direct connection between Object and Object::Data.
Change-Id: Id8daa3c766429bc36f432868e1957846147c96b6
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4managed.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4managed.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4managed.cpp b/src/qml/jsruntime/qv4managed.cpp index 3b0bdd08e2..5613e65446 100644 --- a/src/qml/jsruntime/qv4managed.cpp +++ b/src/qml/jsruntime/qv4managed.cpp @@ -164,7 +164,22 @@ void Managed::setVTable(const ManagedVTable *vt) d()->internalClass = internalClass()->changeVTable(vt); } +void Managed::Data::setVTable(const ManagedVTable *vt) +{ + Q_ASSERT(internalClass); + internalClass = internalClass->changeVTable(vt); +} + + bool Managed::isEqualTo(Managed *, Managed *) { return false; } + + +void *Managed::Data::operator new(size_t size, ExecutionEngine *e) +{ + assert(e); + + return e->memoryManager->allocManaged(size); +} |