Update bytecode text tests in JVM_IR
This commit is contained in:
+2
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36646 Don't box primitive values in equality comparison with nullable primitive values in JVM_IR
|
||||
|
||||
fun testBoolean1(a: Boolean?, b: Boolean) = a == b
|
||||
fun testBoolean2(a: Boolean?, b: Boolean) = a != b
|
||||
|
||||
|
||||
+2
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36646 Don't box primitive values in equality comparison with nullable primitive values in JVM_IR
|
||||
|
||||
fun testBoolean1(a: Boolean, b: Boolean?) = a == b
|
||||
fun testBoolean2(a: Boolean, b: Boolean?) = a != b
|
||||
|
||||
|
||||
+2
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36646 Don't box primitive values in equality comparison with nullable primitive values in JVM_IR
|
||||
|
||||
fun testBoolean1(a: Boolean, b: Any?) = a == b
|
||||
fun testBoolean2(a: Boolean, b: Any?) = a != b
|
||||
|
||||
|
||||
@@ -17,5 +17,11 @@ fun infiniteLoop() {
|
||||
while(true) {}
|
||||
}
|
||||
|
||||
// JVM_TEMPLATES
|
||||
// 2 GOTO L7
|
||||
// 1 GOTO L1
|
||||
// 1 GOTO L1
|
||||
|
||||
// JVM_IR_TEMPLATES
|
||||
// 1 GOTO L6
|
||||
// 1 GOTO L7
|
||||
// 1 GOtO L0
|
||||
+2
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36769 Missing LVT entries for inline function (default) parameters at call site
|
||||
|
||||
inline fun test(p: String = "OK"): String {
|
||||
return p
|
||||
}
|
||||
|
||||
+2
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36771 Missing special code for super calls to inline functions support in JVM_IR
|
||||
|
||||
//open modality to method handle check generation
|
||||
open class A {
|
||||
inline fun test(p: String = "OK"): String {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
fun test() {
|
||||
fun local(s: Int) {
|
||||
}
|
||||
@@ -6,4 +5,8 @@ fun test() {
|
||||
local(1)
|
||||
}
|
||||
|
||||
// 2 invoke \(I\)V
|
||||
// JVM_TEMPLATES
|
||||
// 2 invoke \(I\)V
|
||||
|
||||
// JVM_IR_TEMPLATES
|
||||
// 1 INVOKESTATIC LocalFunKt\.test\$local \(I\)V
|
||||
@@ -1,4 +1,6 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36772 Equality compaison between enums should use reference equality in JVM_IR
|
||||
|
||||
enum class Bar {
|
||||
ONE,
|
||||
TWO
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36773 Use counter loop when generating 'for' loop over an unsigned range in JVM_IR
|
||||
|
||||
fun testUIntRangeLiteral(a: UInt, b: UInt): Int {
|
||||
var s = 0
|
||||
|
||||
compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
val xs = listOf<Any>().asSequence()
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
fun <T : Sequence<*>> test(sequence: T): String {
|
||||
val s = StringBuilder()
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
val xs = listOf("a", "b", "c", "d").asSequence()
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
val xs = listOf("a", "b", "c", "d").asSequence()
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
val xs = listOf("a", "b", "c", "d").asSequence()
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
// FULL_JDK
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36774 Generate optimized loops over 'xs.withIndex()' in JVM_IR
|
||||
// TODO: Handle Sequences by extending DefaultIterableHandler.
|
||||
val xs = listOf("a", "b", "c", "d").asSequence()
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
inline fun <reified T : Enum<T>> myValues(): String {
|
||||
val values = enumValues<T>()
|
||||
return "OK"
|
||||
@@ -14,12 +13,23 @@ fun main() {
|
||||
value<Z>()
|
||||
}
|
||||
|
||||
// JVM_TEMPLATES
|
||||
//2 reifiedOperationMarker
|
||||
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ICONST_0\s*ANEWARRAY java/lang/Enum
|
||||
//1 INVOKESTATIC Z\.values \(\)\[LZ;
|
||||
|
||||
//4 valueOf
|
||||
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ACONST_NULL\s*ALOAD 2\s*INVOKESTATIC java/lang/Enum\.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|
||||
//1 INVOKESTATIC Z\.valueOf \(Ljava/lang/String;\)LZ;
|
||||
//1 public static valueOf
|
||||
//2 INVOKESTATIC java/lang/Enum.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|
||||
|
||||
// JVM_IR_TEMPLATES
|
||||
//2 reifiedOperationMarker
|
||||
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ICONST_0\s*ANEWARRAY java/lang/Enum
|
||||
//1 INVOKESTATIC Z\.values \(\)\[LZ;
|
||||
//4 valueOf
|
||||
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ACONST_NULL\s*ALOAD 2\s*INVOKESTATIC java/lang/Enum\.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|
||||
//1 INVOKESTATIC Z\.valueOf \(Ljava/lang/String;\)LZ;
|
||||
//1 public final static valueOf
|
||||
// ^ valueOf is generated as 'public final static' in JVM_IR
|
||||
//2 INVOKESTATIC java/lang/Enum.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|
||||
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR
|
||||
|
||||
inline class UInt(val value: Int)
|
||||
inline class ULong(val value: Long)
|
||||
|
||||
+6
-1
@@ -1,5 +1,6 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR
|
||||
|
||||
inline class Foo(val x: Int) {
|
||||
fun empty() {}
|
||||
@@ -16,4 +17,8 @@ inline class Foo(val x: Int) {
|
||||
// 1 INVOKESTATIC Foo\.empty-impl \(I\)V
|
||||
// 1 INVOKESTATIC Foo\.withParam-impl \(ILjava/lang/String;\)V
|
||||
// 1 INVOKESTATIC Foo\.withInlineClassParam-GWb7d6U \(II\)V
|
||||
// 5 INVOKEVIRTUAL
|
||||
// 5 INVOKEVIRTUAL
|
||||
// 2 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/String;\)Ljava/lang/StringBuilder;
|
||||
// 1 INVOKEVIRTUAL java/lang/StringBuilder\.append \(I\)Ljava/lang/StringBuilder;
|
||||
// 1 INVOKEVIRTUAL java/lang/StringBuilder.toString \(\)Ljava/lang/String;
|
||||
// 1 INVOKEVIRTUAL Foo.unbox-impl \(\)I
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR
|
||||
|
||||
inline class UInt(private val value: Int)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user