| Index: runtime/vm/intermediate_language_dbc.cc
 | 
| diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc
 | 
| index 4af998e6a78edb5d9df89bc7aea2ed1ca7584bb1..0e1afc637a52de73e7ebfecb5d0475cae0c60142 100644
 | 
| --- a/runtime/vm/intermediate_language_dbc.cc
 | 
| +++ b/runtime/vm/intermediate_language_dbc.cc
 | 
| @@ -108,7 +108,6 @@ DECLARE_FLAG(int, optimization_counter_threshold);
 | 
|    M(UnboxInteger32)                                                            \
 | 
|    M(CheckedSmiOp)                                                              \
 | 
|    M(CheckArrayBound)                                                           \
 | 
| -  M(CheckSmi)                                                                  \
 | 
|    M(CheckClassId)                                                              \
 | 
|    M(CheckClass)                                                                \
 | 
|    M(BinarySmiOp)                                                               \
 | 
| @@ -850,8 +849,12 @@ Representation LoadIndexedInstr::representation() const {
 | 
|  Representation StoreIndexedInstr::RequiredInputRepresentation(
 | 
|      intptr_t idx) const {
 | 
|    // Array can be a Dart object or a pointer to external data.
 | 
| -  if (idx == 0)  return kNoRepresentation;  // Flexible input representation.
 | 
| -  if (idx == 1) return kTagged;  // Index is a smi.
 | 
| +  if (idx == 0) {
 | 
| +    return kNoRepresentation;  // Flexible input representation.
 | 
| +  }
 | 
| +  if (idx == 1) {
 | 
| +    return kTagged;  // Index is a smi.
 | 
| +  }
 | 
|    ASSERT(idx == 2);
 | 
|    switch (class_id_) {
 | 
|      case kArrayCid:
 | 
| @@ -903,6 +906,13 @@ void Environment::DropArguments(intptr_t argc) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +EMIT_NATIVE_CODE(CheckSmi, 1) {
 | 
| +  __ CheckSmi(locs()->in(0).reg());
 | 
| +  compiler->EmitDeopt(deopt_id(),
 | 
| +                      ICData::kDeoptCheckSmi,
 | 
| +                      licm_hoisted_ ? ICData::kHoisted : 0);
 | 
| +}
 | 
| +
 | 
|  }  // namespace dart
 | 
|  
 | 
|  #endif  // defined TARGET_ARCH_DBC
 | 
| 
 |