1. If there is a deleted element in FastModeArray, it should not skip updating its enumeration data

2. If setObjectPreComputedCase decides to make no more caches because of many cacheMisses, it should invalidate previous caches

Signed-off-by: Saebom Kim sae-bom.kim@samsung.com
This commit is contained in:
Saebom Kim 2017-04-18 18:53:54 +09:00
commit 5cefb08f12
5 changed files with 94 additions and 84 deletions

View file

@ -162,6 +162,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;
return true;
}
}