summaryrefslogtreecommitdiff
path: root/test/532-checker-nonnull-arrayset/src/Main.java
diff options
context:
space:
mode:
author Mingyao Yang <mingyao@google.com> 2017-03-01 14:03:51 -0800
committer Mingyao Yang <mingyao@google.com> 2017-03-06 10:22:17 -0800
commit86974900268b1d903d74b39a32746d60c77d21f3 (patch)
treede0ef3b3499611fa07a6989462ed60400c15a588 /test/532-checker-nonnull-arrayset/src/Main.java
parentb2a6d1218c527a685c421984292c47d241cf4a11 (diff)
Array store/allocation elimination
Allow array store/allocation elimination if it's only accessed by constant index, so that there is no index-aliasing. Bug: 35634932 Test: m -j20 test-art-host-run-test Change-Id: Ief6e27f5bdbb30988ff4f318a34b4251c93865fa
Diffstat (limited to 'test/532-checker-nonnull-arrayset/src/Main.java')
-rw-r--r--test/532-checker-nonnull-arrayset/src/Main.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/532-checker-nonnull-arrayset/src/Main.java b/test/532-checker-nonnull-arrayset/src/Main.java
index 2c701bbb94..61c9e88e9e 100644
--- a/test/532-checker-nonnull-arrayset/src/Main.java
+++ b/test/532-checker-nonnull-arrayset/src/Main.java
@@ -30,10 +30,14 @@ public class Main {
/// CHECK: ReturnVoid
public static void test() {
Object[] array = new Object[2];
+ // Storing to static to avoid some lse optimization.
+ sArray = array;
Object nonNull = array[0];
nonNull.getClass(); // Ensure nonNull has an implicit null check.
array[1] = nonNull;
}
public static void main(String[] args) {}
+
+ static Object[] sArray;
}