| Index: runtime/vm/flow_graph_compiler_x64.cc
 | 
| ===================================================================
 | 
| --- runtime/vm/flow_graph_compiler_x64.cc	(revision 36576)
 | 
| +++ runtime/vm/flow_graph_compiler_x64.cc	(working copy)
 | 
| @@ -1550,11 +1550,11 @@
 | 
|    for (intptr_t i = 0; i < len; i++) {
 | 
|      const bool is_last_check = (i == (len - 1));
 | 
|      Label next_test;
 | 
| -    assembler()->cmpl(class_id_reg, Immediate(sorted[i].cid));
 | 
| +    __ cmpl(class_id_reg, Immediate(sorted[i].cid));
 | 
|      if (is_last_check) {
 | 
| -      assembler()->j(NOT_EQUAL, deopt);
 | 
| +      __ j(NOT_EQUAL, deopt);
 | 
|      } else {
 | 
| -      assembler()->j(NOT_EQUAL, &next_test);
 | 
| +      __ j(NOT_EQUAL, &next_test);
 | 
|      }
 | 
|      // Do not use the code from the function, but let the code be patched so
 | 
|      // that we can record the outgoing edges to other code.
 | 
| @@ -1567,70 +1567,14 @@
 | 
|      AddStaticCallTarget(function);
 | 
|      __ Drop(argument_count);
 | 
|      if (!is_last_check) {
 | 
| -      assembler()->jmp(&match_found);
 | 
| +      __ jmp(&match_found);
 | 
|      }
 | 
| -    assembler()->Bind(&next_test);
 | 
| +    __ Bind(&next_test);
 | 
|    }
 | 
| -  assembler()->Bind(&match_found);
 | 
| +  __ Bind(&match_found);
 | 
|  }
 | 
|  
 | 
|  
 | 
| -Address FlowGraphCompiler::ElementAddressForIntIndex(intptr_t cid,
 | 
| -                                                     intptr_t index_scale,
 | 
| -                                                     Register array,
 | 
| -                                                     intptr_t index) {
 | 
| -  const int64_t disp =
 | 
| -      static_cast<int64_t>(index) * index_scale + DataOffsetFor(cid);
 | 
| -  ASSERT(Utils::IsInt(32, disp));
 | 
| -  return FieldAddress(array, static_cast<int32_t>(disp));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -static ScaleFactor ToScaleFactor(intptr_t index_scale) {
 | 
| -  // Note that index is expected smi-tagged, (i.e, times 2) for all arrays with
 | 
| -  // index scale factor > 1. E.g., for Uint8Array and OneByteString the index is
 | 
| -  // expected to be untagged before accessing.
 | 
| -  ASSERT(kSmiTagShift == 1);
 | 
| -  switch (index_scale) {
 | 
| -    case 1: return TIMES_1;
 | 
| -    case 2: return TIMES_1;
 | 
| -    case 4: return TIMES_2;
 | 
| -    case 8: return TIMES_4;
 | 
| -    case 16: return TIMES_8;
 | 
| -    default:
 | 
| -      UNREACHABLE();
 | 
| -      return TIMES_1;
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -
 | 
| -Address FlowGraphCompiler::ElementAddressForRegIndex(intptr_t cid,
 | 
| -                                                     intptr_t index_scale,
 | 
| -                                                     Register array,
 | 
| -                                                     Register index) {
 | 
| -  return FieldAddress(array,
 | 
| -                      index,
 | 
| -                      ToScaleFactor(index_scale),
 | 
| -                      DataOffsetFor(cid));
 | 
| -}
 | 
| -
 | 
| -
 | 
| -Address FlowGraphCompiler::ExternalElementAddressForIntIndex(
 | 
| -    intptr_t index_scale,
 | 
| -    Register array,
 | 
| -    intptr_t index) {
 | 
| -  return Address(array, index * index_scale);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -Address FlowGraphCompiler::ExternalElementAddressForRegIndex(
 | 
| -    intptr_t index_scale,
 | 
| -    Register array,
 | 
| -    Register index) {
 | 
| -  return Address(array, index, ToScaleFactor(index_scale), 0);
 | 
| -}
 | 
| -
 | 
| -
 | 
|  #undef __
 | 
|  #define __ compiler_->assembler()->
 | 
|  
 | 
| 
 |