summaryrefslogtreecommitdiff
path: root/test/files/run/t5313.check
diff options
context:
space:
mode:
authorJames Iry <jamesiry@gmail.com>2013-01-23 16:01:59 -0800
committerJames Iry <jamesiry@gmail.com>2013-01-28 21:47:54 -0800
commiteab288442931f01b5bad2dcfa244a6183db0f4b6 (patch)
tree0f0d655e29c134f621ff2bc97c2f873c4d215a6a /test/files/run/t5313.check
parentcc3b9a23ebb453b827197e5ab5cba46a9e770f0c (diff)
downloadscala-eab288442931f01b5bad2dcfa244a6183db0f4b6.tar.gz
scala-eab288442931f01b5bad2dcfa244a6183db0f4b6.tar.bz2
scala-eab288442931f01b5bad2dcfa244a6183db0f4b6.zip
SI-5313 Do not eliminate stores that potentially wipe referenes
Storing to local variables of reference or array type is indirectly observable because it potentially allows gc to collect an object. So this commit makes DeadCodeElimination mark a store necessary if it assigns to a local that potentially stored by a previous necessary store.
Diffstat (limited to 'test/files/run/t5313.check')
-rw-r--r--test/files/run/t5313.check8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/files/run/t5313.check b/test/files/run/t5313.check
new file mode 100644
index 0000000000..dd8791f109
--- /dev/null
+++ b/test/files/run/t5313.check
@@ -0,0 +1,8 @@
+STORE_LOCAL(variable kept1)
+STORE_LOCAL(value result)
+STORE_LOCAL(variable kept1)
+STORE_LOCAL(variable kept2)
+STORE_LOCAL(value kept3)
+STORE_LOCAL(variable kept2)
+STORE_LOCAL(variable kept4)
+STORE_LOCAL(variable kept4)