mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-11-01 12:07:34 +09:00
1320408 - Part 4: Change JSObject::getGroup to static method.
This commit is contained in:
parent
ed78b21cf0
commit
87bfc02f09
14 changed files with 56 additions and 45 deletions
|
|
@ -344,7 +344,7 @@ ArrayBufferObject::detach(JSContext* cx, Handle<ArrayBufferObject*> buffer,
|
|||
// Make sure the global object's group has been instantiated, so the
|
||||
// flag change will be observed.
|
||||
AutoEnterOOMUnsafeRegion oomUnsafe;
|
||||
if (!cx->global()->getGroup(cx))
|
||||
if (!JSObject::getGroup(cx, cx->global()))
|
||||
oomUnsafe.crash("ArrayBufferObject::detach");
|
||||
MarkObjectGroupFlags(cx, cx->global(), OBJECT_FLAG_TYPED_OBJECT_HAS_DETACHED_BUFFER);
|
||||
cx->compartment()->detachedTypedObjects = 1;
|
||||
|
|
|
|||
|
|
@ -4725,7 +4725,8 @@ js::RunOnceScriptPrologue(JSContext* cx, HandleScript script)
|
|||
|
||||
// Force instantiation of the script's function's group to ensure the flag
|
||||
// is preserved in type information.
|
||||
if (!script->functionNonDelazifying()->getGroup(cx))
|
||||
RootedFunction fun(cx, script->functionNonDelazifying());
|
||||
if (!JSObject::getGroup(cx, fun))
|
||||
return false;
|
||||
|
||||
MarkObjectGroupFlags(cx, script->functionNonDelazifying(), OBJECT_FLAG_RUNONCE_INVALIDATED);
|
||||
|
|
|
|||
|
|
@ -283,12 +283,13 @@ JSObject::splicePrototype(JSContext* cx, const Class* clasp, Handle<TaggedProto>
|
|||
return false;
|
||||
|
||||
// Force type instantiation when splicing lazy group.
|
||||
RootedObjectGroup group(cx, self->getGroup(cx));
|
||||
RootedObjectGroup group(cx, JSObject::getGroup(cx, self));
|
||||
if (!group)
|
||||
return false;
|
||||
RootedObjectGroup protoGroup(cx, nullptr);
|
||||
if (proto.isObject()) {
|
||||
protoGroup = proto.toObject()->getGroup(cx);
|
||||
RootedObject protoObj(cx, proto.toObject());
|
||||
protoGroup = JSObject::getGroup(cx, protoObj);
|
||||
if (!protoGroup)
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1319,7 +1319,8 @@ js::EnsureTrackPropertyTypes(JSContext* cx, JSObject* obj, jsid id)
|
|||
AutoEnterAnalysis enter(cx);
|
||||
if (obj->hasLazyGroup()) {
|
||||
AutoEnterOOMUnsafeRegion oomUnsafe;
|
||||
if (!obj->getGroup(cx)) {
|
||||
RootedObject objRoot(cx, obj);
|
||||
if (!JSObject::getGroup(cx, objRoot)) {
|
||||
oomUnsafe.crash("Could not allocate ObjectGroup in EnsureTrackPropertyTypes");
|
||||
return;
|
||||
}
|
||||
|
|
@ -1338,9 +1339,12 @@ HeapTypeSetKey::instantiate(JSContext* cx)
|
|||
{
|
||||
if (maybeTypes())
|
||||
return true;
|
||||
if (object()->isSingleton() && !object()->singleton()->getGroup(cx)) {
|
||||
cx->clearPendingException();
|
||||
return false;
|
||||
if (object()->isSingleton()) {
|
||||
RootedObject obj(cx, object()->singleton());
|
||||
if (!JSObject::getGroup(cx, obj)) {
|
||||
cx->clearPendingException();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
JSObject* obj = object()->isSingleton() ? object()->singleton() : nullptr;
|
||||
maybeTypes_ = object()->maybeGroup()->getProperty(cx, obj, id());
|
||||
|
|
@ -3088,7 +3092,7 @@ js::AddClearDefiniteGetterSetterForPrototypeChain(JSContext* cx, ObjectGroup* gr
|
|||
*/
|
||||
RootedObject proto(cx, group->proto().toObjectOrNull());
|
||||
while (proto) {
|
||||
ObjectGroup* protoGroup = proto->getGroup(cx);
|
||||
ObjectGroup* protoGroup = JSObject::getGroup(cx, proto);
|
||||
if (!protoGroup) {
|
||||
cx->recoverFromOutOfMemory();
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue