diff options
author | buzbee <buzbee@google.com> | 2013-10-11 15:24:55 -0700 |
---|---|---|
committer | buzbee <buzbee@google.com> | 2013-10-21 12:15:45 -0700 |
commit | 0d82948094d9a198e01aa95f64012bdedd5b6fc9 (patch) | |
tree | c219c9dd2f1ae3b18245aafac4fb00970d5266a3 /compiler/dex/dataflow_iterator-inl.h | |
parent | 409fe94ad529d9334587be80b9f6a3d166805508 (diff) | |
download | art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.zip art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.tar.gz art-0d82948094d9a198e01aa95f64012bdedd5b6fc9.tar.bz2 |
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-inl.h')
-rw-r--r-- | compiler/dex/dataflow_iterator-inl.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/dex/dataflow_iterator-inl.h b/compiler/dex/dataflow_iterator-inl.h index 236c6f4..74f36dd 100644 --- a/compiler/dex/dataflow_iterator-inl.h +++ b/compiler/dex/dataflow_iterator-inl.h @@ -25,7 +25,7 @@ namespace art { inline BasicBlock* DataflowIterator::ForwardSingleNext() { BasicBlock* res = NULL; if (idx_ < end_idx_) { - int bb_id = block_id_list_->Get(idx_++); + BasicBlockId bb_id = block_id_list_->Get(idx_++); res = mir_graph_->GetBasicBlock(bb_id); } return res; @@ -40,7 +40,7 @@ inline BasicBlock* DataflowIterator::ForwardRepeatNext(bool had_change) { changed_ = false; } if (idx_ < end_idx_) { - int bb_id = block_id_list_->Get(idx_++); + BasicBlockId bb_id = block_id_list_->Get(idx_++); res = mir_graph_->GetBasicBlock(bb_id); } return res; @@ -50,7 +50,7 @@ inline BasicBlock* DataflowIterator::ForwardRepeatNext(bool had_change) { inline BasicBlock* DataflowIterator::ReverseSingleNext() { BasicBlock* res = NULL; if (idx_ >= 0) { - int bb_id = block_id_list_->Get(idx_--); + BasicBlockId bb_id = block_id_list_->Get(idx_--); res = mir_graph_->GetBasicBlock(bb_id); } return res; @@ -65,7 +65,7 @@ inline BasicBlock* DataflowIterator::ReverseRepeatNext(bool had_change) { changed_ = false; } if (idx_ >= 0) { - int bb_id = block_id_list_->Get(idx_--); + BasicBlockId bb_id = block_id_list_->Get(idx_--); res = mir_graph_->GetBasicBlock(bb_id); } return res; |