OpenCoverage

qv4lookup.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4lookup.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5using namespace QV4;-
6-
7-
8void Lookup::resolveProtoGetter(PropertyKey name, const Heap::Object *proto)-
9{-
10 while (proto
protoDescription
TRUEevaluated 1460102 times by 8 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 15065 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
) {
15065-1460102
11 uint index = proto->internalClass->find(name);-
12 if (index !=
index != (0x7f...fff * 2U + 1U)Description
TRUEevaluated 1421618 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 40012 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
40012-1421618
13 (0x7fffffff * 2U + 1U)
index != (0x7f...fff * 2U + 1U)Description
TRUEevaluated 1421618 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 40012 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
40012-1421618
14 ) {-
15 PropertyAttributes attrs = proto->internalClass->propertyData.at(index);-
16 protoLookup.data = proto->propertyData(index);-
17 if (attrs.isData()
attrs.isData()Description
TRUEevaluated 1417795 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 2394 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
2394-1417795
18 getter = getterProto;-
19 }
executed 1417740 times by 7 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
else {
1417740
20 getter = getterProtoAccessor;-
21 }
executed 2394 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
2394
22 return;
executed 1420239 times by 7 tests: return;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
1420239
23 }-
24 proto = proto->prototype();-
25 }
executed 40005 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
40005
26-
27 getter = getterFallback;-
28}
executed 15065 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qqmlecmascript
15065
29-
30ReturnedValue Lookup::resolveGetter(ExecutionEngine *engine, const Object *object)-
31{-
32 Heap::Object *obj = object->d();-
33 PropertyKey name = engine->identifierTable->asPropertyKey(engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
34 if (name.isArrayIndex()
name.isArrayIndex()Description
TRUEevaluated 679 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 680405 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
) {
679-680405
35 indexedLookup.index = name.asArrayIndex();-
36 getter = getterIndexed;-
37 return
executed 680 times by 1 test: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
getter(this, engine, *object);
executed 680 times by 1 test: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
680
38 }-
39-
40 uint index = obj->internalClass->find(name);-
41 if (index !=
index != (0x7f...fff * 2U + 1U)Description
TRUEevaluated 579213 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 101618 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
101618-579213
42 (0x7fffffff * 2U + 1U)
index != (0x7f...fff * 2U + 1U)Description
TRUEevaluated 579213 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 101618 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
101618-579213
43 ) {-
44 PropertyAttributes attrs = obj->internalClass->propertyData.at(index);-
45 uint nInline = obj->vtable()->nInlineProperties;-
46 if (attrs.isData()
attrs.isData()Description
TRUEevaluated 577918 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 1561 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
1561-577918
47 if (index < obj->vtable()->nInlineProperties
index < obj->v...linePropertiesDescription
TRUEevaluated 279143 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 298779 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
) {
279143-298779
48 index += obj->vtable()->inlinePropertyOffset;-
49 getter = getter0Inline;-
50 }
executed 279168 times by 7 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
else {
279168
51 index -= nInline;-
52 getter = getter0MemberData;-
53 }
executed 298799 times by 2 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
298799
54 } else {-
55 getter = getterAccessor;-
56 }
executed 1561 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
1561
57 objectLookup.ic = obj->internalClass;-
58 objectLookup.offset = index;-
59 return
executed 579315 times by 7 tests: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
getter(this, engine, *object);
executed 579315 times by 7 tests: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
579315
60 }-
61-
62 protoLookup.protoId = obj->internalClass->protoId;-
63 resolveProtoGetter(name, obj->prototype());-
64 return
executed 101576 times by 2 tests: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
getter(this, engine, *object);
executed 101576 times by 2 tests: return getter(this, engine, *object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
101576
65}-
66-
67ReturnedValue Lookup::resolvePrimitiveGetter(ExecutionEngine *engine, const Value &object)-
68{-
69 primitiveLookup.type = object.type();-
70 switch (primitiveLookup.type) {-
71 case
executed 2407 times by 1 test: case Value::Undefined_Type:
Executed by:
  • tst_ecmascripttests
Value::Undefined_Type:
executed 2407 times by 1 test: case Value::Undefined_Type:
Executed by:
  • tst_ecmascripttests
2407
72 case
executed 344 times by 1 test: case Value::Null_Type:
Executed by:
  • tst_ecmascripttests
Value::Null_Type:
executed 344 times by 1 test: case Value::Null_Type:
Executed by:
  • tst_ecmascripttests
344
73 return
executed 2750 times by 1 test: return engine->throwTypeError();
Executed by:
  • tst_ecmascripttests
engine->throwTypeError();
executed 2750 times by 1 test: return engine->throwTypeError();
Executed by:
  • tst_ecmascripttests
2750
74 case
executed 56 times by 1 test: case Value::Boolean_Type:
Executed by:
  • tst_ecmascripttests
Value::Boolean_Type:
executed 56 times by 1 test: case Value::Boolean_Type:
Executed by:
  • tst_ecmascripttests
56
75 primitiveLookup.proto = engine->booleanPrototype()->d();-
76 break;
executed 56 times by 1 test: break;
Executed by:
  • tst_ecmascripttests
56
77 case
executed 8134 times by 1 test: case Value::Managed_Type:
Executed by:
  • tst_ecmascripttests
Value::Managed_Type:
executed 8134 times by 1 test: case Value::Managed_Type:
Executed by:
  • tst_ecmascripttests
{
8134
78-
79 ((object.isStringOrSymbol()) ? static_cast<void>(0) : qt_assert("object.isStringOrSymbol()", __FILE__, 117));-
80 primitiveLookup.proto = static_cast<const Managed &>(object).internalClass()->prototype;-
81 ((primitiveLookup.proto) ? static_cast<void>(0) : qt_assert("primitiveLookup.proto", __FILE__, 119));-
82 Scope scope(engine);-
83 ScopedString name(scope, engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
84 if (object.isString()
object.isString()Description
TRUEevaluated 8087 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 54 times by 1 test
Evaluated by:
  • tst_ecmascripttests
&& name->equals(engine->id_length())
name->equals(e...->id_length())Description
TRUEevaluated 280 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 7813 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
54-8087
85-
86 getter = stringLengthGetter;-
87 return
executed 280 times by 1 test: return stringLengthGetter(this, engine, object);
Executed by:
  • tst_ecmascripttests
stringLengthGetter(this, engine, object);
executed 280 times by 1 test: return stringLengthGetter(this, engine, object);
Executed by:
  • tst_ecmascripttests
280
88 }-
89 break;
executed 7864 times by 1 test: break;
Executed by:
  • tst_ecmascripttests
7864
90 }-
91 case
executed 400 times by 1 test: case Value::Integer_Type:
Executed by:
  • tst_ecmascripttests
Value::Integer_Type:
executed 400 times by 1 test: case Value::Integer_Type:
Executed by:
  • tst_ecmascripttests
400
92 default
executed 624 times by 1 test: default:
Executed by:
  • tst_ecmascripttests
:
executed 624 times by 1 test: default:
Executed by:
  • tst_ecmascripttests
624
93 primitiveLookup.proto = engine->numberPrototype()->d();-
94 }
executed 1024 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
1024
95-
96 PropertyKey name = engine->identifierTable->asPropertyKey(engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
97 protoLookup.protoId = primitiveLookup.proto->internalClass->protoId;-
98 resolveProtoGetter(name, primitiveLookup.proto);-
99-
100 if (getter == getterProto
getter == getterProtoDescription
TRUEevaluated 8780 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 174 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
174-8780
101 getter = primitiveGetterProto;
executed 8780 times by 1 test: getter = primitiveGetterProto;
Executed by:
  • tst_ecmascripttests
8780
102 else if (getter == getterProtoAccessor
getter == getterProtoAccessorDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 158 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
16-158
103 getter = primitiveGetterAccessor;
executed 16 times by 1 test: getter = primitiveGetterAccessor;
Executed by:
  • tst_ecmascripttests
16
104 return
executed 8954 times by 1 test: return getter(this, engine, object);
Executed by:
  • tst_ecmascripttests
getter(this, engine, object);
executed 8954 times by 1 test: return getter(this, engine, object);
Executed by:
  • tst_ecmascripttests
8954
105}-
106-
107ReturnedValue Lookup::resolveGlobalGetter(ExecutionEngine *engine)-
108{-
109 Object *o = engine->globalObject;-
110 PropertyKey name = engine->identifierTable->asPropertyKey(engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
111 protoLookup.protoId = o->internalClass()->protoId;-
112 resolveProtoGetter(name, o->d());-
113-
114 if (getter == getterProto
getter == getterProtoDescription
TRUEevaluated 1318625 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 7031 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
)
7031-1318625
115 globalGetter = globalGetterProto;
executed 1317597 times by 7 tests: globalGetter = globalGetterProto;
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
1317597
116 else if (getter == getterProtoAccessor
getter == getterProtoAccessorDescription
TRUEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 6971 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
)
60-6971
117 globalGetter = globalGetterProtoAccessor;
executed 60 times by 1 test: globalGetter = globalGetterProtoAccessor;
Executed by:
  • tst_ecmascripttests
60
118 else {-
119 globalGetter = globalGetterGeneric;-
120 Scope scope(engine);-
121 ScopedString n(scope, engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
122 return
executed 6962 times by 2 tests: return engine->throwReferenceError(n);
Executed by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
engine->throwReferenceError(n);
executed 6962 times by 2 tests: return engine->throwReferenceError(n);
Executed by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
6962
123 }-
124 return
executed 1317890 times by 7 tests: return globalGetter(this, engine);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
globalGetter(this, engine);
executed 1317890 times by 7 tests: return globalGetter(this, engine);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
1317890
125}-
126-
127ReturnedValue Lookup::getterGeneric(Lookup *l, ExecutionEngine *engine, const Value &object)-
128{-
129 if (const
const Object *...t.as<Object>()Description
TRUEevaluated 678473 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 11977 times by 1 test
Evaluated by:
  • tst_ecmascripttests
Object *o = object.as<Object>()
const Object *...t.as<Object>()Description
TRUEevaluated 678473 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 11977 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
11977-678473
130 return
executed 678495 times by 7 tests: return l->resolveGetter(engine, o);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
l->resolveGetter(engine, o);
executed 678495 times by 7 tests: return l->resolveGetter(engine, o);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
678495
131 return
executed 11972 times by 1 test: return l->resolvePrimitiveGetter(engine, object);
Executed by:
  • tst_ecmascripttests
l->resolvePrimitiveGetter(engine, object);
executed 11972 times by 1 test: return l->resolvePrimitiveGetter(engine, object);
Executed by:
  • tst_ecmascripttests
11972
132}-
133-
134ReturnedValue Lookup::getterTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)-
135{-
136 if (const
const Object *...t.as<Object>()Description
TRUEevaluated 1884 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
FALSEnever evaluated
Object *o = object.as<Object>()
const Object *...t.as<Object>()Description
TRUEevaluated 1884 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
FALSEnever evaluated
) {
0-1884
137 Lookup first = *l;-
138 Lookup second = *l;-
139-
140 ReturnedValue result = second.resolveGetter(engine, o);-
141-
142 if (first.getter == getter0Inline
first.getter == getter0InlineDescription
TRUEevaluated 222 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
FALSEevaluated 1663 times by 1 test
Evaluated by:
  • tst_ecmascripttests
&& (second.getter == getter0Inline
second.getter == getter0InlineDescription
TRUEevaluated 188 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
|| second.getter == getter0MemberData
second.getter ...ter0MemberDataDescription
TRUEnever evaluated
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
)) {
0-1663
143 l->objectLookupTwoClasses.ic = first.objectLookup.ic;-
144 l->objectLookupTwoClasses.ic2 = second.objectLookup.ic;-
145 l->objectLookupTwoClasses.offset = first.objectLookup.offset;-
146 l->objectLookupTwoClasses.offset2 = second.objectLookup.offset;-
147 l->getter = second.getter == getter0Inline
second.getter == getter0InlineDescription
TRUEevaluated 188 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
FALSEnever evaluated
? getter0Inlinegetter0Inline : getter0Inlinegetter0MemberData;
0-188
148 return
executed 188 times by 2 tests: return result;
Executed by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
result;
executed 188 times by 2 tests: return result;
Executed by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
188
149 }-
150 if (first.getter == getter0MemberData
first.getter =...ter0MemberDataDescription
TRUEnever evaluated
FALSEevaluated 1697 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
&& (second.getter == getter0Inline
second.getter == getter0InlineDescription
TRUEnever evaluated
FALSEnever evaluated
|| second.getter == getter0MemberData
second.getter ...ter0MemberDataDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0-1697
151 l->objectLookupTwoClasses.ic = second.objectLookup.ic;-
152 l->objectLookupTwoClasses.ic2 = first.objectLookup.ic;-
153 l->objectLookupTwoClasses.offset = second.objectLookup.offset;-
154 l->objectLookupTwoClasses.offset2 = first.objectLookup.offset;-
155 l->getter = second.getter == getter0Inline
second.getter == getter0InlineDescription
TRUEnever evaluated
FALSEnever evaluated
? getter0Inlinegetter0MemberData : getter0MemberDatagetter0MemberData;
0
156 return
never executed: return result;
result;
never executed: return result;
0
157 }-
158 if (first.getter == getterProto
first.getter == getterProtoDescription
TRUEevaluated 1202 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 494 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
&& second.getter == getterProto
second.getter == getterProtoDescription
TRUEevaluated 1203 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-1203
159 l->protoLookupTwoClasses.protoId = first.protoLookup.protoId;-
160 l->protoLookupTwoClasses.protoId2 = second.protoLookup.protoId;-
161 l->protoLookupTwoClasses.data = first.protoLookup.data;-
162 l->protoLookupTwoClasses.data2 = second.protoLookup.data;-
163 l->getter = getterProtoTwoClasses;-
164 return
executed 1202 times by 1 test: return result;
Executed by:
  • tst_ecmascripttests
result;
executed 1202 times by 1 test: return result;
Executed by:
  • tst_ecmascripttests
1202
165 }-
166 if (first.getter == getterProtoAccessor
first.getter =...rProtoAccessorDescription
TRUEevaluated 460 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 34 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
&& second.getter == getterProtoAccessor
second.getter ...rProtoAccessorDescription
TRUEevaluated 460 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-460
167 l->protoLookupTwoClasses.protoId = first.protoLookup.protoId;-
168 l->protoLookupTwoClasses.protoId2 = second.protoLookup.protoId;-
169 l->protoLookupTwoClasses.data = first.protoLookup.data;-
170 l->protoLookupTwoClasses.data2 = second.protoLookup.data;-
171 l->getter = getterProtoAccessorTwoClasses;-
172 return
executed 460 times by 1 test: return result;
Executed by:
  • tst_ecmascripttests
result;
executed 460 times by 1 test: return result;
Executed by:
  • tst_ecmascripttests
460
173 }-
174-
175 }
executed 34 times by 2 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
34
176-
177 l->getter = getterFallback;-
178 return
executed 34 times by 2 tests: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
getterFallback(l, engine, object);
executed 34 times by 2 tests: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
34
179}-
180-
181ReturnedValue Lookup::getterFallback(Lookup *l, ExecutionEngine *engine, const Value &object)-
182{-
183 QV4::Scope scope(engine);-
184 QV4::ScopedObject o(scope, object.toObject(scope.engine));-
185 if (!o
!oDescription
TRUEnever evaluated
FALSEevaluated 44582 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
)
0-44582
186 return
never executed: return Encode::undefined();
Encode::undefined();
never executed: return Encode::undefined();
0
187 ScopedString name(scope, engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[l->nameIndex]);-
188 return
executed 44589 times by 3 tests: return o->get(name);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
o->get(name);
executed 44589 times by 3 tests: return o->get(name);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
44589
189}-
190-
191ReturnedValue Lookup::getter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)-
192{-
193-
194-
195 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
196 if (o
oDescription
TRUEevaluated 22363577 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
FALSEnever evaluated
) {
0-22363577
197 if (l->objectLookup.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEevaluated 22471102 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
FALSEnever evaluated
)
0-22471102
198 return
executed 22470852 times by 2 tests: return o->memberData->values.data()[l->objectLookup.offset].asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
o->memberData->values.data()[l->objectLookup.offset].asReturnedValue();
executed 22470852 times by 2 tests: return o->memberData->values.data()[l->objectLookup.offset].asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_qqmlecmascript
22470852
199 }
never executed: end of block
0
200 return
never executed: return getterTwoClasses(l, engine, object);
getterTwoClasses(l, engine, object);
never executed: return getterTwoClasses(l, engine, object);
0
201}-
202-
203ReturnedValue Lookup::getter0Inline(Lookup *l, ExecutionEngine *engine, const Value &object)-
204{-
205-
206-
207 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
208 if (o
oDescription
TRUEevaluated 2703476 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEnever evaluated
) {
0-2703476
209 if (l->objectLookup.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEevaluated 2703887 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
FALSEevaluated 222 times by 3 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
)
222-2703887
210 return
executed 2703409 times by 7 tests: return o->inlinePropertyDataWithOffset(l->objectLookup.offset)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
o->inlinePropertyDataWithOffset(l->objectLookup.offset)->asReturnedValue();
executed 2703409 times by 7 tests: return o->inlinePropertyDataWithOffset(l->objectLookup.offset)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
2703409
211 }
executed 222 times by 3 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
222
212 return
executed 222 times by 3 tests: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
getterTwoClasses(l, engine, object);
executed 222 times by 3 tests: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qjsengine
  • tst_qquickworkerscript
222
213}-
214-
215ReturnedValue Lookup::getterProto(Lookup *l, ExecutionEngine *engine, const Value &object)-
216{-
217-
218-
219 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
220 if (o
oDescription
TRUEevaluated 127837 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-127837
221 if (l->protoLookup.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 126767 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 1204 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
1204-126767
222 return
executed 126710 times by 1 test: return l->protoLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
l->protoLookup.data->asReturnedValue();
executed 126710 times by 1 test: return l->protoLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
126710
223 }
executed 1203 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
1203
224 return
executed 1203 times by 1 test: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
getterTwoClasses(l, engine, object);
executed 1203 times by 1 test: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
1203
225}-
226-
227ReturnedValue Lookup::getter0Inlinegetter0Inline(Lookup *l, ExecutionEngine *engine, const Value &object)-
228{-
229-
230-
231 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
232 if (o
oDescription
TRUEevaluated 196 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
FALSEnever evaluated
) {
0-196
233 if (l->objectLookupTwoClasses.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEevaluated 32 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 164 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
)
32-164
234 return
executed 32 times by 1 test: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
executed 32 times by 1 test: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
32
235 if (l->objectLookupTwoClasses.ic2 == o->internalClass
l->objectLooku...>internalClassDescription
TRUEevaluated 32 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 132 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
)
32-132
236 return
executed 32 times by 1 test: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset2)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset2)->asReturnedValue();
executed 32 times by 1 test: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset2)->asReturnedValue();
Executed by:
  • tst_ecmascripttests
32
237 }
executed 132 times by 2 tests: end of block
Executed by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
132
238 l->getter = getterFallback;-
239 return
executed 132 times by 2 tests: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
getterFallback(l, engine, object);
executed 132 times by 2 tests: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
  • tst_qquickworkerscript
132
240}-
241-
242ReturnedValue Lookup::getter0Inlinegetter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)-
243{-
244-
245-
246 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
247 if (o
oDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
248 if (l->objectLookupTwoClasses.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
249 return
never executed: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
never executed: return o->inlinePropertyDataWithOffset(l->objectLookupTwoClasses.offset)->asReturnedValue();
0
250 if (l->objectLookupTwoClasses.ic2 == o->internalClass
l->objectLooku...>internalClassDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
251 return
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
0
252 }
never executed: end of block
0
253 l->getter = getterFallback;-
254 return
never executed: return getterFallback(l, engine, object);
getterFallback(l, engine, object);
never executed: return getterFallback(l, engine, object);
0
255}-
256-
257ReturnedValue Lookup::getter0MemberDatagetter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)-
258{-
259-
260-
261 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
262 if (o
oDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
263 if (l->objectLookupTwoClasses.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
264 return
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset].asReturnedValue();
o->memberData->values.data()[l->objectLookupTwoClasses.offset].asReturnedValue();
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset].asReturnedValue();
0
265 if (l->objectLookupTwoClasses.ic2 == o->internalClass
l->objectLooku...>internalClassDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
266 return
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
never executed: return o->memberData->values.data()[l->objectLookupTwoClasses.offset2].asReturnedValue();
0
267 }
never executed: end of block
0
268 l->getter = getterFallback;-
269 return
never executed: return getterFallback(l, engine, object);
getterFallback(l, engine, object);
never executed: return getterFallback(l, engine, object);
0
270}-
271-
272ReturnedValue Lookup::getterProtoTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)-
273{-
274-
275-
276 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
277 if (o
oDescription
TRUEevaluated 11282 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-11282
278 if (l->protoLookupTwoClasses.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 11269 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
16-11269
279 return
executed 16 times by 1 test: return l->protoLookupTwoClasses.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
l->protoLookupTwoClasses.data->asReturnedValue();
executed 16 times by 1 test: return l->protoLookupTwoClasses.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
16
280 if (l->protoLookupTwoClasses.protoId2 == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 628 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 10646 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
628-10646
281 return
executed 628 times by 1 test: return l->protoLookupTwoClasses.data2->asReturnedValue();
Executed by:
  • tst_ecmascripttests
l->protoLookupTwoClasses.data2->asReturnedValue();
executed 628 times by 1 test: return l->protoLookupTwoClasses.data2->asReturnedValue();
Executed by:
  • tst_ecmascripttests
628
282 return
executed 10646 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
getterFallback(l, engine, object);
executed 10646 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
10646
283 }-
284 l->getter = getterFallback;-
285 return
never executed: return getterFallback(l, engine, object);
getterFallback(l, engine, object);
never executed: return getterFallback(l, engine, object);
0
286}-
287-
288ReturnedValue Lookup::getterAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)-
289{-
290-
291-
292 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
293 if (o
oDescription
TRUEevaluated 1639 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-1639
294 if (l->objectLookup.ic == o->internalClass
l->objectLooku...>internalClassDescription
TRUEevaluated 1631 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 12 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
12-1631
295 const Value *getter = o->propertyData(l->objectLookup.offset);-
296 if (!getter->isFunctionObject()
!getter->isFunctionObject()Description
TRUEevaluated 156 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 1474 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
156-1474
297 return
executed 156 times by 1 test: return Encode::undefined();
Executed by:
  • tst_ecmascripttests
Encode::undefined();
executed 156 times by 1 test: return Encode::undefined();
Executed by:
  • tst_ecmascripttests
156
298-
299 return
executed 1472 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
executed 1472 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
1472
300 }-
301 }
executed 12 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
12
302 l->getter = getterFallback;-
303 return
executed 12 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
getterFallback(l, engine, object);
executed 12 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
12
304}-
305-
306ReturnedValue Lookup::getterProtoAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)-
307{-
308-
309-
310 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
311 if (o
oDescription
TRUEevaluated 6050 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
&& l->protoLookup.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 5593 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 460 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-6050
312 const Value *getter = l->protoLookup.data;-
313 if (!getter->isFunctionObject()
!getter->isFunctionObject()Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 5587 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
4-5587
314 return
executed 4 times by 1 test: return Encode::undefined();
Executed by:
  • tst_ecmascripttests
Encode::undefined();
executed 4 times by 1 test: return Encode::undefined();
Executed by:
  • tst_ecmascripttests
4
315-
316 return
executed 5587 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
executed 5587 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
5587
317 }-
318 return
executed 459 times by 1 test: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
getterTwoClasses(l, engine, object);
executed 459 times by 1 test: return getterTwoClasses(l, engine, object);
Executed by:
  • tst_ecmascripttests
459
319}-
320-
321ReturnedValue Lookup::getterProtoAccessorTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)-
322{-
323-
324-
325 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
326 if (o
oDescription
TRUEevaluated 2837 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-2837
327 const Value *getter = nullptr;-
328 if (l->protoLookupTwoClasses.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 64 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 2774 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
64-2774
329 getter = l->protoLookupTwoClasses.data;
executed 64 times by 1 test: getter = l->protoLookupTwoClasses.data;
Executed by:
  • tst_ecmascripttests
64
330 else if (l->protoLookupTwoClasses.protoId2 == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 2355 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 420 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
420-2355
331 getter = l->protoLookupTwoClasses.data2;
executed 2356 times by 1 test: getter = l->protoLookupTwoClasses.data2;
Executed by:
  • tst_ecmascripttests
2356
332 if (getter
getterDescription
TRUEevaluated 2417 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 419 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
419-2417
333 if (!getter->isFunctionObject()
!getter->isFunctionObject()Description
TRUEnever evaluated
FALSEevaluated 2419 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
0-2419
334 return
never executed: return Encode::undefined();
Encode::undefined();
never executed: return Encode::undefined();
0
335-
336 return
executed 2418 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
executed 2418 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
2418
337 }-
338 }
executed 419 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
419
339 l->getter = getterFallback;-
340 return
executed 419 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
getterFallback(l, engine, object);
executed 419 times by 1 test: return getterFallback(l, engine, object);
Executed by:
  • tst_ecmascripttests
419
341}-
342-
343ReturnedValue Lookup::getterIndexed(Lookup *l, ExecutionEngine *engine, const Value &object)-
344{-
345 Object *o = object.objectValue();-
346 if (o
oDescription
TRUEevaluated 679 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-679
347 Heap::Object *ho = o->d();-
348 if (ho->arrayData && ho->arrayData->type == Heap::ArrayData::Simple
ho->arrayData-...ayData::SimpleDescription
TRUEevaluated 680 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-680
349 Heap::SimpleArrayData *s = ho->arrayData.cast<Heap::SimpleArrayData>();-
350 if (l->indexedLookup.index < s->values.size
l->indexedLook...s->values.sizeDescription
TRUEevaluated 511 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 168 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
168-511
351 if (!s->data(l->indexedLookup.index).isEmpty()
!s->data(l->in...dex).isEmpty()Description
TRUEevaluated 512 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
)
0-512
352 return
executed 512 times by 1 test: return s->data(l->indexedLookup.index).asReturnedValue();
Executed by:
  • tst_ecmascripttests
s->data(l->indexedLookup.index).asReturnedValue();
executed 512 times by 1 test: return s->data(l->indexedLookup.index).asReturnedValue();
Executed by:
  • tst_ecmascripttests
512
353 }
executed 168 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
168
354 return
executed 168 times by 1 test: return o->get(l->indexedLookup.index);
Executed by:
  • tst_ecmascripttests
o->get(l->indexedLookup.index);
executed 168 times by 1 test: return o->get(l->indexedLookup.index);
Executed by:
  • tst_ecmascripttests
168
355 }-
356 l->getter = getterFallback;-
357 return
never executed: return getterFallback(l, engine, object);
getterFallback(l, engine, object);
never executed: return getterFallback(l, engine, object);
0
358-
359}-
360-
361ReturnedValue Lookup::primitiveGetterProto(Lookup *l, ExecutionEngine *engine, const Value &object)-
362{-
363 if (object.type() == l->primitiveLookup.type
object.type() ...iveLookup.typeDescription
TRUEevaluated 1613308 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-1613308
364 Heap::Object *o = l->primitiveLookup.proto;-
365 if (l->primitiveLookup.protoId == o->internalClass->protoId
l->primitiveLo...Class->protoIdDescription
TRUEevaluated 1614000 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
)
0-1614000
366 return
executed 1614101 times by 1 test: return l->primitiveLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
l->primitiveLookup.data->asReturnedValue();
executed 1614101 times by 1 test: return l->primitiveLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
1614101
367 }
never executed: end of block
0
368 l->getter = getterGeneric;-
369 return
never executed: return getterGeneric(l, engine, object);
getterGeneric(l, engine, object);
never executed: return getterGeneric(l, engine, object);
0
370}-
371-
372ReturnedValue Lookup::primitiveGetterAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)-
373{-
374 if (object.type() == l->primitiveLookup.type
object.type() ...iveLookup.typeDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-16
375 Heap::Object *o = l->primitiveLookup.proto;-
376 if (l->primitiveLookup.protoId == o->internalClass->protoId
l->primitiveLo...Class->protoIdDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-16
377 const Value *getter = l->primitiveLookup.data;-
378 if (!getter->isFunctionObject()
!getter->isFunctionObject()Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
0-16
379 return
never executed: return Encode::undefined();
Encode::undefined();
never executed: return Encode::undefined();
0
380-
381 return
executed 16 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
executed 16 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(&object, nullptr, 0);
Executed by:
  • tst_ecmascripttests
16
382 }-
383 }
never executed: end of block
0
384 l->getter = getterGeneric;-
385 return
never executed: return getterGeneric(l, engine, object);
getterGeneric(l, engine, object);
never executed: return getterGeneric(l, engine, object);
0
386}-
387-
388ReturnedValue Lookup::stringLengthGetter(Lookup *l, ExecutionEngine *engine, const Value &object)-
389{-
390 if (const
const String *...t.as<String>()Description
TRUEevaluated 1205284 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
String *s = object.as<String>()
const String *...t.as<String>()Description
TRUEevaluated 1205284 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
)
0-1205284
391 return
executed 1205228 times by 1 test: return Encode(s->d()->length());
Executed by:
  • tst_ecmascripttests
Encode(s->d()->length());
executed 1205228 times by 1 test: return Encode(s->d()->length());
Executed by:
  • tst_ecmascripttests
1205228
392-
393 l->getter = getterGeneric;-
394 return
never executed: return getterGeneric(l, engine, object);
getterGeneric(l, engine, object);
never executed: return getterGeneric(l, engine, object);
0
395}-
396-
397ReturnedValue Lookup::globalGetterGeneric(Lookup *l, ExecutionEngine *engine)-
398{-
399 return
executed 1324348 times by 7 tests: return l->resolveGlobalGetter(engine);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
l->resolveGlobalGetter(engine);
executed 1324348 times by 7 tests: return l->resolveGlobalGetter(engine);
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
1324348
400}-
401-
402ReturnedValue Lookup::globalGetterProto(Lookup *l, ExecutionEngine *engine)-
403{-
404 Heap::Object *o = engine->globalObject->d();-
405 if (l->protoLookup.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 243663389 times by 7 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
FALSEevaluated 112 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
112-243663389
406 return
executed 243702438 times by 7 tests: return l->protoLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
l->protoLookup.data->asReturnedValue();
executed 243702438 times by 7 tests: return l->protoLookup.data->asReturnedValue();
Executed by:
  • tst_ecmascripttests
  • tst_examples
  • tst_qmlcachegen
  • tst_qqmlecmascript
  • tst_qqmllistmodelworkerscript
  • tst_qquickworkerscript
  • tst_qv4assembler
243702438
407 l->globalGetter = globalGetterGeneric;-
408 return
executed 112 times by 1 test: return globalGetterGeneric(l, engine);
Executed by:
  • tst_ecmascripttests
globalGetterGeneric(l, engine);
executed 112 times by 1 test: return globalGetterGeneric(l, engine);
Executed by:
  • tst_ecmascripttests
112
409}-
410-
411ReturnedValue Lookup::globalGetterProtoAccessor(Lookup *l, ExecutionEngine *engine)-
412{-
413 Heap::Object *o = engine->globalObject->d();-
414 if (l->protoLookup.protoId == o->internalClass->protoId
l->protoLookup...Class->protoIdDescription
TRUEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-60
415 const Value *getter = l->protoLookup.data;-
416 if (!getter->isFunctionObject()
!getter->isFunctionObject()Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
0-60
417 return
never executed: return Encode::undefined();
Encode::undefined();
never executed: return Encode::undefined();
0
418-
419 return
executed 60 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(engine->globalObject, nullptr, 0);
Executed by:
  • tst_ecmascripttests
static_cast<const FunctionObject *>(getter)->call(engine->globalObject, nullptr, 0);
executed 60 times by 1 test: return static_cast<const FunctionObject *>(getter)->call(engine->globalObject, nullptr, 0);
Executed by:
  • tst_ecmascripttests
60
420 }-
421 l->globalGetter = globalGetterGeneric;-
422 return
never executed: return globalGetterGeneric(l, engine);
globalGetterGeneric(l, engine);
never executed: return globalGetterGeneric(l, engine);
0
423}-
424-
425bool Lookup::resolveSetter(ExecutionEngine *engine, Object *object, const Value &value)-
426{-
427 Scope scope(engine);-
428 ScopedString name(scope, scope.engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[nameIndex]);-
429-
430 Heap::InternalClass *c = object->internalClass();-
431 PropertyKey key = name->toPropertyKey();-
432 uint idx = c->find(key);-
433 if (idx !=
idx != (0x7fffffff * 2U + 1U)Description
TRUEevaluated 7130 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 511786 times by 1 test
Evaluated by:
  • tst_ecmascripttests
7130-511786
434 (0x7fffffff * 2U + 1U)
idx != (0x7fffffff * 2U + 1U)Description
TRUEevaluated 7130 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 511786 times by 1 test
Evaluated by:
  • tst_ecmascripttests
7130-511786
435 ) {-
436 if (object->isArrayObject()
object->isArrayObject()Description
TRUEevaluated 666 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 6452 times by 1 test
Evaluated by:
  • tst_ecmascripttests
&& idx == Heap::ArrayObject::LengthPropertyIndex
idx == Heap::A...hPropertyIndexDescription
TRUEevaluated 542 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 124 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
124-6452
437 setter = arrayLengthSetter;-
438 return
executed 541 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
setter(this, engine, *object, value);
executed 541 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
541
439 } else if (object->internalClass()->propertyData[idx].isData()
object->intern...[idx].isData()Description
TRUEevaluated 5719 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 860 times by 1 test
Evaluated by:
  • tst_ecmascripttests
&& object->internalClass()->propertyData[idx].isWritable()
object->intern...].isWritable()Description
TRUEevaluated 5673 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 49 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
49-5719
440 objectLookup.ic = object->internalClass();-
441 objectLookup.offset = idx;-
442 setter = idx < object->d()->vtable()->nInlineProperties
idx < object->...linePropertiesDescription
TRUEevaluated 3996 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 1665 times by 1 test
Evaluated by:
  • tst_ecmascripttests
? Lookup::setter0Inline : Lookup::setter0;
1665-3996
443 return
executed 5661 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
setter(this, engine, *object, value);
executed 5661 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
5661
444 } else {-
445-
446 setter = setterFallback;-
447 }
executed 909 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
909
448 return
executed 910 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
setter(this, engine, *object, value);
executed 910 times by 1 test: return setter(this, engine, *object, value);
Executed by:
  • tst_ecmascripttests
910
449 }-
450-
451 insertionLookup.protoId = c->protoId;-
452 if (!object->put(key, value)
!object->put(key, value)Description
TRUEevaluated 205 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 511615 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
205-511615
453 setter = Lookup::setterFallback;-
454 return
executed 205 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
false;
executed 205 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
205
455 }-
456-
457 if (object->internalClass() == c
object->internalClass() == cDescription
TRUEevaluated 84 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 511675 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
84-511675
458-
459 setter = setterFallback;-
460 return
executed 84 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 84 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
84
461 }-
462 idx = object->internalClass()->find(key);-
463 if (idx ==
idx == (0x7fffffff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 511550 times by 1 test
Evaluated by:
  • tst_ecmascripttests
0-511550
464 (0x7fffffff * 2U + 1U)
idx == (0x7fffffff * 2U + 1U)Description
TRUEnever evaluated
FALSEevaluated 511550 times by 1 test
Evaluated by:
  • tst_ecmascripttests
0-511550
465 ) {-
466 setter = setterFallback;-
467 return
never executed: return false;
false;
never executed: return false;
0
468 }-
469 insertionLookup.newClass = object->internalClass();-
470 insertionLookup.offset = idx;-
471 setter = setterInsert;-
472 return
executed 511521 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 511521 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
511521
473}-
474-
475bool Lookup::setterGeneric(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
476{-
477 if (object.isObject()
object.isObject()Description
TRUEevaluated 517921 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 20 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
20-517921
478 return
executed 517876 times by 1 test: return l->resolveSetter(engine, static_cast<Object *>(&object), value);
Executed by:
  • tst_ecmascripttests
l->resolveSetter(engine, static_cast<Object *>(&object), value);
executed 517876 times by 1 test: return l->resolveSetter(engine, static_cast<Object *>(&object), value);
Executed by:
  • tst_ecmascripttests
517876
479-
480 Scope scope(engine);-
481 ScopedObject o(scope, RuntimeHelpers::convertToObject(scope.engine, object));-
482 if (!o
!oDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
4-16
483 return
executed 4 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
false;
executed 4 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
4
484 ScopedString name(scope, engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[l->nameIndex]);-
485 return
executed 16 times by 1 test: return o->put(name, value);
Executed by:
  • tst_ecmascripttests
o->put(name, value);
executed 16 times by 1 test: return o->put(name, value);
Executed by:
  • tst_ecmascripttests
16
486}-
487-
488bool Lookup::setterTwoClasses(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
489{-
490 Lookup first = *l;-
491 Lookup second = *l;-
492-
493 if (object.isObject()
object.isObject()Description
TRUEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-60
494 if (!l->resolveSetter(engine, static_cast<Object *>(&object), value)
!l->resolveSet...bject), value)Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-60
495 l->setter = setterFallback;-
496 return
never executed: return false;
false;
never executed: return false;
0
497 }-
498-
499 if (l->setter == Lookup::setter0
l->setter == Lookup::setter0Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
|| l->setter == Lookup::setter0Inline
l->setter == L...:setter0InlineDescription
TRUEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-60
500 l->objectLookupTwoClasses.ic = first.objectLookup.ic;-
501 l->objectLookupTwoClasses.ic2 = second.objectLookup.ic;-
502 l->objectLookupTwoClasses.offset = first.objectLookup.offset;-
503 l->objectLookupTwoClasses.offset2 = second.objectLookup.offset;-
504 l->setter = setter0setter0;-
505 return
executed 60 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 60 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
60
506 }-
507 }
never executed: end of block
0
508-
509 l->setter = setterFallback;-
510 return
never executed: return setterFallback(l, engine, object, value);
setterFallback(l, engine, object, value);
never executed: return setterFallback(l, engine, object, value);
0
511}-
512-
513bool Lookup::setterFallback(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
514{-
515 QV4::Scope scope(engine);-
516 QV4::ScopedObject o(scope, object.toObject(scope.engine));-
517 if (!o
!oDescription
TRUEnever evaluated
FALSEevaluated 2452 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
0-2452
518 return
never executed: return false;
false;
never executed: return false;
0
519-
520 ScopedString name(scope, engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[l->nameIndex]);-
521 return
executed 2454 times by 1 test: return o->put(name, value);
Executed by:
  • tst_ecmascripttests
o->put(name, value);
executed 2454 times by 1 test: return o->put(name, value);
Executed by:
  • tst_ecmascripttests
2454
522}-
523-
524bool Lookup::setter0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
525{-
526 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
527 if (o
oDescription
TRUEevaluated 1711 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
&& o->internalClass == l->objectLookup.ic
o->internalCla...bjectLookup.icDescription
TRUEevaluated 1716 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-1716
528 o->setProperty(engine, l->objectLookup.offset, value);-
529 return
executed 1709 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 1709 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
1709
530 }-
531-
532 return
never executed: return setterTwoClasses(l, engine, object, value);
setterTwoClasses(l, engine, object, value);
never executed: return setterTwoClasses(l, engine, object, value);
0
533}-
534-
535bool Lookup::setter0Inline(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
536{-
537 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
538 if (o
oDescription
TRUEevaluated 4298 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
&& o->internalClass == l->objectLookup.ic
o->internalCla...bjectLookup.icDescription
TRUEevaluated 4235 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-4298
539 o->setInlineProperty(engine, l->objectLookup.offset, value);-
540 return
executed 4232 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 4232 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
4232
541 }-
542-
543 return
executed 60 times by 1 test: return setterTwoClasses(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
setterTwoClasses(l, engine, object, value);
executed 60 times by 1 test: return setterTwoClasses(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
60
544}-
545-
546bool Lookup::setter0setter0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
547{-
548 Heap::Object *o = static_cast<Heap::Object *>(object.heapObject());-
549 if (o
oDescription
TRUEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
) {
0-60
550 if (o->internalClass == l->objectLookupTwoClasses.ic
o->internalCla...pTwoClasses.icDescription
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-60
551 o->setProperty(engine, l->objectLookupTwoClasses.offset, value);-
552 return
never executed: return true;
true;
never executed: return true;
0
553 }-
554 if (o->internalClass == l->objectLookupTwoClasses.ic2
o->internalCla...TwoClasses.ic2Description
TRUEnever evaluated
FALSEevaluated 60 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-60
555 o->setProperty(engine, l->objectLookupTwoClasses.offset2, value);-
556 return
never executed: return true;
true;
never executed: return true;
0
557 }-
558 }
executed 60 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
60
559-
560 l->setter = setterFallback;-
561 return
executed 60 times by 1 test: return setterFallback(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
setterFallback(l, engine, object, value);
executed 60 times by 1 test: return setterFallback(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
60
562}-
563-
564bool Lookup::setterInsert(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)-
565{-
566 Object *o = static_cast<Object *>(object.managed());-
567 if (o
oDescription
TRUEevaluated 4599 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEnever evaluated
&& o->internalClass()->protoId == l->insertionLookup.protoId
o->internalCla...Lookup.protoIdDescription
TRUEevaluated 4083 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 525 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
0-4599
568 o->setInternalClass(l->insertionLookup.newClass);-
569 o->d()->setProperty(engine, l->insertionLookup.offset, value);-
570 return
executed 4082 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 4082 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
4082
571 }-
572-
573 l->setter = setterFallback;-
574 return
executed 520 times by 1 test: return setterFallback(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
setterFallback(l, engine, object, value);
executed 520 times by 1 test: return setterFallback(l, engine, object, value);
Executed by:
  • tst_ecmascripttests
520
575}-
576-
577bool Lookup::arrayLengthSetter(Lookup *, ExecutionEngine *engine, Value &object, const Value &value)-
578{-
579 ((object.isObject() && static_cast<Object &>(object).isArrayObject()) ? static_cast<void>(0) : qt_assert("object.isObject() && static_cast<Object &>(object).isArrayObject()", __FILE__, 613));-
580 bool ok;-
581 uint len = value.asArrayLength(&ok);-
582 if (!ok
!okDescription
TRUEevaluated 40 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 540 times by 1 test
Evaluated by:
  • tst_ecmascripttests
) {
40-540
583 engine->throwRangeError(value);-
584 return
executed 40 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
false;
executed 40 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
40
585 }-
586 ok = static_cast<Object &>(object).setArrayLength(len);-
587 if (!ok
!okDescription
TRUEevaluated 22 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 519 times by 1 test
Evaluated by:
  • tst_ecmascripttests
)
22-519
588 return
executed 22 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
false;
executed 22 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
22
589 return
executed 519 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
true;
executed 519 times by 1 test: return true;
Executed by:
  • tst_ecmascripttests
519
590}-
591-
592-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0