| Index: src/compiler/effect-control-linearizer.cc
 | 
| diff --git a/src/compiler/effect-control-linearizer.cc b/src/compiler/effect-control-linearizer.cc
 | 
| index 6a75e8cff234aa519a7f413e4befa7f1af09e597..546a45e4f8ea8f171692421f69ade61dcfdfb312 100644
 | 
| --- a/src/compiler/effect-control-linearizer.cc
 | 
| +++ b/src/compiler/effect-control-linearizer.cc
 | 
| @@ -641,6 +641,9 @@ bool EffectControlLinearizer::TryWireInStateEffect(Node* node,
 | 
|      case IrOpcode::kCheckReceiver:
 | 
|        result = LowerCheckReceiver(node, frame_state);
 | 
|        break;
 | 
| +    case IrOpcode::kCheckSymbol:
 | 
| +      result = LowerCheckSymbol(node, frame_state);
 | 
| +      break;
 | 
|      case IrOpcode::kCheckString:
 | 
|        result = LowerCheckString(node, frame_state);
 | 
|        break;
 | 
| @@ -1300,6 +1303,17 @@ Node* EffectControlLinearizer::LowerCheckReceiver(Node* node,
 | 
|    return value;
 | 
|  }
 | 
|  
 | 
| +Node* EffectControlLinearizer::LowerCheckSymbol(Node* node, Node* frame_state) {
 | 
| +  Node* value = node->InputAt(0);
 | 
| +
 | 
| +  Node* value_map = __ LoadField(AccessBuilder::ForMap(), value);
 | 
| +
 | 
| +  Node* check =
 | 
| +      __ WordEqual(value_map, __ HeapConstant(factory()->symbol_map()));
 | 
| +  __ DeoptimizeUnless(DeoptimizeReason::kNotASymbol, check, frame_state);
 | 
| +  return value;
 | 
| +}
 | 
| +
 | 
|  Node* EffectControlLinearizer::LowerCheckString(Node* node, Node* frame_state) {
 | 
|    Node* value = node->InputAt(0);
 | 
|  
 | 
| 
 |