-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Major refactoring of the caching mechanism.
0. Now each method gets a sequence of cahe entries (not just one), allowing to reuse the priorly cached information in more cases. 1. Hashes are used instead of integers in AST node access paths; access paths are made absolute with respect to the pregram that is being verified. (Access paths are needed for updating the positions of nodes after the sources are modified). 2. Hashes of non-Hashable AST nodes are cached to potentially optimize the performance. 3. Significantly improved logging for ViperCache (log level TRACE). 4. Added optional argument to Method's constructor that indicates that this method was cached. This enables potential backend-specific optimizations. 5. Only report non-cached errors in the overall verification report. This is a temporary hack for the IDE not to display duplicate verification errors when cachig is enabled. 6. Added --port as a command line argument for ViperServer, which is checked to be available. 7. Added convenience method toOneLinerStr for printing AST nodes without line breaks. 8. Removed ViperServerLogger.scala as ViperLogger is used instead. 9. Cosmetic changes, typo fixes, etc.
- Loading branch information
Showing
6 changed files
with
266 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.