From c120bbe26fe116d3c9d8322f44bb9e330e07f745 Mon Sep 17 00:00:00 2001 From: David Brazdil Date: Fri, 22 Apr 2016 16:57:00 +0100 Subject: ART: Naive NullCheck elimination in InstructionBuilder Save a little bit of memory by not generating trivially redundant HNullCheck instructions. This patch builds on the fact that the InstructionBuilder now directly generates SSA form and looks at the input of the NullCheck. For obvious cases, such as NewInstance/Array or `this`, the NullCheck generation is completely avoided. Bug: 28173563 Change-Id: I1fdf3b096c7a939f7b8586c02a2a6b44dfa43443 --- test/572-checker-array-get-regression/src/Main.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'test/572-checker-array-get-regression/src/Main.java') diff --git a/test/572-checker-array-get-regression/src/Main.java b/test/572-checker-array-get-regression/src/Main.java index b55be706f4..89b97ed316 100644 --- a/test/572-checker-array-get-regression/src/Main.java +++ b/test/572-checker-array-get-regression/src/Main.java @@ -25,13 +25,11 @@ public class Main { /// CHECK-DAG: <> IntConstant 524288 /// CHECK-DAG: <> IntConstant -1 /// CHECK-DAG: <> NewArray [<>,<>] - /// CHECK-DAG: <> NullCheck [<>] - /// CHECK-DAG: <> ArrayLength [<>] + /// CHECK-DAG: <> ArrayLength [<>] /// CHECK-DAG: <> Add [<>,<>] - /// CHECK-DAG: <> NullCheck [<>] - /// CHECK-DAG: <> ArrayLength [<>] + /// CHECK-DAG: <> ArrayLength [<>] /// CHECK-DAG: <> BoundsCheck [<>,<>] - /// CHECK-DAG: <> ArrayGet [<>,<>] + /// CHECK-DAG: <> ArrayGet [<>,<>] /// CHECK-DAG: Return [<>] -- cgit v1.2.3-59-g8ed1b