diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cexport/CAdapterApiExporter.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cexport/CAdapterApiExporter.kt index dec59d9d36e..08fd7a71b9e 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cexport/CAdapterApiExporter.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cexport/CAdapterApiExporter.kt @@ -289,7 +289,6 @@ internal class CAdapterApiExporter( |} // extern "C" | |struct ${prefix}_FrameOverlay { - | void* arena; | ${prefix}_FrameOverlay* previous; | ${prefix}_KInt parameters; | ${prefix}_KInt count; @@ -406,4 +405,4 @@ private operator fun String.times(count: Int): String { } private val KotlinType.shortNameForPredefinedType - get() = this.toString().split('.').last() \ No newline at end of file + get() = this.toString().split('.').last() diff --git a/kotlin-native/runtime/src/legacymm/cpp/Memory.cpp b/kotlin-native/runtime/src/legacymm/cpp/Memory.cpp index cb0c1636058..f31d668eba3 100644 --- a/kotlin-native/runtime/src/legacymm/cpp/Memory.cpp +++ b/kotlin-native/runtime/src/legacymm/cpp/Memory.cpp @@ -1022,10 +1022,6 @@ inline void traverseContainerReferredObjects(ContainerHeader* container, func pr }); } -inline FrameOverlay* asFrameOverlay(ObjHeader** slot) { - return reinterpret_cast(slot); -} - inline void lock(KInt* spinlock) { while (compareAndSwap(spinlock, 0, 1) != 0) {} } @@ -1763,39 +1759,6 @@ inline void releaseHeapRef(const ObjHeader* header) { releaseHeapRef(const_cast(container)); } - -// TODO: Consider removing this unused stuff. -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" - -// We use first slot as place to store frame-local arena container. -// TODO: create ArenaContainer object on the stack, so that we don't -// do two allocations per frame (ArenaContainer + actual container). -inline ArenaContainer* initedArena(ObjHeader** auxSlot) { - auto frame = asFrameOverlay(auxSlot); - auto arena = reinterpret_cast(frame->arena); - if (!arena) { - arena = std_support::allocator_new(objectAllocator); - MEMORY_LOG("Initializing arena in %p\n", frame) - arena->Init(); - frame->arena = arena; - } - return arena; -} - -inline container_size_t containerSize(const ContainerHeader* container) { - container_size_t result = 0; - const ObjHeader* obj = reinterpret_cast(container + 1); - for (uint32_t object = 0; object < container->objectCount(); object++) { - container_size_t size = objectSize(obj); - result += size; - obj = reinterpret_cast(reinterpret_cast(obj) + size); - } - return result; -} - -#pragma clang diagnostic pop - #if USE_GC void incrementStack(MemoryState* state) { FrameOverlay* frame = currentFrame; diff --git a/kotlin-native/runtime/src/main/cpp/Memory.h b/kotlin-native/runtime/src/main/cpp/Memory.h index 89e24b5e977..d04aa0b2289 100644 --- a/kotlin-native/runtime/src/main/cpp/Memory.h +++ b/kotlin-native/runtime/src/main/cpp/Memory.h @@ -362,7 +362,6 @@ RUNTIME_NOTHROW void DisposeRegularWeakReferenceImpl(ObjHeader* counter); #endif struct FrameOverlay { - void* arena; FrameOverlay* previous; // As they go in pair, sizeof(FrameOverlay) % sizeof(void*) == 0 is always held. int32_t parameters;