Skip unreachable blocks when looking for next emitted block.
Goto does not emit a jump if the target is the next emitted block. However, if there is an unreachable block between Goto and the jump target, we still emit a jump even though the unreachable block is not actually emitted. That jump is unnecessary. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/174883002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b83b8b9ed4
commit
0a5113b69f
@ -142,6 +142,7 @@ void LCodeGenBase::Comment(const char* format, ...) {
|
||||
|
||||
int LCodeGenBase::GetNextEmittedBlock() const {
|
||||
for (int i = current_block_ + 1; i < graph()->blocks()->length(); ++i) {
|
||||
if (!graph()->blocks()->at(i)->IsReachable()) continue;
|
||||
if (!chunk_->GetLabel(i)->HasReplacement()) return i;
|
||||
}
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user