Make freezing stuff non-terminating TODO

This commit is contained in:
Alexander Shabalin
2021-02-01 13:17:47 +03:00
committed by Vasily Levchenko
parent d72e63334d
commit 5b6a8a3bdb
3 changed files with 12 additions and 7 deletions
@@ -176,6 +176,10 @@ KNativePtr Kotlin_AtomicNativePtr_get(KRef thiz) {
}
void Kotlin_AtomicReference_checkIfFrozen(KRef value) {
if (CurrentMemoryModel == MemoryModel::kExperimental) {
// TODO: Remove when freezing is implemented.
return;
}
if (value != nullptr && !isPermanentOrFrozen(value)) {
ThrowInvalidMutabilityException(value);
}
@@ -95,6 +95,10 @@ void ObjHeader::destroyMetaObject(ObjHeader* object) {
mm::ExtraObjectData::Uninstall(object);
}
ALWAYS_INLINE bool isPermanentOrFrozen(const ObjHeader* obj) {
return obj->permanent() || isFrozen(obj);
}
ALWAYS_INLINE bool isShareable(const ObjHeader* obj) {
// TODO: Remove when legacy MM is gone.
return true;
+4 -7
View File
@@ -8,21 +8,18 @@
#include "KAssert.h"
ALWAYS_INLINE bool isFrozen(const ObjHeader* obj) {
TODO();
}
ALWAYS_INLINE bool isPermanentOrFrozen(const ObjHeader* obj) {
TODO();
// TODO: Unimplemented
return false;
}
extern "C" {
void MutationCheck(ObjHeader* obj) {
TODO();
// TODO: Unimplemented
}
void FreezeSubgraph(ObjHeader* obj) {
TODO();
// TODO: Unimplemented
}
void EnsureNeverFrozen(ObjHeader* obj) {