diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-01-25 10:56:53 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-01-25 11:28:57 +0100 |
commit | 9f7446450fec15d7563e5dcd0c12f56350951b7d (patch) | |
tree | 5bfc9caa961c95f0678e39897942c7cc061c5730 /test/pending | |
parent | 405ada956f6e8b4e765f0e56e61d9c954f868f18 (diff) | |
download | scala-9f7446450fec15d7563e5dcd0c12f56350951b7d.tar.gz scala-9f7446450fec15d7563e5dcd0c12f56350951b7d.tar.bz2 scala-9f7446450fec15d7563e5dcd0c12f56350951b7d.zip |
Rewrite test for inlining from sealed class
Diffstat (limited to 'test/pending')
-rw-r--r-- | test/pending/pos/sealed-final.flags | 41 | ||||
-rw-r--r-- | test/pending/pos/sealed-final.scala | 14 |
2 files changed, 0 insertions, 55 deletions
diff --git a/test/pending/pos/sealed-final.flags b/test/pending/pos/sealed-final.flags deleted file mode 100644 index 63d024a0ba..0000000000 --- a/test/pending/pos/sealed-final.flags +++ /dev/null @@ -1,41 +0,0 @@ --Xfatal-warnings -Yinline-warnings -Ybackend:GenASM -optimise -/* -The new flag settings could be - -Yopt-warnings -Yopt:l:project - -The issue here is that things are being inlined, but a lot of -redundant load/store instructions are left behind: - -2.11.7: - - public int f(); - Code: - 0: getstatic #19 // Field Foo$.MODULE$:LFoo$; - 3: invokevirtual #23 // Method Foo$.mkFoo:()LFoo; - 6: pop - 7: bipush 10 - 9: iconst_1 - 10: iadd - 11: ireturn - - -2.12.0-M3: - - public int f(); - Code: - 0: getstatic #19 // Field Foo$.MODULE$:LFoo$; - 3: invokevirtual #23 // Method Foo$.mkFoo:()LFoo; - 6: bipush 10 - 8: istore_2 - 9: dup - 10: ifnonnull 15 - 13: aconst_null - 14: athrow - 15: astore_1 - 16: iload_2 - 17: iconst_1 - 18: iadd - 19: istore_3 - 20: iload_3 - 21: ireturn -*/
\ No newline at end of file diff --git a/test/pending/pos/sealed-final.scala b/test/pending/pos/sealed-final.scala deleted file mode 100644 index bdedb5c1f6..0000000000 --- a/test/pending/pos/sealed-final.scala +++ /dev/null @@ -1,14 +0,0 @@ -sealed abstract class Foo { - @inline def bar(x: Int) = x + 1 -} -object Foo { - def mkFoo(): Foo = new Baz2 -} - -object Baz1 extends Foo -final class Baz2 extends Foo - -object Test { - // bar should be inlined now - def f = Foo.mkFoo() bar 10 -} |