summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSerguei Katkov <serguei.i.katkov@intel.com>2015-07-14 19:04:48 +0600
committerVladimir Marko <vmarko@google.com>2015-07-16 13:41:44 +0100
commit3b7660dea62f2940c8ade2cbc26792d341284dfe (patch)
treeb594d24045c14241e82e2cec7715a07ff0260d1f /test
parent22ee090292e9f2ab0326600a467294ecb8b0e2ad (diff)
downloadart-3b7660dea62f2940c8ade2cbc26792d341284dfe.zip
art-3b7660dea62f2940c8ade2cbc26792d341284dfe.tar.gz
art-3b7660dea62f2940c8ade2cbc26792d341284dfe.tar.bz2
ART: DCE should know that array-length can throw NPE
array-length can throw NPE so it should be taking into account. Bug: 22521944 Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com> (cherry picked from commit b016c6dd3c30b04104a0a43dc294ce93e5f63874) Change-Id: I6232430a02f9e6d156ad2aae0eb5a630118c0e79
Diffstat (limited to 'test')
-rw-r--r--test/140-dce-regression/expected.txt1
-rw-r--r--test/140-dce-regression/info.txt1
-rw-r--r--test/140-dce-regression/src/Main.java33
3 files changed, 35 insertions, 0 deletions
diff --git a/test/140-dce-regression/expected.txt b/test/140-dce-regression/expected.txt
new file mode 100644
index 0000000..863339f
--- /dev/null
+++ b/test/140-dce-regression/expected.txt
@@ -0,0 +1 @@
+Passed
diff --git a/test/140-dce-regression/info.txt b/test/140-dce-regression/info.txt
new file mode 100644
index 0000000..de6ad34
--- /dev/null
+++ b/test/140-dce-regression/info.txt
@@ -0,0 +1 @@
+Regression test for quick dead code elimination.
diff --git a/test/140-dce-regression/src/Main.java b/test/140-dce-regression/src/Main.java
new file mode 100644
index 0000000..f255029
--- /dev/null
+++ b/test/140-dce-regression/src/Main.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class Main {
+
+ public static void testArrayLength() {
+ int[] arr = null;
+ int len = 0;
+ try {
+ len = arr.length;
+ len = 5;
+ } catch (NullPointerException npe) {
+ System.out.println("Passed");
+ }
+ }
+
+ public static void main(String[] args) {
+ testArrayLength();
+ }
+}