Bug 1182865 - Relax assertion on the allowed class for home objects, r=efaust

This commit is contained in:
Brian Hackett 2015-08-03 14:02:23 -07:00
Родитель 5d630742c6
Коммит 636412d090
2 изменённых файлов: 11 добавлений и 3 удалений

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

@ -0,0 +1,8 @@
for (var j = 0; j < 99; j++) {
Array[{
f() {
eval()
}
}];
}

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

@ -4040,9 +4040,9 @@ CASE(JSOP_INITHOMEOBJECT)
MOZ_ASSERT(func->allowSuperProperty());
/* Load the home object */
ReservedRooted<NativeObject*> obj(&rootNativeObject0);
obj = &REGS.sp[int(-2 - skipOver)].toObject().as<NativeObject>();
MOZ_ASSERT(obj->is<PlainObject>() || obj->is<JSFunction>());
ReservedRooted<JSObject*> obj(&rootObject0);
obj = &REGS.sp[int(-2 - skipOver)].toObject();
MOZ_ASSERT(obj->is<PlainObject>() || obj->is<UnboxedPlainObject>() || obj->is<JSFunction>());
func->setExtendedSlot(FunctionExtended::METHOD_HOMEOBJECT_SLOT, ObjectValue(*obj));
}