| Index: src/code-stub-assembler.cc
|
| diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
|
| index 63f2462884f421350e33818b4c260c2867c3e5c2..a12587751cc4b8ded25ef17d5e226a92c1dc0ad3 100644
|
| --- a/src/code-stub-assembler.cc
|
| +++ b/src/code-stub-assembler.cc
|
| @@ -3363,7 +3363,8 @@ Node* ToDirectStringAssembler::TryToDirect(Label* if_bailout) {
|
| Label if_isthin(this);
|
| Label out(this);
|
|
|
| - Goto(&dispatch);
|
| + Branch(IsSequentialStringInstanceType(var_instance_type_.value()), &out,
|
| + &dispatch);
|
|
|
| // Dispatch based on string representation.
|
| Bind(&dispatch);
|
| @@ -3440,7 +3441,7 @@ Node* ToDirectStringAssembler::TryToSequential(StringPointerKind ptr_kind,
|
| CHECK(ptr_kind == PTR_TO_DATA || ptr_kind == PTR_TO_STRING);
|
|
|
| Variable var_result(this, MachineType::PointerRepresentation());
|
| - Label out(this), if_issequential(this), if_isexternal(this);
|
| + Label out(this), if_issequential(this), if_isexternal(this, Label::kDeferred);
|
| Branch(is_external(), &if_isexternal, &if_issequential);
|
|
|
| Bind(&if_issequential);
|
|
|