summaryrefslogtreecommitdiff
path: root/test/pending
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-01-25 10:56:53 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2016-01-25 11:28:57 +0100
commit9f7446450fec15d7563e5dcd0c12f56350951b7d (patch)
tree5bfc9caa961c95f0678e39897942c7cc061c5730 /test/pending
parent405ada956f6e8b4e765f0e56e61d9c954f868f18 (diff)
downloadscala-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.flags41
-rw-r--r--test/pending/pos/sealed-final.scala14
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
-}