9f65693f57
ExpressionCompiler currently translates offsets of scopes to line numbers during the binary search in the library in order to find the inner-most scope containing the line where debugger has stopped. This results in many offset-to-line translations per evaluation request, each translation also performing a binary search in Source.lineStarts table. To make scope lookup more efficient, this change uses Source.lineStarts table to find the offset for the debugger stop once, and uses integer offset comparisons instead in the scope binary search. Closes: https://github.com/dart-lang/sdk/issues/40281 Change-Id: I72052b144d15acef684a5f8d29b40f6c5774b723 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142461 Commit-Queue: Anna Gringauze <annagrin@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>