| Index: src/a64/lithium-a64.cc
|
| diff --git a/src/a64/lithium-a64.cc b/src/a64/lithium-a64.cc
|
| index 4fa9712c2a87309bf1b05860879e7e406400bb69..604a870858e84fc9d647b4ac99bb97909dc2e9f6 100644
|
| --- a/src/a64/lithium-a64.cc
|
| +++ b/src/a64/lithium-a64.cc
|
| @@ -297,6 +297,14 @@ void LStoreNamedGeneric::PrintDataTo(StringStream* stream) {
|
| }
|
|
|
|
|
| +void LStringCompareAndBranch::PrintDataTo(StringStream* stream) {
|
| + stream->Add("if string_compare(");
|
| + left()->PrintTo(stream);
|
| + right()->PrintTo(stream);
|
| + stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
|
| +}
|
| +
|
| +
|
| void LTransitionElementsKind::PrintDataTo(StringStream* stream) {
|
| object()->PrintTo(stream);
|
| stream->Add("%p -> %p", *original_map(), *transitioned_map());
|
| @@ -2112,7 +2120,13 @@ LInstruction* LChunkBuilder::DoStringCharFromCode(HStringCharFromCode* instr) {
|
|
|
| LInstruction* LChunkBuilder::DoStringCompareAndBranch(
|
| HStringCompareAndBranch* instr) {
|
| - UNIMPLEMENTED_INSTRUCTION();
|
| + ASSERT(instr->left()->representation().IsTagged());
|
| + ASSERT(instr->right()->representation().IsTagged());
|
| + LOperand* left = UseFixed(instr->left(), x1);
|
| + LOperand* right = UseFixed(instr->right(), x0);
|
| + LStringCompareAndBranch* result =
|
| + new(zone()) LStringCompareAndBranch(left, right);
|
| + return MarkAsCall(result, instr);
|
| }
|
|
|
|
|
|
|