[4.1][AST] Retrive EndLine after StartLineAndColumn for SingleRawComment #14735
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick of #14733 to swift-4.1-branch
Explanation:
llvm::SourceMgr
caches the position and the line number of the last query. For subsequent queries, It usually scans from that position. However, if the query is for a position ahead of the last query, it re-scan from the top of the whole buffer. This significantly slows down the performance.This change reorder the queries to
llvm::SourceMgr
so that they aligns the order of appearance in the source file. This change effectively mitigate performance regression introduced in #11264 without functional changes.Scope: SourceKit and ASTSerialization. Changes are localized in
SingleRawComment
class, no interface change.Radar/SR: rdar://problem/37570893
Risk: Low. No API change. This change is just for utilizing cache functionality of
llvm::SourceMgr
Testing: Passes all tests.
Reviewer: @akyrtzi @benlangmuir