diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-11-14 09:54:00 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-11-27 11:10:04 +0000 |
commit | e6d17c8691bfafa033b82a4d81a9caf4a2fd1b85 (patch) | |
tree | 68a8774562cf291eb4350facfd7feece4dd77443 /src/qml/jsruntime/qv4lookup_p.h | |
parent | fca89004d75412dd378cc44ad79ed3c1e05c765b (diff) |
Convert setters to use the id in InternalClass
Change-Id: I7f3acf96e998a41d60d33f98b243089b9ee40ff0
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4lookup_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4lookup_p.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4lookup_p.h b/src/qml/jsruntime/qv4lookup_p.h index 450d2d4364..5c58d2f669 100644 --- a/src/qml/jsruntime/qv4lookup_p.h +++ b/src/qml/jsruntime/qv4lookup_p.h @@ -99,6 +99,11 @@ struct Lookup { unsigned type; Heap::Object *proto; } primitiveLookup; + struct { + InternalClass *newClass; + int icIdentifier; + int offset; + } insertionLookup; InternalClass *classList[Size]; }; @@ -137,15 +142,15 @@ struct Lookup { static ReturnedValue globalGetterProto(Lookup *l, ExecutionEngine *engine); static ReturnedValue globalGetterProtoAccessor(Lookup *l, ExecutionEngine *engine); + bool resolveSetter(ExecutionEngine *engine, Object *object, const Value &value); static bool setterGeneric(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); static bool setterTwoClasses(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); static bool setterFallback(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); static bool setter0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); static bool setter0Inline(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); - static bool setterInsert0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); - static bool setterInsert1(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); - static bool setterInsert2(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); static bool setter0setter0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); + static bool setterInsert(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); + static bool arrayLengthSetter(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value); ReturnedValue lookup(const Value &thisObject, Object *obj, PropertyAttributes *attrs); ReturnedValue lookup(const Object *obj, PropertyAttributes *attrs); |