summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator_arm.cc
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-06-26 09:59:52 +0000
committerDavid Brazdil <dbrazdil@google.com>2015-06-26 09:59:52 +0000
commit3e18738bd338e9f8363b26bc895f38c0ec682824 (patch)
tree708013ef06cfb524f040b2b5c494f7f3cb84ac2c /compiler/optimizing/code_generator_arm.cc
parent0b5c7d1994b76090afcc825e737f2b8c546da2f8 (diff)
Revert "ART: Implement try/catch blocks in Builder"
Causes OutOfMemory issues, need to investigate. This reverts commit 0b5c7d1994b76090afcc825e737f2b8c546da2f8. Change-Id: I263e6cc4df5f9a56ad2ce44e18932ca51d7e349f
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r--compiler/optimizing/code_generator_arm.cc28
1 files changed, 7 insertions, 21 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc
index ff9373ab00..9abe2e7be4 100644
--- a/compiler/optimizing/code_generator_arm.cc
+++ b/compiler/optimizing/code_generator_arm.cc
@@ -431,7 +431,7 @@ void CodeGeneratorARM::Finalize(CodeAllocator* allocator) {
// FirstNonEmptyBlock() which could lead to adjusting a label more than once.
DCHECK_LT(static_cast<size_t>(block->GetBlockId()), block_labels_.Size());
Label* block_label = &block_labels_.GetRawStorage()[block->GetBlockId()];
- DCHECK_EQ(block_label->IsBound(), !block->IsSingleJump());
+ DCHECK_EQ(block_label->IsBound(), !block->IsSingleGoto());
if (block_label->IsBound()) {
__ AdjustLabelPosition(block_label);
}
@@ -962,7 +962,12 @@ void CodeGeneratorARM::InvokeRuntime(int32_t entry_point_offset,
|| !IsLeafMethod());
}
-void InstructionCodeGeneratorARM::HandleGoto(HInstruction* got, HBasicBlock* successor) {
+void LocationsBuilderARM::VisitGoto(HGoto* got) {
+ got->SetLocations(nullptr);
+}
+
+void InstructionCodeGeneratorARM::VisitGoto(HGoto* got) {
+ HBasicBlock* successor = got->GetSuccessor();
DCHECK(!successor->IsExitBlock());
HBasicBlock* block = got->GetBlock();
@@ -983,25 +988,6 @@ void InstructionCodeGeneratorARM::HandleGoto(HInstruction* got, HBasicBlock* suc
}
}
-void LocationsBuilderARM::VisitGoto(HGoto* got) {
- got->SetLocations(nullptr);
-}
-
-void InstructionCodeGeneratorARM::VisitGoto(HGoto* got) {
- HandleGoto(got, got->GetSuccessor());
-}
-
-void LocationsBuilderARM::VisitTryBoundary(HTryBoundary* try_boundary) {
- try_boundary->SetLocations(nullptr);
-}
-
-void InstructionCodeGeneratorARM::VisitTryBoundary(HTryBoundary* try_boundary) {
- HBasicBlock* successor = try_boundary->GetNormalFlowSuccessor();
- if (!successor->IsExitBlock()) {
- HandleGoto(try_boundary, successor);
- }
-}
-
void LocationsBuilderARM::VisitExit(HExit* exit) {
exit->SetLocations(nullptr);
}