diff options
Diffstat (limited to 'test/files/jvm/constant-optimization')
-rw-r--r-- | test/files/jvm/constant-optimization/Foo_1.flags | 1 | ||||
-rw-r--r-- | test/files/jvm/constant-optimization/Foo_1.scala | 9 | ||||
-rw-r--r-- | test/files/jvm/constant-optimization/Test.scala | 27 |
3 files changed, 0 insertions, 37 deletions
diff --git a/test/files/jvm/constant-optimization/Foo_1.flags b/test/files/jvm/constant-optimization/Foo_1.flags deleted file mode 100644 index 67a1dbe8da..0000000000 --- a/test/files/jvm/constant-optimization/Foo_1.flags +++ /dev/null @@ -1 +0,0 @@ --Ynooptimise -Yconst-opt -Ybackend:GenASM
\ No newline at end of file diff --git a/test/files/jvm/constant-optimization/Foo_1.scala b/test/files/jvm/constant-optimization/Foo_1.scala deleted file mode 100644 index cb67ad4e90..0000000000 --- a/test/files/jvm/constant-optimization/Foo_1.scala +++ /dev/null @@ -1,9 +0,0 @@ -class Foo_1 { - def foo() { - // constant optimization should eliminate all branches - val i = 1 - val x = if (i != 1) null else "good" - val y = if (x == null) "good" else x + "" - println(y) - } -}
\ No newline at end of file diff --git a/test/files/jvm/constant-optimization/Test.scala b/test/files/jvm/constant-optimization/Test.scala deleted file mode 100644 index dc0f8f6103..0000000000 --- a/test/files/jvm/constant-optimization/Test.scala +++ /dev/null @@ -1,27 +0,0 @@ - -import scala.tools.partest.BytecodeTest -import scala.tools.asm -import asm.tree.InsnList -import scala.collection.JavaConverters._ - -object Test extends BytecodeTest { - val comparisons = Set(asm.Opcodes.IF_ACMPEQ, asm.Opcodes.IF_ACMPNE, asm.Opcodes.IF_ICMPEQ, asm.Opcodes.IF_ICMPGE, asm.Opcodes.IF_ICMPGT, asm.Opcodes.IF_ICMPLE, - asm.Opcodes.IF_ICMPLT, asm.Opcodes.IF_ICMPNE, asm.Opcodes.IFEQ, asm.Opcodes.IFGE, asm.Opcodes.IFGT, asm.Opcodes.IFLE, asm.Opcodes.IFLT, - asm.Opcodes.IFNE, asm.Opcodes.IFNONNULL, asm.Opcodes.IFNULL) - - def show: Unit = { - val classNode = loadClassNode("Foo_1") - val methodNode = getMethod(classNode, "foo") - // after optimization there should be no comparisons left - val expected = 0 - - val got = countComparisons(methodNode.instructions) - assert(got == expected, s"expected $expected but got $got comparisons") - } - - def countComparisons(insnList: InsnList): Int = { - def isComparison(node: asm.tree.AbstractInsnNode): Boolean = - (comparisons contains node.getOpcode) - insnList.iterator.asScala count isComparison - } -}
\ No newline at end of file |