[*] Update Runtime

This commit is contained in:
Reece Wilson 2023-08-22 10:33:50 +01:00
parent f8aeb65ff1
commit 75c81dec7f
2 changed files with 8 additions and 4 deletions

@ -1 +1 @@
Subproject commit 58302586a90613d4cf041de8b37c08a36ceeaadc
Subproject commit 3747fb7c6ff1e1a2ad5a37a2b0ead2984c958268

View File

@ -40,7 +40,7 @@ TEST(Allocationless, SOO)
}
#if defined(TO_PROVE_A_POINT)
#if defined(TO_PROVE_A_POINT) && defined(AURORA_ARCH_X64)
static_assert(sizeof(AuThreadPrimitives::Mutex) < sizeof(std::mutex));
static_assert(sizeof(AuThreadPrimitives::Mutex) <= sizeof(std::mutex) / 5); // to really prove a point
@ -52,7 +52,9 @@ TEST(Allocationless, SOO)
static_assert(230 < sizeof(std::shared_timed_mutex));
static_assert(103 > sizeof(AuThreadPrimitives::RWLock));
static_assert(90 > sizeof(AuThreadPrimitives::RWLock));
static_assert(89 > sizeof(AuThreadPrimitives::RWLock));
static_assert(57 > sizeof(AuThreadPrimitives::RWLock));
static_assert(18 > sizeof(AuMutex));
static_assert(18 > sizeof(AuFutexMutex));
static_assert(sizeof(AuThreadPrimitives::Mutex) < sizeof(SRWLOCK) + sizeof(CONDITION_VARIABLE) + 4); // (SRWLOCKs are too dumb to used by themselves)
static_assert(sizeof(AuThreadPrimitives::ConditionVariable) < sizeof(std::condition_variable));
@ -76,13 +78,15 @@ TEST(Allocationless, SOO)
#endif
// So, uh, wouldn't it be funny if we could beat these too?
// Oh wait..
static_assert((sizeof(AuFutexMutex) - sizeof(void *) /*ignore vtable; these are final and declared in the header*/) < sizeof(std::timed_mutex));
static_assert((sizeof(AuFutexMutex) - sizeof(void *) /*ignore vtable; these are final and declared in the header*/) < sizeof(std::mutex));
static_assert((sizeof(AuFutexCond) - sizeof(void *) /*ignore vtable; these are final and declared in the header*/) < sizeof(std::condition_variable));
static_assert(sizeof(AuFutexCond) < sizeof(std::condition_variable));
static_assert(sizeof(AuFutexMutex) < sizeof(CRITICAL_SECTION));
static_assert(sizeof(AuFutexCond) == sizeof(CONDITION_VARIABLE));
static_assert(sizeof(std::condition_variable) > sizeof(AuFutexCond));
static_assert(8 == sizeof(AuFutexCond));
static_assert(sizeof(std::counting_semaphore<0>) > (sizeof(AuFutexSemaphore) - /*ignore vtable*/sizeof(void *)));
#endif
}