summaryrefslogtreecommitdiffstats
path: root/compiler/dex/dataflow_iterator.h
diff options
context:
space:
mode:
authorbuzbee <buzbee@google.com>2013-10-11 15:24:55 -0700
committerbuzbee <buzbee@google.com>2013-10-21 12:15:45 -0700
commit0d82948094d9a198e01aa95f64012bdedd5b6fc9 (patch)
treec219c9dd2f1ae3b18245aafac4fb00970d5266a3 /compiler/dex/dataflow_iterator.h
parent409fe94ad529d9334587be80b9f6a3d166805508 (diff)
downloadandroid_art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.tar.gz
android_art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.tar.bz2
android_art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.zip
64-bit prep
Preparation for 64-bit roll. o Eliminated storing pointers in 32-bit int slots in LIR. o General size reductions of common structures to reduce impact of doubled pointer sizes: - BasicBlock struct was 72 bytes, now is 48. - MIR struct was 72 bytes, now is 64. - RegLocation was 12 bytes, now is 8. o Generally replaced uses of BasicBlock* pointers with 16-bit Ids. o Replaced several doubly-linked lists with singly-linked to save one stored pointer per node. o We had quite a few uses of uintptr_t's that were a holdover from the JIT (which used pointers to mapped dex & actual code cache addresses rather than trace-relative offsets). Replaced those with uint32_t's. o Clean up handling of embedded data for switch tables and array data. o Miscellaneous cleanup. I anticipate one or two additional CLs to reduce the size of MIR and LIR structs. Change-Id: I58e426d3f8e5efe64c1146b2823453da99451230
Diffstat (limited to 'compiler/dex/dataflow_iterator.h')
-rw-r--r--compiler/dex/dataflow_iterator.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/dex/dataflow_iterator.h b/compiler/dex/dataflow_iterator.h
index 1dab54ea72..26e36653be 100644
--- a/compiler/dex/dataflow_iterator.h
+++ b/compiler/dex/dataflow_iterator.h
@@ -39,7 +39,7 @@ namespace art {
virtual ~DataflowIterator() {}
protected:
- DataflowIterator(MIRGraph* mir_graph, int start_idx, int end_idx)
+ DataflowIterator(MIRGraph* mir_graph, int32_t start_idx, int32_t end_idx)
: mir_graph_(mir_graph),
start_idx_(start_idx),
end_idx_(end_idx),
@@ -53,10 +53,10 @@ namespace art {
virtual BasicBlock* ReverseRepeatNext(bool had_change) ALWAYS_INLINE;
MIRGraph* const mir_graph_;
- const int start_idx_;
- const int end_idx_;
- GrowableArray<int>* block_id_list_;
- int idx_;
+ const int32_t start_idx_;
+ const int32_t end_idx_;
+ GrowableArray<BasicBlockId>* block_id_list_;
+ int32_t idx_;
bool changed_;
}; // DataflowIterator