diff options
| author | 2017-11-29 23:01:58 -0800 | |
|---|---|---|
| committer | 2017-12-03 23:14:53 -0800 | |
| commit | 206070c99219584d9b873a8a17aad3a213128575 (patch) | |
| tree | 85537591c9d3345ccd978cd017a93c2adb0adafe /test/532-checker-nonnull-arrayset/src/Main.java | |
| parent | 45d3efbc433e321d0fdb3de54b01cf056c3d85ba (diff) | |
Enhance removed loads/substitutes in LSE.
LSE does load removal in the end in order to maintain the validity of
all the heap locations collected in the first pass. We should however
proactively retrieve a removed load's substitute as its value. This
simplifies the handling of substitutes by making sure the substitute
itself has no substitute. It also enables some additional optimizations
by using the true heap value for merging/same-value test, etc.
Test: run-test on host.
Change-Id: I26d97e7794d80a141ab02bf446dd07656f5cde1d
Diffstat (limited to 'test/532-checker-nonnull-arrayset/src/Main.java')
| -rw-r--r-- | test/532-checker-nonnull-arrayset/src/Main.java | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/test/532-checker-nonnull-arrayset/src/Main.java b/test/532-checker-nonnull-arrayset/src/Main.java index 61c9e88e9e..f6f877c559 100644 --- a/test/532-checker-nonnull-arrayset/src/Main.java +++ b/test/532-checker-nonnull-arrayset/src/Main.java @@ -29,9 +29,7 @@ public class Main { /// CHECK-NOT: test /// CHECK: ReturnVoid public static void test() { - Object[] array = new Object[2]; - // Storing to static to avoid some lse optimization. - sArray = array; + Object[] array = sArray; Object nonNull = array[0]; nonNull.getClass(); // Ensure nonNull has an implicit null check. array[1] = nonNull; |