From 759bf42858c71880e7e64af2836002b0edb80eec Mon Sep 17 00:00:00 2001 From: "alexandre.rames@arm.com" Date: Fri, 21 Mar 2014 15:08:50 +0000 Subject: [PATCH] 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 --- src/arm64/regexp-macro-assembler-arm64.cc | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) 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); -- 2.7.4