| Index: src/compiler/instruction-selector.cc
|
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
|
| index b06aceec5aa564f5046795bf68c04e4b7b82e34c..b7a08bf8ac780f5e7de5223ca29c3eef7f68197f 100644
|
| --- a/src/compiler/instruction-selector.cc
|
| +++ b/src/compiler/instruction-selector.cc
|
| @@ -839,7 +839,9 @@ void InstructionSelector::VisitBlock(BasicBlock* block) {
|
| if (node->opcode() == IrOpcode::kStore ||
|
| node->opcode() == IrOpcode::kUnalignedStore ||
|
| node->opcode() == IrOpcode::kCheckedStore ||
|
| - node->opcode() == IrOpcode::kCall) {
|
| + node->opcode() == IrOpcode::kCall ||
|
| + node->opcode() == IrOpcode::kProtectedLoad ||
|
| + node->opcode() == IrOpcode::kProtectedStore) {
|
| ++effect_level;
|
| }
|
| SetEffectLevel(node, effect_level);
|
| @@ -1433,8 +1435,11 @@ void InstructionSelector::VisitNode(Node* node) {
|
| }
|
| case IrOpcode::kAtomicStore:
|
| return VisitAtomicStore(node);
|
| - case IrOpcode::kProtectedLoad:
|
| + case IrOpcode::kProtectedLoad: {
|
| + LoadRepresentation type = LoadRepresentationOf(node->op());
|
| + MarkAsRepresentation(type.representation(), node);
|
| return VisitProtectedLoad(node);
|
| + }
|
| case IrOpcode::kUnsafePointerAdd:
|
| MarkAsRepresentation(MachineType::PointerRepresentation(), node);
|
| return VisitUnsafePointerAdd(node);
|
|
|