1. implement instanceof, in, delete operator

2. VariableDeclaratorNode does not affect execute result
3. optimize Object get, set in interpreter

Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
seonghyun kim 2016-12-20 13:30:21 +09:00
commit 11e625f373
26 changed files with 386 additions and 114 deletions

View file

@ -40,7 +40,7 @@ bool ArrayObject::defineOwnProperty(ExecutionState& state, const ObjectPropertyN
return Object::defineOwnProperty(state, P, desc);
}
void ArrayObject::deleteOwnProperty(ExecutionState& state, const ObjectPropertyName& P) ESCARGOT_OBJECT_SUBCLASS_MUST_REDEFINE
bool ArrayObject::deleteOwnProperty(ExecutionState& state, const ObjectPropertyName& P) ESCARGOT_OBJECT_SUBCLASS_MUST_REDEFINE
{
if (LIKELY(isFastModeArray())) {
uint32_t idx;
@ -54,7 +54,7 @@ void ArrayObject::deleteOwnProperty(ExecutionState& state, const ObjectPropertyN
ASSERT(len == getLength(state));
if (idx < len) {
m_fastModeData[idx] = Value(Value::EmptyValue);
return;
return true;
}
}
}