1. fix wrong usage of ObjectPropertyDescriptor::NotPresent

2. add ArrayBufferObject

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
seonghyun kim 2017-01-05 03:21:18 +00:00
commit f112dfefd2
7 changed files with 129 additions and 29 deletions

View file

@ -200,7 +200,7 @@ bool ArrayObject::setFastModeValue(ExecutionState& state, const ObjectPropertyNa
if (len > idx && !m_fastModeData[idx].isEmpty()) {
// Non-empty slot of fast-mode array always has {writable:true, enumerable:true, configurable:true}.
// So, when new desciptor is not present, keep {w:true, e:true, c:true}
if (UNLIKELY(!desc.isNotPresent() && !desc.isDataWritableEnumerableConfigurable())) {
if (UNLIKELY(!(desc.isValuePresentAlone() || desc.isDataWritableEnumerableConfigurable()))) {
convertIntoNonFastMode(state);
return false;
}