summaryrefslogtreecommitdiffstats
path: root/dx
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2009-06-19 12:44:08 -0700
committerMarco Nelissen <marcone@google.com>2009-06-19 12:44:08 -0700
commit43c5658262370beac0b13286d6d7d1b330113e62 (patch)
tree0c333cf95b7e02c41e1bc45b4819daeb111c2cf1 /dx
parent47309850f9ad8f1ba446772b6f2a40d0e3499fc1 (diff)
downloadandroid_dalvik-43c5658262370beac0b13286d6d7d1b330113e62.tar.gz
android_dalvik-43c5658262370beac0b13286d6d7d1b330113e62.tar.bz2
android_dalvik-43c5658262370beac0b13286d6d7d1b330113e62.zip
Replace an iterator with a traditional for loop, to reduce object allocations and memory usage.
Diffstat (limited to 'dx')
-rw-r--r--dx/src/com/android/dx/ssa/SsaBasicBlock.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/dx/src/com/android/dx/ssa/SsaBasicBlock.java b/dx/src/com/android/dx/ssa/SsaBasicBlock.java
index 378780d03..ab0e12258 100644
--- a/dx/src/com/android/dx/ssa/SsaBasicBlock.java
+++ b/dx/src/com/android/dx/ssa/SsaBasicBlock.java
@@ -950,8 +950,11 @@ public final class SsaBasicBlock {
* @param visitor {@code non-null;} callback interface
*/
public void forEachInsn(SsaInsn.Visitor visitor) {
- for (SsaInsn insn : insns) {
- insn.accept(visitor);
+ // This gets called a LOT, and not using an iterator
+ // saves a lot of allocations and reduces memory usage
+ int len = insns.size();
+ for (int i = 0; i < len; i++) {
+ insns.get(i).accept(visitor);
}
}