Make freezing stuff non-terminating TODO
This commit is contained in:
committed by
Vasily Levchenko
parent
d72e63334d
commit
5b6a8a3bdb
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user