diff options
author | Lars Knoll <[email protected]> | 2013-12-06 10:28:50 +0100 |
---|---|---|
committer | The Qt Project <[email protected]> | 2014-01-03 17:09:16 +0100 |
commit | 40fd9ff0ffcf72fb1f27d011dfe07fea764fcff2 (patch) | |
tree | a87d87fa83c4ba38bf807c18ad8415044be2513d /src/qml/jsruntime/qv4managed.cpp | |
parent | 658a15a075de2b5a77c1d1b4455eaf0ea0f81f47 (diff) |
Move Managed::type and some flags into the vtable
Move the type flag into the vtable to free up these
bits in the Managed class, and not have to set them
at object construction time.
As we often need to know whether a Managed object is a
Object, FunctionObject or String, add some bitflags to test
for these to the vtable.
Change-Id: I7d08ca044544debb307b55f124f34cb086ad9e84
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4managed.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4managed.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4managed.cpp b/src/qml/jsruntime/qv4managed.cpp index fef7489110..47f9195322 100644 --- a/src/qml/jsruntime/qv4managed.cpp +++ b/src/qml/jsruntime/qv4managed.cpp @@ -47,6 +47,13 @@ using namespace QV4; const ManagedVTable Managed::static_vtbl = { + Managed::IsExecutionContext, + Managed::IsString, + Managed::IsObject, + Managed::IsFunctionObject, + Managed::IsErrorObject, + 0, + Managed::MyType, call, construct, 0 /*markObjects*/, @@ -101,7 +108,7 @@ ExecutionEngine *Managed::engine() const QString Managed::className() const { const char *s = 0; - switch (Type(type)) { + switch (Type(internalClass->vtable->type)) { case Type_Invalid: case Type_String: return QString(); @@ -157,18 +164,23 @@ QString Managed::className() const case Type_ArgumentsObject: s = "Arguments"; break; - case Type_JSONObject: + case Type_JsonObject: s = "JSON"; break; case Type_MathObject: s = "Math"; break; + + case Type_ExecutionContext: + s = "__ExecutionContext"; + break; case Type_ForeachIteratorObject: s = "__ForeachIterator"; break; case Type_RegExp: - s = "RegExp"; + s = "__RegExp"; break; + case Type_QmlSequence: s = "QmlSequence"; break; |