Backed out changeset 75d0af6c7c49 (bug 1368454) for failing named-yield-spread-obj.js after asserting !type.isSingleton() at ObjectGroup.cpp:792. r=backout

This commit is contained in:
Sebastian Hengst 2017-07-25 16:30:17 +02:00
Родитель ffd48bb231
Коммит 8afce0c191
1 изменённых файлов: 14 добавлений и 9 удалений

Просмотреть файл

@ -1045,19 +1045,24 @@ js::CreateIterResultObject(JSContext* cx, HandleValue value, bool done)
{ {
// Step 1 (implicit). // Step 1 (implicit).
Rooted<IdValueVector> props(cx, IdValueVector(cx)); // Step 2.
if (!props.reserve(2)) RootedObject resultObj(cx, NewBuiltinClassInstance<PlainObject>(cx));
if (!resultObj)
return nullptr; return nullptr;
// Step 2 (reordered). // Step 3.
props.infallibleAppend(IdValuePair(NameToId(cx->names().value), value)); if (!DefineProperty(cx, resultObj, cx->names().value, value))
return nullptr;
// Step 3 (reordered). // Step 4.
props.infallibleAppend(IdValuePair(NameToId(cx->names().done), if (!DefineProperty(cx, resultObj, cx->names().done,
done ? TrueHandleValue : FalseHandleValue)); done ? TrueHandleValue : FalseHandleValue))
{
return nullptr;
}
// Steps 1, 5. // Step 5.
return ObjectGroup::newPlainObject(cx, props.begin(), props.length(), GenericObject); return resultObj;
} }
bool bool