kern: devirtualize remaining vcall for class token/dyncast

This commit is contained in:
Michael Scire 2021-10-23 16:04:04 -07:00
parent 36e4914be8
commit 71e4313d0c
10 changed files with 38 additions and 47 deletions

View file

@ -118,7 +118,7 @@ namespace ams::kern {
static Derived *Create() {
Derived *obj = Allocate();
if (AMS_LIKELY(obj != nullptr)) {
KAutoObject::Create(obj);
KAutoObject::Create<Derived>(obj);
}
return obj;
}
@ -130,7 +130,7 @@ namespace ams::kern {
Derived * const obj = GetPointer<Derived>(AllocateUnusedSlabMemory(sizeof(Derived), alignof(Derived)));
if (AMS_LIKELY(obj != nullptr)) {
std::construct_at(obj);
KAutoObject::Create(obj);
KAutoObject::Create<Derived>(obj);
}
return obj;
}