| Index: src/a64/codegen-a64.cc
|
| diff --git a/src/a64/codegen-a64.cc b/src/a64/codegen-a64.cc
|
| index 924c271b3024fd8c197082cd53237a779f70bc66..27d2a431182721c013880b805d59e2eb0cae8b37 100644
|
| --- a/src/a64/codegen-a64.cc
|
| +++ b/src/a64/codegen-a64.cc
|
| @@ -479,7 +479,10 @@ void StringCharLoadGenerator::Generate(MacroAssembler* masm,
|
| }
|
| // Rule out short external strings.
|
| STATIC_CHECK(kShortExternalStringTag != 0);
|
| - __ TestAndBranchIfAnySet(result, kShortExternalStringMask, call_runtime);
|
| + // TestAndBranchIfAnySet can emit Tbnz. Do not use it because call_runtime
|
| + // can be bound far away in deferred code.
|
| + __ Tst(result, kShortExternalStringMask);
|
| + __ B(ne, call_runtime);
|
| __ Ldr(string, FieldMemOperand(string, ExternalString::kResourceDataOffset));
|
|
|
| Label ascii, done;
|
|
|