Update spread element in Object initialization

* EnumerateObject is reworked and two derived classes are newly added
* Object spread element is handled through EnumerateObjectWithDestruction
* for-in operation is handled through EnumerateObjectWithIteration

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
HyukWoo Park 2019-11-11 19:49:26 +09:00 committed by Boram Bae
commit b0a31717c5
19 changed files with 627 additions and 306 deletions

View file

@ -195,7 +195,7 @@ bool ArrayObject::deleteOwnProperty(ExecutionState& state, const ObjectPropertyN
uint64_t len = getArrayLength(state);
if (idx < len) {
m_fastModeData[idx] = Value(Value::EmptyValue);
ensureObjectRareData()->m_shouldUpdateEnumerateObjectData = true;
ensureObjectRareData()->m_shouldUpdateEnumerateObject = true;
return true;
}
}