Skip null check in MarkGCCard() for known non-null values.
Use GVN's knowledge of non-null values to set a new MIR flag
for IPUT/SPUT/APUT to skip the value null check.
Change-Id: I97a8d1447acb530c9bbbf7b362add366d1486ee1
diff --git a/compiler/dex/quick/mir_to_lir.h b/compiler/dex/quick/mir_to_lir.h
index 886b238..49b8452 100644
--- a/compiler/dex/quick/mir_to_lir.h
+++ b/compiler/dex/quick/mir_to_lir.h
@@ -1075,8 +1075,9 @@
* @brief Mark a garbage collection card. Skip if the stored value is null.
* @param val_reg the register holding the stored value to check against null.
* @param tgt_addr_reg the address of the object or array where the value was stored.
+ * @param opt_flags the optimization flags which may indicate that the value is non-null.
*/
- void MarkGCCard(RegStorage val_reg, RegStorage tgt_addr_reg);
+ void MarkGCCard(int opt_flags, RegStorage val_reg, RegStorage tgt_addr_reg);
/*
* @brief Load the address of the dex method into the register.