Skip to content

Commit 4fcdbac

Browse files
committed
[Docs] Remove FrontendStatsTracer task from request-evaluator open projects.
1 parent 6924b55 commit 4fcdbac

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

docs/RequestEvaluator.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ The request-evaluator is relatively new to the Swift compiler, having been intro
6161
* Add API to the evaluator to add a specific (request, result) pair to the cache, and make it "stick" even if the cache is cleared. This API should be usable from places in the compiler that inject specific known state, such as when the Clang importer synthesizes ASTs.
6262
* Explore how best to cache data structures in the evaluator. For example, caching `std::vector<T>` or `std::string` implies that we'll make copies of the underlying data structure each time we access the data. Could we automatically intern the data into an allocation arena owned by the evaluator, and vend `ArrayRef<T>` and `StringRef` to clients instead?
6363
* Sometimes the compiler crashes or otherwise fails due to a cycle detected by the evaluator but (currently) not diagnosed. Add some logic to record cycles encountered during compilation, and if the compiler crashes (or otherwise fails), dump the cycles at the end of execution to help with debugging.
64-
* Automatically create appropriate [`FrontendStatsTracer`](https://github.com/apple/swift/blob/master/include/swift/Basic/Statistic.h) instances when evaluating requests that embed AST references to anything the stats-tracing logic can handle (`Decl*`, `ProtocolConformance*`, etc.). Try to do this automatically for `SimpleRequest` so specific requests don't need to opt in for it to work.
6564
* Cycle diagnostics are far too complicated and produce very poor results. Consider replacing the current `diagnoseCycle`/`noteCycleStep` scheme with a single method that produces summary information (e.g., a short summary string + source location information) and provides richer diagnostics from that string.
6665
* The `isCached()` check to determine whether a specific instance of a request is worth caching may be at the wrong level, because one generally has to duplicate effort (or worse, code!) to make the decision in `isCached()`. Consider whether the `evaluator()` function could return something special to say "produce this value without caching" vs. the normal "produce this value with caching".
6766
* Try to eliminate more boilerplate from subclasses of [`SimpleRequest`](https://github.com/apple/swift/blob/master/include/swift/AST/SimpleRequest.h). We are going to have a *lot* of requests.

0 commit comments

Comments
 (0)