diff options
author | 2016-04-22 16:57:00 +0100 | |
---|---|---|
committer | 2016-04-22 16:57:00 +0100 | |
commit | c120bbe26fe116d3c9d8322f44bb9e330e07f745 (patch) | |
tree | 63e503da272d0be6d6dc243c29d4e7b184705710 /test/572-checker-array-get-regression/src | |
parent | 121c8a6494f2224830ed0ca33df5af0d8c077647 (diff) |
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
Diffstat (limited to 'test/572-checker-array-get-regression/src')
-rw-r--r-- | test/572-checker-array-get-regression/src/Main.java | 8 |
1 files changed, 3 insertions, 5 deletions
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: <<Const2P19:i\d+>> IntConstant 524288 /// CHECK-DAG: <<ConstM1:i\d+>> IntConstant -1 /// CHECK-DAG: <<Array:l\d+>> NewArray [<<Const2P19>>,<<Method>>] - /// CHECK-DAG: <<NullCheck1:l\d+>> NullCheck [<<Array>>] - /// CHECK-DAG: <<Length1:i\d+>> ArrayLength [<<NullCheck1>>] + /// CHECK-DAG: <<Length1:i\d+>> ArrayLength [<<Array>>] /// CHECK-DAG: <<Index:i\d+>> Add [<<Length1>>,<<ConstM1>>] - /// CHECK-DAG: <<NullCheck2:l\d+>> NullCheck [<<Array>>] - /// CHECK-DAG: <<Length2:i\d+>> ArrayLength [<<NullCheck2>>] + /// CHECK-DAG: <<Length2:i\d+>> ArrayLength [<<Array>>] /// CHECK-DAG: <<BoundsCheck:i\d+>> BoundsCheck [<<Index>>,<<Length2>>] - /// CHECK-DAG: <<LastElement:l\d+>> ArrayGet [<<NullCheck2>>,<<BoundsCheck>>] + /// CHECK-DAG: <<LastElement:l\d+>> ArrayGet [<<Array>>,<<BoundsCheck>>] /// CHECK-DAG: Return [<<LastElement>>] |