From: alexandre.rames@arm.com Date: Fri, 21 Mar 2014 15:08:50 +0000 (+0000) Subject: A64: Now that we have veneers, fix a couple of branches to directly jump to their... X-Git-Tag: upstream/4.7.83~10082 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=759bf42858c71880e7e64af2836002b0edb80eec;p=platform%2Fupstream%2Fv8.git A64: Now that we have veneers, fix a couple of branches to directly jump to their target. R=ulan@chromium.org Review URL: https://codereview.chromium.org/207883002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/arm64/regexp-macro-assembler-arm64.cc b/src/arm64/regexp-macro-assembler-arm64.cc index 536580a..490facd 100644 --- a/src/arm64/regexp-macro-assembler-arm64.cc +++ b/src/arm64/regexp-macro-assembler-arm64.cc @@ -1481,12 +1481,7 @@ void RegExpMacroAssemblerARM64::BranchOrBacktrack(Condition condition, if (to == NULL) { to = &backtrack_label_; } - // TODO(ulan): do direct jump when jump distance is known and fits in imm19. - Condition inverted_condition = InvertCondition(condition); - Label no_branch; - __ B(inverted_condition, &no_branch); - __ B(to); - __ Bind(&no_branch); + __ B(condition, to); } void RegExpMacroAssemblerARM64::CompareAndBranchOrBacktrack(Register reg, @@ -1497,15 +1492,11 @@ void RegExpMacroAssemblerARM64::CompareAndBranchOrBacktrack(Register reg, if (to == NULL) { to = &backtrack_label_; } - // TODO(ulan): do direct jump when jump distance is known and fits in imm19. - Label no_branch; if (condition == eq) { - __ Cbnz(reg, &no_branch); + __ Cbz(reg, to); } else { - __ Cbz(reg, &no_branch); + __ Cbnz(reg, to); } - __ B(to); - __ Bind(&no_branch); } else { __ Cmp(reg, immediate); BranchOrBacktrack(condition, to);