Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions atomicfu/src/nativeMain/kotlin/kotlinx/atomicfu/AtomicFU.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@

package kotlinx.atomicfu

import kotlin.native.concurrent.AtomicInt as KAtomicInt
import kotlin.native.concurrent.AtomicLong as KAtomicLong
import kotlin.native.concurrent.FreezableAtomicReference as KAtomicRef
import kotlin.concurrent.AtomicInt as KAtomicInt
import kotlin.concurrent.AtomicLong as KAtomicLong
import kotlin.concurrent.AtomicReference as KAtomicRef
import kotlin.native.concurrent.isFrozen
import kotlin.native.concurrent.freeze
import kotlin.reflect.KProperty
Expand Down Expand Up @@ -62,7 +62,7 @@ public actual value class AtomicRef<T> internal constructor(@PublishedApi intern
while (true) {
val cur = a.value
if (cur === value) return cur
if (a.compareAndSwap(cur, value) === cur) return cur
if (a.compareAndExchange(cur, value) === cur) return cur
}
}

Expand Down Expand Up @@ -166,12 +166,12 @@ public actual value class AtomicLong internal constructor(@PublishedApi internal
}
}

public actual inline fun getAndIncrement(): Long = a.addAndGet(1) - 1
public actual inline fun getAndDecrement(): Long = a.addAndGet(-1) + 1
public actual inline fun getAndIncrement(): Long = a.addAndGet(1L) - 1
public actual inline fun getAndDecrement(): Long = a.addAndGet(-1L) + 1
public actual inline fun getAndAdd(delta: Long): Long = a.addAndGet(delta) - delta
public actual inline fun addAndGet(delta: Long): Long = a.addAndGet(delta)
public actual inline fun incrementAndGet(): Long = a.addAndGet(1)
public actual inline fun decrementAndGet(): Long = a.addAndGet(-1)
public actual inline fun incrementAndGet(): Long = a.addAndGet(1L)
public actual inline fun decrementAndGet(): Long = a.addAndGet(-1L)

public actual inline operator fun plusAssign(delta: Long) { getAndAdd(delta) }
public actual inline operator fun minusAssign(delta: Long) { getAndAdd(-delta) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@ package kotlinx.atomicfu.locks
import platform.posix.*
import interop.*
import kotlinx.cinterop.*
import kotlin.native.concurrent.*
import kotlin.concurrent.*
import kotlin.native.internal.NativePtr
import kotlinx.atomicfu.locks.SynchronizedObject.Status.*
import kotlin.concurrent.AtomicNativePtr
import kotlin.concurrent.AtomicReference
import kotlin.native.SharedImmutable
import kotlin.native.concurrent.*

public actual open class SynchronizedObject {

Expand Down Expand Up @@ -217,4 +221,4 @@ class MutexPool(capacity: Int) {
return oldTop
}
}
}
}
4 changes: 2 additions & 2 deletions gradle/compile-options.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ ext.configureKotlin = { isMultiplatform ->

kotlin.sourceSets.all {
languageSettings {
apiVersion = KotlinAggregateBuild.getOverriddenKotlinApiVersion(project) ?: "1.4"
languageVersion = KotlinAggregateBuild.getOverriddenKotlinLanguageVersion(project) ?: "1.4"
apiVersion = KotlinAggregateBuild.getOverriddenKotlinApiVersion(project) ?: "1.9"
languageVersion = KotlinAggregateBuild.getOverriddenKotlinLanguageVersion(project) ?: "1.9"
optIn('kotlinx.cinterop.ExperimentalForeignApi')
}
}
Expand Down