From b765a3f7f7b7c7efaab5fb331796b53439dbe04c Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Thu, 10 May 2018 14:47:48 -0700 Subject: 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 --- test/586-checker-null-array-get/src/Main.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'test/586-checker-null-array-get/src/Main.java') 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: <> ArrayGet [<>,{{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]; -- cgit v1.2.3-59-g8ed1b