diff options
author | Aart Bik <ajcbik@google.com> | 2018-05-10 14:47:48 -0700 |
---|---|---|
committer | Aart Bik <ajcbik@google.com> | 2018-05-15 13:23:29 -0700 |
commit | b765a3f7f7b7c7efaab5fb331796b53439dbe04c (patch) | |
tree | feba405a8f483f2dcf14ceab0528848f24468e91 /test/586-checker-null-array-get/src/Main.java | |
parent | 487ad46b7ee79eb4a03d3560072c309280069c04 (diff) |
Refactoring LSE/LSA: introduce heap location type
Rationale:
This refactoring introduces data types to heap locations.
This will allow better type disambiguation in the future.
As a first showcase, it already removes rather error-prone
"exceptional" code in LSE dealing with array types on null
values. Furthermore, many LSA specific details started to "leak"
into clients, which is also error-prone. This refactoring moves
such details back into just LSA, where it belongs.
Test: test-art-host,target
Bug: b/77906240
Change-Id: Id327bbe86dde451a942c9c5f9e83054c36241882
Diffstat (limited to 'test/586-checker-null-array-get/src/Main.java')
-rw-r--r-- | test/586-checker-null-array-get/src/Main.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/test/586-checker-null-array-get/src/Main.java b/test/586-checker-null-array-get/src/Main.java index de9429fd8b..ebe91cfe1e 100644 --- a/test/586-checker-null-array-get/src/Main.java +++ b/test/586-checker-null-array-get/src/Main.java @@ -107,9 +107,8 @@ public class Main { /// CHECK-DAG: <<GetJ3:j\d+>> ArrayGet [<<CheckJ>>,{{i\d+}}] public static void bar() { // We create multiple accesses that will lead the bounds check - // elimination pass to add a HDeoptimize. Not having the bounds check helped - // the load store elimination think it could merge two ArrayGet with different - // types. + // elimination pass to add a HDeoptimize. Not having the bounds check + // makes the ArrayGets look almost the same if it were not for the type! String[] array = (String[])getNull(); objectField = array[0]; objectField = array[1]; |