mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-11-04 13:37:32 +09:00
Remove and clean up more code.
This commit is contained in:
parent
c6c456b12b
commit
90bb3e7f1d
8 changed files with 26 additions and 88 deletions
|
|
@ -838,17 +838,6 @@ ObjectGroup::newArrayObject(ExclusiveContext* cx,
|
|||
|
||||
AddTypePropertyId(cx, group, nullptr, JSID_VOID, elementType);
|
||||
|
||||
if (elementType != TypeSet::UnknownType()) {
|
||||
// Keep track of the initial objects we create with this type.
|
||||
// If the initial ones have a consistent shape and property types, we
|
||||
// will try to use an unboxed layout for the group.
|
||||
PreliminaryObjectArrayWithTemplate* preliminaryObjects =
|
||||
cx->new_<PreliminaryObjectArrayWithTemplate>(nullptr);
|
||||
if (!preliminaryObjects)
|
||||
return nullptr;
|
||||
group->setPreliminaryObjects(preliminaryObjects);
|
||||
}
|
||||
|
||||
if (!p.add(cx, *table, ObjectGroupCompartment::ArrayObjectKey(elementType), group))
|
||||
return nullptr;
|
||||
}
|
||||
|
|
@ -856,9 +845,6 @@ ObjectGroup::newArrayObject(ExclusiveContext* cx,
|
|||
// The type of the elements being added will already be reflected in type
|
||||
// information.
|
||||
ShouldUpdateTypes updateTypes = ShouldUpdateTypes::DontUpdate;
|
||||
if (group->maybePreliminaryObjects())
|
||||
group->maybePreliminaryObjects()->maybeAnalyze(cx, group);
|
||||
|
||||
return NewCopiedArrayTryUseGroup(cx, group, vp, length, newKind, updateTypes);
|
||||
}
|
||||
|
||||
|
|
@ -868,27 +854,13 @@ GiveObjectGroup(ExclusiveContext* cx, JSObject* source, JSObject* target)
|
|||
{
|
||||
MOZ_ASSERT(source->group() != target->group());
|
||||
|
||||
if (!target->is<ArrayObject>())
|
||||
return true;
|
||||
|
||||
if (target->group()->maybePreliminaryObjects()) {
|
||||
bool force = IsInsideNursery(source);
|
||||
target->group()->maybePreliminaryObjects()->maybeAnalyze(cx, target->group(), force);
|
||||
}
|
||||
|
||||
ObjectGroup* sourceGroup = source->group();
|
||||
|
||||
if (source->is<ArrayObject>()) {
|
||||
source->setGroup(target->group());
|
||||
} else {
|
||||
if (!target->is<ArrayObject>() || !source->is<ArrayObject>()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (sourceGroup->maybePreliminaryObjects())
|
||||
sourceGroup->maybePreliminaryObjects()->unregisterObject(source);
|
||||
if (target->group()->maybePreliminaryObjects())
|
||||
target->group()->maybePreliminaryObjects()->registerNewObject(source);
|
||||
for (size_t i = 0; i < source->as<ArrayObject>().getDenseInitializedLength(); i++) {
|
||||
source->setGroup(target->group());
|
||||
|
||||
for (size_t i = 0; i < source->as<ArrayObject>().getDenseInitializedLength(); i++) {
|
||||
Value v = source->as<ArrayObject>().getDenseElement(i);
|
||||
AddTypePropertyId(cx, source->group(), source, JSID_VOID, v);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue