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) {
|
void Kotlin_AtomicReference_checkIfFrozen(KRef value) {
|
||||||
|
if (CurrentMemoryModel == MemoryModel::kExperimental) {
|
||||||
|
// TODO: Remove when freezing is implemented.
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (value != nullptr && !isPermanentOrFrozen(value)) {
|
if (value != nullptr && !isPermanentOrFrozen(value)) {
|
||||||
ThrowInvalidMutabilityException(value);
|
ThrowInvalidMutabilityException(value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,10 @@ void ObjHeader::destroyMetaObject(ObjHeader* object) {
|
|||||||
mm::ExtraObjectData::Uninstall(object);
|
mm::ExtraObjectData::Uninstall(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ALWAYS_INLINE bool isPermanentOrFrozen(const ObjHeader* obj) {
|
||||||
|
return obj->permanent() || isFrozen(obj);
|
||||||
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE bool isShareable(const ObjHeader* obj) {
|
ALWAYS_INLINE bool isShareable(const ObjHeader* obj) {
|
||||||
// TODO: Remove when legacy MM is gone.
|
// TODO: Remove when legacy MM is gone.
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -8,21 +8,18 @@
|
|||||||
#include "KAssert.h"
|
#include "KAssert.h"
|
||||||
|
|
||||||
ALWAYS_INLINE bool isFrozen(const ObjHeader* obj) {
|
ALWAYS_INLINE bool isFrozen(const ObjHeader* obj) {
|
||||||
TODO();
|
// TODO: Unimplemented
|
||||||
}
|
return false;
|
||||||
|
|
||||||
ALWAYS_INLINE bool isPermanentOrFrozen(const ObjHeader* obj) {
|
|
||||||
TODO();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
void MutationCheck(ObjHeader* obj) {
|
void MutationCheck(ObjHeader* obj) {
|
||||||
TODO();
|
// TODO: Unimplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreezeSubgraph(ObjHeader* obj) {
|
void FreezeSubgraph(ObjHeader* obj) {
|
||||||
TODO();
|
// TODO: Unimplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnsureNeverFrozen(ObjHeader* obj) {
|
void EnsureNeverFrozen(ObjHeader* obj) {
|
||||||
|
|||||||
Reference in New Issue
Block a user