Merge branch 'proper-inline' into inline
# Conflicts: # backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLower.kt # backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt # backend.native/tests/build.gradle # backend.native/tests/codegen/inline/inline5.kt # gradle.properties
This commit is contained in:
@@ -860,11 +860,6 @@ task memory_throw_cleanup(type: RunKonanTest) {
|
||||
source = "runtime/memory/throw_cleanup.kt"
|
||||
}
|
||||
|
||||
task memory_collect_cycles(type: RunKonanTest) {
|
||||
goldValue = "42\n"
|
||||
source = "runtime/memory/cycles0.kt"
|
||||
}
|
||||
|
||||
task unit1(type: RunKonanTest) {
|
||||
goldValue = "First\nkotlin.Unit\n"
|
||||
source = "codegen/basics/unit1.kt"
|
||||
@@ -906,26 +901,16 @@ task inline3(type: RunKonanTest) {
|
||||
}
|
||||
|
||||
task inline4(type: RunKonanTest) {
|
||||
goldValue = "1\n"
|
||||
goldValue = "3\n"
|
||||
source = "codegen/inline/inline4.kt"
|
||||
}
|
||||
|
||||
//task inline5(type: RunKonanTest) {
|
||||
// goldValue = "1\n"
|
||||
// source = "codegen/inline/inline5.kt"
|
||||
//}
|
||||
|
||||
task inline6(type: RunKonanTest) {
|
||||
goldValue = "hello1\nhello2\nhello3\nhello4\n"
|
||||
source = "codegen/inline/inline6.kt"
|
||||
task inline5(type: RunKonanTest) {
|
||||
goldValue = "33\n"
|
||||
source = "codegen/inline/inline5.kt"
|
||||
}
|
||||
|
||||
task inline7(type: RunKonanTest) {
|
||||
goldValue = "1\n2\n3\n"
|
||||
source = "codegen/inline/inline7.kt"
|
||||
}
|
||||
|
||||
task inline8(type: RunKonanTest) {
|
||||
goldValue = "5\n"
|
||||
source = "codegen/inline/inline8.kt"
|
||||
task inline9(type: RunKonanTest) {
|
||||
goldValue = "hello\n6\n"
|
||||
source = "codegen/inline/inline9.kt"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun foo(i2: Int, body: () -> Int): Int {
|
||||
return i2 + body()
|
||||
}
|
||||
|
||||
fun bar(i1: Int): Int {
|
||||
return foo(i1) { 1 }
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(bar(1).toString())
|
||||
}
|
||||
@@ -9,5 +9,5 @@ fun bar(i1: Int, i2: Int): Int {
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(bar(1, 8).toString())
|
||||
println(bar(3, 8).toString())
|
||||
}
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
// @Suppress("NOTHING_TO_INLINE")
|
||||
fun foo(i4: Int, i5: Int): Int {
|
||||
try {
|
||||
return i4 / i5
|
||||
} catch (e: Exception) {
|
||||
return i4
|
||||
}
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun foo(i2: Int, body: () -> Int): Int {
|
||||
return i2 + body()
|
||||
}
|
||||
|
||||
fun bar(i1: Int, i2: Int, i3: Int): Int {
|
||||
return i1 + foo(i2, i3)
|
||||
fun bar(i1: Int): Int {
|
||||
return foo(i1) { return 33 }
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(bar(1, 8, 0).toString())
|
||||
println(bar(1).toString())
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun foo(i3: Int, i4: Int): Int {
|
||||
return i3 + i3 + i4
|
||||
}
|
||||
|
||||
fun quiz(i: Int) : Int {
|
||||
println("hello")
|
||||
return i + 1
|
||||
}
|
||||
|
||||
fun bar(i1: Int, i2: Int): Int {
|
||||
return foo(quiz(i1), i2)
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(bar(1, 2).toString())
|
||||
}
|
||||
Reference in New Issue
Block a user