| Index: src/compiler/machine-graph-verifier.cc
|
| diff --git a/src/compiler/machine-graph-verifier.cc b/src/compiler/machine-graph-verifier.cc
|
| index d245779875c41b817c68553912428252167a34cd..9377affe55132e413a79c2833a786bf30c478bd6 100644
|
| --- a/src/compiler/machine-graph-verifier.cc
|
| +++ b/src/compiler/machine-graph-verifier.cc
|
| @@ -151,6 +151,11 @@ class MachineRepresentationInferrer {
|
| representation_vector_[node->id()] = PromoteRepresentation(
|
| AtomicExchangeRepresentationOf(node->op()).representation());
|
| break;
|
| + case IrOpcode::kAtomicCompareExchange:
|
| + representation_vector_[node->id()] = PromoteRepresentation(
|
| + AtomicCompareExchangeRepresentationOf(node->op())
|
| + .representation());
|
| + break;
|
| case IrOpcode::kStore:
|
| case IrOpcode::kProtectedStore:
|
| representation_vector_[node->id()] = PromoteRepresentation(
|
| @@ -460,6 +465,24 @@ class MachineRepresentationChecker {
|
| node, 2, inferrer_->GetRepresentation(node));
|
| }
|
| break;
|
| + case IrOpcode::kAtomicCompareExchange:
|
| + CheckValueInputIsTaggedOrPointer(node, 0);
|
| + CheckValueInputRepresentationIs(
|
| + node, 1, MachineType::PointerRepresentation());
|
| + switch (inferrer_->GetRepresentation(node)) {
|
| + case MachineRepresentation::kTagged:
|
| + case MachineRepresentation::kTaggedPointer:
|
| + case MachineRepresentation::kTaggedSigned:
|
| + CheckValueInputIsTagged(node, 2);
|
| + CheckValueInputIsTagged(node, 3);
|
| + break;
|
| + default:
|
| + CheckValueInputRepresentationIs(
|
| + node, 2, inferrer_->GetRepresentation(node));
|
| + CheckValueInputRepresentationIs(
|
| + node, 3, inferrer_->GetRepresentation(node));
|
| + }
|
| + break;
|
| case IrOpcode::kPhi:
|
| switch (inferrer_->GetRepresentation(node)) {
|
| case MachineRepresentation::kTagged:
|
|
|