Index: runtime/vm/simulator_arm.cc |
=================================================================== |
--- runtime/vm/simulator_arm.cc (revision 38030) |
+++ runtime/vm/simulator_arm.cc (working copy) |
@@ -269,12 +269,13 @@ |
intptr_t token_pos = -1; |
const PcDescriptors& descriptors = |
PcDescriptors::Handle(code.pc_descriptors()); |
- for (intptr_t i = 0; i < descriptors.Length(); i++) { |
- if (descriptors.PC(i) == pc) { |
- token_pos = descriptors.TokenPos(i); |
- break; |
- } else if ((token_pos <= 0) && (descriptors.PC(i) > pc)) { |
- token_pos = descriptors.TokenPos(i); |
+ PcDescriptors::Iterator iter(descriptors); |
+ while (iter.HasNext()) { |
+ const RawPcDescriptors::PcDescriptorRec& rec = iter.Next(); |
+ if (rec.pc == pc) { |
+ return rec.token_pos; |
+ } else if ((token_pos <= 0) && (rec.pc > pc)) { |
+ token_pos = rec.token_pos; |
} |
} |
return token_pos; |